struts2笔记之第七讲
struts2笔记之第七讲
导语:Struts2的Action访问Servlet API,有三种方式:上一节课中已经讲了第一方式。可以通过ActionContext访问Servlet API。
三种方式:
1.可以通过ActionContext访问Servlet API 此种方式没有侵入性(这个其实是间接把Session放到中间的map里)
2.可以通过实习装配接口,完成对Servlet API的访问
*ServletRequestAware取得HttpServletRequest对象
*ServletResponseAware取得HttpServletResponse对象
*ServletContextAware取得ServletContext对象(工具类)
3.可以通过ServletActionContext提供的静态方法取得Servlet API
*getPageContext();
*getRequest();
*getResponse();
*getServletContext();
下面折重讲第二中方式和第三种方式,第一种请参阅第一章节。
2.可以通过实习装配接口,完成对Servlet API的访问
例子:
LoginAction.java
package com.struts2;import javax.servlet.http.HttpServletRequest;import org.apache.struts2.ServletActionContext;import org.apache.struts2.interceptor.ServletRequestAware;import com.opensymphony.xwork2.Action;import com.opensymphony.xwork2.ActionContext;public class MustLoginAction implements Action { private HttpServletRequest request;@Overridepublic String execute() throws Exception {if(ServletActionContext.getRequest().getSession().getAttribute("user")==null){//重定向到登陆页面return LOGIN;}else{return SUCCESS;}}