Struts2获取Servlet API中的一些对象
1.非IoC方式
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
HttpSession session = ServletActionContext.getRequest().getSession();
HttpSession session = (HttpSession) ActionContext.getContext().get(
ServletActionContext.SESSION);
Map map = (Map) ActionContext.getContext().getSession();
2.IoC方式
使用SessionAware、ServletRequestAware、ServletResponseAware接口。
package com.action;
import java.util.Map;
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 com.opensymphony.xwork2.ActionSupport;
import com.pojo.User;
public class LoginAction2 extends ActionSupport implements SessionAware,
ServletRequestAware, ServletResponseAware {
HttpServletRequest request;
HttpServletResponse response;
Map session;
public void setSession(Map session) {
this.session =session;
}
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
public void setServletResponse(HttpServletResponse response) {
this.response = response;
}
public String execute() throws Exception {
return SUCCESS;
}
}