JAVA中后台的Servlet程序怎么将结果返回给前台的页面?
前台用AJAX将json数据传入后台,同样,后台将数据封装在json串中可传入前台,
前台用ajax的回调函数响应:
示例:
前台脚本:
<script>
$(function(){
$("a").click(function(){
var url = this.href;
var args = {"time":new Date()};
$.getJSON(url,args,function(data){ //回调函数的参数data就是后台封装的json串
$("#bookName").text(data.bookName); //data.属性名 读json串中的内容
$("#totalMoney").text(data.totalMoney);
$("#totalBook").text(data.totalBook);
});
return false;
});
})
</script>
后台封装:在servlet类中代码:
//准备响应JSON对象:
StringBuilder result = new StringBuilder();
result.append("{").append("\"bookName\":\""+bookName+"\"").append(",").append("\"totalMoney\":"+sc.getTotalMonry()).append(",").append("\"totalBook\":"+sc.getTotalNumber()).append("}"); //构建json串
response.setContentType("text/javascript"); //声明类型防止乱码
response.getWriter().print(result.toString()); //响应JSON
当服务器端通过HTTP协议接收到客户请求后,会将其转化为HttpServletRequest对象传递给Servlet。
Servlet通过这些类理解客户的请求,并将其处理后的内容通过HttpServletResponse回复到服务器端。
Web容器进行整理后用HTTP协议向客户端传送响应。
当第一次调用Servlet 时,就会创建一个 Servelt 实例,这个实例会长期驻留内存中。
在Web.xml文件中的<Servlet></Servlet>之间添加如下代码:<loadon-startup>1</loadon-startup>,Servelt 容器启动时会自动装载这个Servlet,数字越小表示优先级别越高。
Servlet 类文件被更新后,会重新装载Servlet。
生命周期
Servlet实例的装载
Servlet 实例装载有以下三种方式: