1.使用ServletActionContext获得servletApi第一种方式
public class HelloWorld05_Servlet_get_action extends ActionSupport {
/*
* 默认构造器
* */
public HelloWorld05_Servlet_get_action() {
System.out.println("开始工作");
}
public String helloLife() {
/*
* 获得servletApi的第一种方式
* */
// 获得page域对象获得不到(很少使用)
PageContext context = ServletActionContext.getPageContext();
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
HttpSession session = request.getSession();
ServletContext sc = ServletActionContext.getServletContext();
System.out.println(context);
System.out.println(request);
System.out.println(response);
System.out.println(session);
System.out.println(sc);
return super.SUCCESS;
}
}
2.通过实现接口的方式来获得servletApi
实现的接口:
rg.apache.struts2.interceptor.ServletRequestAware;
org.apache.struts2.interceptor.ServletResponseAware;
org.apache.struts2.util.ServletContextAware;
org.apache.struts2.interceptor.SessionAware;
public class HelloWorld05_Servlet_get_action extends ActionSupport implements ServletRequestAware, SessionAware, ServletResponseAware, ServletContextAware {
HttpServletRequest request;
HttpServletResponse response;
ServletContext sc ;
public String helloLife() {
System.out.println(request);
System.out.println(response);
return super.SUCCESS;
}
@Override
public void setServletRequest(HttpServletRequest httpServletRequest) {
this.request = httpServletRequest;
}
@Override
public void setServletResponse(HttpServletResponse httpServletResponse) {
this.response = response;
}
@Override
public void setServletContext(ServletContext servletContext) {
this.sc = servletContext;
}
@Override
public void setSession(Map<String, Object> map) {
}
}