/*
* 第三种方式:
* 不是获取map的request session application
* 这是与容器绑定servlet的方式,非Ioc的,需要在execute方法中初始化
* 这里关注一个类ServletActionContext
*/
//public class LoginAction extends ActionSupport {
// private String username;
//
// private String password;
//
// HttpServletRequest request;
// HttpSession session;
// ServletContext application;
//
// public String getUsername() {
// return username;
// }
//
// public void setUsername(String username) {
// this.username = username;
// }
//
// public String getPassword() {
// return password;
// }
//
// public void setPassword(String password) {
// this.password = password;
// }
//
// public String execute() {
// if (username.trim().equals("admin") && password.equals("1111")) {
//
// request = ServletActionContext.getRequest();
// session = request.getSession();
// application = ServletActionContext.getServletContext();
//
// request.setAttribute("req", "request属性");
// session.setAttribute("sess", "session属性");
// application.setAttribute("app", "application属性");
// return "success";
// } else {
// return "fail";
// }
// }
//}
/*
* 第四种方式:IOC
* 不是获取map的request session application
* 这是与容器绑定servlet的方式,Ioc的,不需要在execute方法中初始化
* 这里要实现两个接口ServletRequestAware,ServletContextAware
*/
public class LoginAction extends ActionSupport implements ServletRequestAware,ServletContextAware{
private String username;
private String password;
HttpServletRequest request;
HttpSession session;
ServletContext application;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String execute() {
if (username.trim().equals("admin") && password.equals("1111")) {
session = request.getSession();
request.setAttribute("req", "request属性");
session.setAttribute("sess", "session属性");
application.setAttribute("app", "application属性");
return "success";
} else {
return "fail";
}
}
public void setServletRequest(HttpServletRequest arg0) {
this.request = arg0;
}
public void setServletContext(ServletContext arg0) {
this.application = arg0;
}
}
前台:
<h1>""登陆成功</h1>
普通属性接收:
username:<s:property value="username" /><br>
password:<s:property value="password" /><br>
request属性接收:${requestScope.request.req}-----------<s:property value="#request.req"/><br>
session属性接收<s:property value="#session.sess"/><br>
application属性接收<s:property value="#application.app"/><br>
返回<a href="index.action">主页</a>
<!--EndFragment-->