前台后台数据交互之Servlet & XMLHttpRequest(GET篇)
来源:互联网 发布:linux 查找隐藏文件 编辑:程序博客网 时间:2024/06/15 23:58
前台HTML页面使用XMLHttpRequest可以向后台发送和接受信息。后台通过Servlet来接受并处理前台传递过来的信息。
1、HTML页面获取XMLHttpRequest对象
var xmlHttp;function createXMLHttp() { //创建ajax核心对象 if (window.XMLHttpRequest) { //判断当前使用浏览器的类型 xmlHttp = new XMLHttpRequest(); //所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均内建 XMLHttpRequest 对象。 } else { xmlHttp = new ActiveXObject("MicroSoft.XMLHTTP"); //老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 对象 }}
由于定义的XMLHttpRequest为全局变量xmlHttp,因此每次使用只要调用上面的createXMLHttp()方法即可。
2、XMLHttpRequest包含主要的属性和方法
- open方法
- send方法
- readyState相关属性和方法
- status相关属性
2.1 open方法包括
open(method, url)方法
open(method, url, async)方法
open(method, url, async, user)方法
open(method, url, async, user, password)方法method:通常为“GET”或“POST”,
url:为定义的链接地址,这里要和后台代码中web.xml定义的Servlet-mapping标签下的url-pattern一致。要注意的是url-pattern中的内容前要加一个“/”以保证从当前项目中运行,否则就会在localhost根目录下运行。
async:为true表示“异步”,false表示“同步”。且默认为异步。
user | password:表示所携带的参数。当method为“GET”时,url中可以直接携带参数
var url = “login”;//此时不携带参数
var url = “login?user=”+userName+”&pass”+password;
其中userName和password两个属性值是从前台输入框中获取,而user和pass两个属性用于后台获取数据。
2.2 send方法包括
send();方法
send(data);方法
send()表示什么也不发送,send(data)表示发送data数据块到后台,由于“GET”方法已经将信息包含在url中,因此send方法通常用于“POST”方法中。
2.3 readyState相关属性和方法
readyState属性
onReadyStateChange()方法
readyState的状态值
onReadyStateChange()方法:
当readyState发生变化时获取。通常只考虑readyState=4的情况,表示数据传送完成。
2.4 status相关属性和方法
status属性
statusText属性
status的状态值
statusText属性:
获取response状态的所有信息。
3、Servlet
- web.xml
public class ServletImpl extends HttpServlet类
3.1 web.xml中Servlet的部署
<servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>com.action.imp.ServletImpl</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping>
3.2 public class ServletImpl extends HttpServlet类
此类中重写两个方法doGet和doPost,刚好对应XMLHttpRequest中的“GET”和“POST”方法。
这里以doGet为例子
@Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("处理GET请求..."); request.setCharacterEncoding("utf-8"); String name = request.getParameter("user"); String password = request.getParameter("pass"); System.out.println("用户名:"+name+" 密码:"+password); }
- 前台后台数据交互之Servlet & XMLHttpRequest(GET篇)
- 前台后台数据交互之Servlet & XMLHttpRequest(POST篇)
- 前台 jsp 与 后台 servlet 的数据交互问题
- 前台与后台数据交互
- 前台html+ajax 后台 servlet交互
- js前台与后台数据交互-后台调前台(后台调用、注册客户端脚本)
- js前台与后台数据交互-前台调后台
- js前台与后台数据交互-前台调后台
- js前台与后台数据交互-前台调后台
- 解决 前台与后台数据交互问题
- 前台后台的的json数据交互
- 前台与后台数据交互问题
- ajax前台与后台的数据交互
- Struct2前台后台数据交互jquery+ajax
- 前台和后台的数据交互
- 20160526-前台数据与后台交互
- 前台android与后台Servlet交互---上传文件
- 前台android与后台Servlet交互---上传文件
- 算法训练 传球游戏
- RTCP协议介绍
- Android 语言环境设置Locale的设置
- 缓存那些事
- 正则表达式常见匹配案例
- 前台后台数据交互之Servlet & XMLHttpRequest(GET篇)
- 开源 java CMS
- L1-041. 寻找250
- ZOJ 3952 Fibonacci Sequence Chicken Edition
- 抛开table布局,我们也能实现单线边框
- BZOJ 2002: [Hnoi2010]Bounce 弹飞绵羊
- MyEclipse快捷键大全(绝对全)
- ajaxToolkit:AutoCompleteExtender 用法详解
- 【代码笔记】iOS-gif图片播放