Struts2笔记–Action访问Servlet API详解编程语言
Web应用中通常需要访问的Servlet API就是HttpServletRequest、HttpSession和ServletContext,这三个接口分别代表JSP内置对象中的request、session和application。
1.使用Struts2提供的ActionContext类来访问Servlet API。下面是ActionContext类中包含的几个常用方法。
Object get(Object key):该方法类似于调用HttpServletRequest的getAttribute(String name)方法。
Map getApplication():返回一个Map对象,该对象模拟了该应用的ServletContext实例。
static ActionContext getContext():静态方法,获取系统的ActionContext实例。
Map getParameters():获取所有的请求参数。类似于调用HttpServletRequest对象的getParameterMap()方法。
Map getSession():返回一个Map对象,该Map对象模拟了HttpSession实例。
void setApplication(Map application):直接传入一个Map实例,将该Map实例里的key-value对转换成application的属性名、属性值。
void setSession(Map session):直接传入一个Map实例,将该Map实例里的key-value对转换成session的属性名、属性值。
eg:
通过ActionContext设置application范围的属性
ActionContext ctx = ActionContext.getContext(); ctx.getApplication.put("name","aaa");
通过ActionContext设置request范围的属性
ctx.put("name","bbb");
2.虽然Struts2提供了ActionContext来访问Servlet API,但这种访问不是直接获得Servlet API的实例,为了直接在Action中访问Serlvet API,struts2提供了如下几个接口:
ServletContextAware:实现该接口的Action可以直接访问Web应用的ServletContext实例。
ServletRequestAware:实现该接口的Action可以直接访问用户请求的HttpServletRequest实例。
ServletResponseAware:实现该接口的Action可以直接访问服务器响应的HttpSerlvetResponse实例。
3.使用ServletActionContext访问Servlet API
为了能直接访问Servlet API,Struts2还提供了一个ServletActionContext工具类,这个类包含了如下几个静态方法。
static PageContext getPageContext():取得Web应用的PageContext的对象。
static HttpServletRequest getRequest():取得Web应用的HttpServletRequest对象。
static HttpServletResponse getResponse():取得Web应用的HttpServletResponse对象。
static ServletContext getServletContext():取得Web应用的ServletContext对象。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/16874.html
cjava相关文章
- Spring Framework 源码学习笔记(四)
- Hmily 临时笔记「建议收藏」
- Activity工作流引擎学习笔记(二)
- 转录组分析学习笔记(持续补充)
- 【JavaWeb】学习笔记——Servlet、Filter、Listenter
- 邮箱发送验证码和短信发送验证码的学习笔记
- Vue.js 学习笔记 - 虚拟列表(Virtual-Scroll-List)心得
- Linux笔记06
- Git 服务端软件 Gitea 的 Windows 版安装笔记
- WMI使用学习笔记
- Redis总结笔记(一):安装和常用命令
- docker学习笔记详解程序员
- Oracle知识整理笔记
- Servlet学习笔记详解编程语言
- Struts2笔记–文件上传详解编程语言
- Servlet笔记1详解编程语言
- Oracle数据库:从初学者到精通者的笔记(oracle数据库笔记)