J2EE开发各类资源下载清单, 史上最全IT资源,个人收藏总结!
方法一,通过ServletActionContext.类直接获取:
package edu.action;
import java.io.IOException;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.dispatcher.mapper.ActionMapping;
public class ServletObjectAction {
public String execute() throws IOException{
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
ServletContext application = ServletActionContext.getServletContext();
ActionMapping mapping = ServletActionContext.getActionMapping();
//这个时候需要自己处理request请求中的乱码问题
request.setCharacterEncoding("utf-8");
//response.getWriter().print("this is the message writed by ServletObjectAction.execute");
request.setAttribute("req","request作用域范围值");
request.getSession().setAttribute("sess", "session作用域范围值");
application.setAttribute("app","application作用域范围值");
return "showMessage";
}
}
方法二,实现指定接口,由struts框架运行时注入:(不推荐)
方法二,实现指定接口,由struts框架运行时注入:
public class HelloWorldAction implements ServletRequestAware, ServletResponseAware, ServletContextAware{
private HttpServletRequest request;
private ServletContext servletContext;
private HttpServletResponse response;
public void setServletRequest(HttpServletRequest req) {
this.request=req;
}
public void setServletResponse(HttpServletResponse res) {
this.response=res;
}
public void setServletContext(ServletContext ser) {
this.servletContext=ser;
}
}