1. 与Servlet解耦非IOC方式,依赖容器ActionContext
public class LoginAction extends ActionSupport {
private String username;
ActionContext context;
Map<String, Object> request;
Map<String, Object> session;
Map<String, Object> application;
public String execute() throws Exception {
context = ActionContext.getContext();
request = (Map<String, Object>) context.get("request");
session = context.getSession();
application = context.getApplication();
request.put("request", "request属性");
session.put("session", "session属性");
application.put("application", "application属性");
return SUCCESS;
}
}
2. 与Servlet解耦非IOC方式,实现Aware接口(最常用)
public class Login2Action extends ActionSupport implements RequestAware, SessionAware, ApplicationAware {
private String username;
Map<String, Object> request;
Map<String, Object> session;
Map<String, Object> application;
public String execute() throws Exception {
request.put("request", "request属性");
session.put("session", "session属性");
application.put("application", "application属性");
return SUCCESS;
}
}
3. 与Servlet耦合的非IOC方式, 依赖容器ServletActionContext
public class Login3Action extends ActionSupport {
private String username;
HttpServletRequest request;
HttpSession session;
ServletContext application;
public String execute() throws Exception {
request = ServletActionContext.getRequest();
session = request.getSession();
application = ServletActionContext.getServletContext();
request.setAttribute("request", "request属性");
session.setAttribute("session", "session属性");
application.setAttribute("application", "application属性");
return SUCCESS;
}
}
4. 与Servlet耦合的IOC方式,实现Aware接口
public class Login4Action extends ActionSupport implements ServletRequestAware, ServletContextAware {
private String username;
HttpServletRequest request;
HttpSession session;
ServletContext application;
public String execute() throws Exception {
session = request.getSession();
request.setAttribute("request", "request属性");
session.setAttribute("session", "session属性");
application.setAttribute("application", "application属性");
return SUCCESS;
}
}