准备条件:
1. 建WEB工程:ssh2
2. 建数据库ssh2,表user
3. 导入struts2,hibernate,spring包,注意包冲突,另导入commons-dbcp.jar, commons-pool.jar数据库连接池包
具体步骤如下:
1. 实体类
1.1 User.java
Java代码
- package
com.ssh2.bean; -
- public
class User { -
-
private int id; -
private String firstname; -
private String lastname; -
private int age; -
-
public int getId() { -
return id; -
} -
public void setId(int id) { -
this.id = id; -
} -
public String getFirstname() { -
return firstname; -
} -
public void setFirstname(String firstname) { -
this.firstname = firstname; -
} -
public String getLastname() { -
return lastname; -
} -
public void setLastname(String lastname) { -
this.lastname = lastname; -
} -
public int getAge() { -
return age; -
} -
public void setAge(int age) { -
this.age = age; -
} -
- }
2. 数据库层
2.1 UserDAO.java
Java代码
- package
com.ssh2.dao; -
- import
java.util.List; -
- import
com.ssh2.bean.User; -
- public
interface UserDAO { -
public void saveUser(User user); -
public void updateUser(User user); -
public void deleteUser(User user); -
public List getAllUsers(); -
public User getUser(Integer id); - }
2.2 UserDAOImpl.java
Java代码
- package
com.ssh2.dao.impl; -
- import
java.util.List; -
- import
org.springframework.orm.hibernate3.support.HibernateDaoSupport; -
- import
com.ssh2.bean.User; - import
com.ssh2.dao.UserDAO; -
- public
class UserDAOImpl extends HibernateDaoSupport implements UserDAO { -
-
public void saveUser(User user) { -
this.getHibernateTemplate().save(user); -
} -
-
@SuppressWarnings("unchecked") -
public List getAllUsers() { -
List users=(List)this.getHibernateTemplate().find("from User"); -
return users; -
} -
-
public User getUser(Integer id) { -
return (User)this.getHibernateTemplate().get(User.class, id); -
} -
-
public void updateUser(User user) { -
this.getHibernateTemplate().saveOrUpdate(user); -
} -
-
public void deleteUser(User user) { -
this.getHibernateTemplate().delete(user); -
} - }
3. 业务逻辑层
3.1 UserService.java
Java代码
- package
com.ssh2.service; -
- import
java.util.List; -
- import
com.ssh2.bean.User; -
- public
interface UserService { -
public void addUser(User user); -
public void updateUser(User user); -
public void deleteUser(User user); -
public List getAllUsers(); -
public User getUser(Integer id); - }
3.2 UserServiceImpl.java
Java代码
- package
com.ssh2.service.impl; -
- import
java.util.List; -
- import
com.ssh2.bean.User; - import
com.ssh2.dao.UserDAO; - import
com.ssh2.service.UserService; -
- public
class UserServiceImpl implements UserService { -
-
private UserDAO userDAO; -
-
public void setUserDAO(UserDAO userDAO) { -
this.userDAO = userDAO; -
} -
-
public void addUser(User user) { -
userDAO.saveUser(user); -
} -
-
public List getAllUsers() { -
return userDAO.getAllUsers(); -
} -
-
public User getUser(Integer id) { -
return userDAO.getUser(id); -
} -
-
public void updateUser(User user) { -
userDAO.updateUser(user); -
} -
-
public void deleteUser(User user) { -
userDAO.deleteUser(user); -
} - }
4. 表示层
4.1
Java代码
- package
com.ssh2.action.user; -
- import
com.opensymphony.xwork2.ActionSupport; - import
com.ssh2.bean.User; - import
com.ssh2.service.UserService; -
- @SuppressWarnings("serial")
- public
class AddUserAction extends ActionSupport { -
-
private User user; -
private UserService userService; -
-
public User getUser() { -
return user; -
} -
-
public void setUser(User user) { -
this.user = user; -
} -
-
public void setUserService(UserService userService) { -
this.userService = userService; -
} -
-
@Override -
public String execute() throws Exception { -
userService.addUser(user); -
return SUCCESS; -
} - }
4.2 DeleteUserAction.java
Java代码
- package
com.ssh2.action.user; -
- import
com.opensymphony.xwork2.ActionSupport; - import
com.ssh2.bean.User; - import
com.ssh2.service.UserService; -
- @SuppressWarnings("serial")
- public
class DeleteUserAction extends ActionSupport { -
private User user; -
private UserService userService; -
-
public User getUser() { -
return user; -
} -
public void setUser(User user) { -
this.user = user; -
} -
public void setUserService(UserService userService) { -
this.userService = userService; -
} -
-
@Override -
public String execute() throws Exception { -
userService.deleteUser(user); -
return SUCCESS; -
} - }
4.3 ListUserAction.java
Java代码
- package
com.ssh2.action.user; -
- import
java.util.List; - import
java.util.Map; -
- import
com.opensymphony.xwork2.ActionContext; - import
com.opensymphony.xwork2.ActionSupport; - import
com.ssh2.bean.User; - import
com.ssh2.service.UserService; -
- @SuppressWarnings("serial")
- public
class ListUserAction extends ActionSupport { -
-
private UserService userService; -
-
public void setUserService(UserService userService) { -
this.userService = userService; -
} -
-
@Override -
@SuppressWarnings("unchecked") -
public String execute() throws Exception { -
List users=userService.getAllUsers(); -
Map request=(Map)ActionContext.getContext().get("request"); -
request.put("users", users); -
return SUCCESS; -
} - }
4.4 UpdateAction.java
Java代码
- package
com.ssh2.action.user; -
- import
com.opensymphony.xwork2.ActionSupport; - import
com.ssh2.bean.User; - import
com.ssh2.service.UserService; -
- @SuppressWarnings("serial")
- public
class UpdateAction extends ActionSupport { -
private User user; -
private UserService userService; -
-
public User getUser() { -
return user; -
} -
public void setUser(User user) { -
this.user = user; -
} -
public void setUserService(UserService userService) { -
this.userService = userService; -
} -
-
@Override -
public String execute() throws Exception { -
userService.updateUser(user); -
return SUCCESS; -
} - }
4.5 UpdatePAction.java
Java代码
- package
com.ssh2.action.user; -
- import
java.util.Map; -
- import
com.opensymphony.xwork2.ActionContext; - import
com.opensymphony.xwork2.ActionSupport; - import
com.ssh2.bean.User; - import
com.ssh2.service.UserService; -
- public
class UpdatePAction extends ActionSupport { -
private User user; -
private UserService userService; -
-
public void setUser(User user) { -
this.user = user; -
} -
-
public User getUser() { -
return user; -
} -
-
public void setUserService(UserService userService) { -
this.userService = userService; -
} -
-
@Override -
public String execute() throws Exception { -
Map map=(Map)ActionContext.getContext().get("request"); -
map.put("user", this.userService.getUser(user.getId())); -
return SUCCESS; -
} - }
5. 配置文件
5.1 struts.xml
Java代码