1.在web.xml中
<filter>
<filter-name>struts2</filter-name>
<filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2.在loginUser.jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<center>
<form action="loginUser.action" method="get">
userName
<input name="user.username" type="text" />
<br>
passWord
<input name="user.pwd" type="password" />
<br>
<input type="submit" value="Submit" />
</form>
</center>
</body>
</html>
3.在zx.struts2.day1.entity包中写User.java实体类
package zx.struts2.day1.entity;
public class User {
private String username;
private String pwd;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
4.在zx.struts2.day1.dao包中写UserDao接口定义方法
package zx.struts2.day1.dao;
import java.util.List;
import zx.struts2.day1.entity.User;
public interface UserDao {
public List<User> findAll();
}
5.在zx.struts2.day1.dao.impl包中写UserDao的实现类UserDaoImpl
package zx.struts2.day1.dao;
import java.util.ArrayList;
import java.util.List;
import zx.struts2.day1.entity.User;
public class UserDaoImpl implements UserDao {
@Override
public List<User> findAll() {
List<User> lists = new ArrayList<User>();
User u1 = new User();
u1.setUsername("haoren");
u1.setPwd("123");
User u2 = new User();
u2.setUsername("calm");
u2.setPwd("123");
User u3 = new User();
u3.setUsername("jerry");
u3.setPwd("123");
lists.add(u1);
lists.add(u2);
lists.add(u3);
return lists;
}
}
6.在LoginUserAction中extends ActionSupport
package zx.struts2.day1.action;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
import zx.struts2.day1.entity.User;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class LoginUserAction extends ActionSupport implements ServletRequestAware {
private User user;// User对象
public String execute() {
ActionContext ctx=ActionContext.getContext();
//向request对象中添加数据
ctx.put("name", "requestScope");
ctx.put("uname", user.getUsername());
//向Session对象中添加数据
ctx.getSession().put("name", "sessionScope");
//向ServletContext对象(application)中添加数据
ctx.getApplication().put("name","applicationScope");
System.out.println("name=="+user.getUsername()+" : "+"pwd==="+user.getPwd());
if ("haoren".equals(user.getUsername()) && "250".equals(user.getPwd())) {
return SUCCESS;
} else {
return "error";
}
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
@Override
public void setServletRequest(HttpServletRequest arg0) {
// TODO Auto-generated method stub
}
}
7.在struts.xml文件中
<struts>
<package name="day1Demo" namespace="/" extends="struts-default">
<action name="loginUser"
class="zx.struts2.day1.action.LoginUserAction">
<result name="success">/ok.jsp</result>
<result name="error">/err.jsp</result>
</action>
</package>
</struts>