Struts2 通過和ServletAPI耦合的方式獲取WEB資源
阿新 • • 發佈:2018-12-11
第一種:ServletActionContext
package cn.com.action; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.apache.struts2.ServletActionContext; public class ServletActionContextTest { /*author:命運的信徒 * date:2018/12/10 * arm:耦合方式獲取web資源之ServletActionContext * */ public String execute(){ HttpServletRequest request=ServletActionContext.getRequest(); System.out.println(request); HttpSession session=request.getSession(); System.out.println(session); ServletContext context=ServletActionContext.getServletContext(); System.out.println(context); return "success"; } }
第二種:ServletXxxAware介面方式
package cn.com.action; import java.util.Map; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.interceptor.ServletRequestAware; import org.apache.struts2.interceptor.ServletResponseAware; import org.apache.struts2.interceptor.SessionAware; import org.apache.struts2.util.ServletContextAware; public class AwareTest implements ServletContextAware,ServletResponseAware,ServletRequestAware{ /*author:命運的信徒 * date:2018/12/10 * arm:耦合的方式獲取we資源之aware介面的方式 * */ private HttpServletRequest request; @Override public void setServletRequest(HttpServletRequest request) { this.request=request; } private HttpServletResponse response; @Override public void setServletResponse(HttpServletResponse response) { // TODO Auto-generated method stub this.response=response; } private ServletContext context; @Override public void setServletContext(ServletContext context) { // TODO Auto-generated method stub this.context=context; } public String execute(){ //打印出來 System.out.println(request); System.out.println(response); System.out.println(context); return "success"; } }
至於struts.xml以及頁面方面就省略了,和之前的解耦方式是一致的!