数据提交的html文件涵盖jquery框架对AJAX支持的,因此需要了解利用此框架提交AJAX请求和后端进行数据交互。
基本的提交AJAX请求格式,有get和post方式:
$.ajax采用参数集的方式 {param1,param2,param3} 不同的参数之间用,隔开
第一个参数 url:(统一资源定位符)——page 表示访问的是page页面
第二个参数 data:(数据) 格式——{name:value} 表示提交的参数
第三个参数 success:成功响应—— function(){} 表示服务器成功返回后对应的响应函数
Get方式:
$.get 使用3个参数
第一个参数: page 访问的页面
第二个参数: {name(这个name是一个标签 用于servlet里的参数获取 自定义其他也可):value} 提交的数据
第三个参数: function(){} 响应函数
只有第一个参数是必须的,其他参数都是可选
Post方式上同。
<from>
<input type="button" value="提交" id="sender">
</from>
<div id="messageDiv"></div>
<script>
$('#sender').click(function (){
name=document.getElementById('name').value;
hp=document.getElementById('hp').value;
hero={"name":name,"hp":hp};
url="sunmitServlet";
$.post(
url,//在上面已经定义了网络地址的字符串,根据提交AJAX请求格式可知。 sunmitServlet是一个servlet之后会在web.xml文件里增加对于这个servlet的映射路径
{"data":JSON.stringify(hero)},
function(data){
alert("提交成功,请在tomcat控制台查看服务端收到的数据");
});
})
</script>
点击提交之后,把form中的数据取出来,组织成json的格式,用ajax发送出去。
这里用的ajax方式是 jquery的post函数,上述使用的是post方式提交AJAX请求,之后会弹出对话框
之后建立submitServlet类
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONObject;
public class SubmitServlet extends HttpServlet {
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String data =request.getParameter("data");
System.out.println("服务端接收到的数据是:" +data);
JSONObject json=JSONObject.fromObject(data);
System.out.println("转换为JSON对象之后是:"+ json);
Hero hero = (Hero)JSONObject.toBean(json,Hero.class);
System.out.println("转换为Hero对象之后是:"+hero);
}
}
配置web.xml
即可