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属性变为json(struts-json-plugin包中的struts-plugin.xml)