struts2 servlet之间通信
Posted 下路派出所
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struts2 servlet之间通信相关的知识,希望对你有一定的参考价值。
Servlet之间通信的方式有两大类,每个类有三种不同的方法
1.request
2.session
3.application
不实现ServletContextAware,SessionAware,ServletRequestAware这三个接口的通信
HttpServletRequest request = ServletActionContext.getRequest(); request.setAttribute("request_username", "username"); HttpServletResponse response = ServletActionContext.getResponse(); //这个是Servlet的session // HttpSession session = request.getSession(); // session.setAttribute("session_username", "username");
ServletContext servletContext = ServletActionContext.getServletContext(); servletContext.setAttribute("application_username", "username");
实现ServletContextAware,SessionAware,ServletRequestAware这三个接口的通信
public class Servlet2Action extends ActionSupport implements ServletContextAware,SessionAware,ServletRequestAware { private HttpServletRequest request; private ServletContext servletContext; private Map<String,Object> sessionMap; /** * {}struts2包装以后的session,本质上是一个map [email protected] servlet中的application [email protected] struts2包装后的request */ public void setSession(Map<String, Object> arg0) { this.sessionMap=arg0; sessionMap. } public void setServletContext(ServletContext arg0) { this.servletContext=arg0; } public void setServletRequest(HttpServletRequest arg0) { this.request=arg0; } public String testServelet() { System.out.println(sessionMap.toString()); System.out.println(servletContext.toString()); System.out.println(request.toString()); return "servelet"; } }
在目标页面取出
request:${requestScope.request_username }<br> session:${sessionScope.session_username }<br> application:${applicationScope.application_username }<br>
以上是关于struts2 servlet之间通信的主要内容,如果未能解决你的问题,请参考以下文章
Struts2 与普通的java内通信 也就是所谓的 Action类 来获取servlet中request对象和response对象
Struts2 与普通的java内通信 也就是所谓的 Action类 来获取servlet中request对象和response对象