struts2接收ajax请求

1、 接收ajax请求

(1)使用原生的servlet Api

ActionContext在struts2中,我们把它叫做数据中心。

Request       原生对象       

Response    原生对象

Session        原生对象

ServletContext原生对象

Request       域         Map  struts2不建议使用,如果要用就用ActionContext对象。

Session        域       Map

ServletContext  Application 域    Map

Attr              域         Map

 

ActionContext生命周期:

       所有的servlet对象都存了,他的生命周期是随着其中最短的人而创建和销毁。也就是request对象。

       每次请求到来,ActionContext都会重新创建

所以他解决了线程安全问题。

使用servlet Api响应ajax请求:

1.首先要获得response对象(2种方法),然后回到原生态servlet响应中。

2. action中的返回值必须是NONE(如果设为NONE,哪么就不用在struts.xml中就不用书写result标签了)

(2)Stream

1.在Action类中创建一个Inputstream对象

2.给这个对象增加一个get方法

3.struts.xml中的result标签设置type=stream

4.Action最终可以将json字符串转化为inputStream流

(3)使用json插件

1.    导包


1.     建立一个Action

定义你想要返回的json字符串的键名

生成getset方法

然后在Action访问的方法当中为这个json键名的对象进行赋值。

2.     配置struts.xml文件

重新建package extends 继承不能写struts-default要写josn-default(在struts-json-plugin包中)

action不变

result name属性不变,type属性变为jsonstruts-json-plugin包中的struts-plugin.xml


猜你喜欢

转载自blog.csdn.net/IT_private/article/details/80903181