【SSH学习笔记】整合spring3-struts2的小项目(三)
2013-08-21 00:55
465 查看
5、创建IUserService接口及其实现类
import java.util.List; public interface IUserService { List<User> findAll(); boolean isUser(String username, String password); boolean add(User user); boolean del(int userid); boolean update(User user); User getUserById(int userid); }
import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Service; @Service("userService") public class UserService implements IUserService { private IUserDao userDao; @Resource(name="userDao") public void setUserDao(IUserDao userDao) { this.userDao = userDao; } public List<User> findAll() { List<User> list=this.userDao.findAll(); if(list!=null) return list; return null; } public boolean isUser(String username, String password) { User user = userDao.isUser(username); if(user!=null){ if(user.getPassword().equals(password)){ return true; } } return false; } public boolean add(User user) { if(userDao.add(user)>0){ return true; } return false; } public boolean del(int userid) { if(userDao.del(userid)>0){ return true; } return false; } public boolean update(User user) { if(userDao.update(user)>0){ return true; } return false; } public User getUserById(int userid) { User user = this.userDao.getUserById(userid); if(user!=null) return user; return null; } }
6、创建LoginAction及其需要的方法
import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Controller; import com.opensymphony.xwork2.ActionSupport; @Controller("loginAction") public class LoginAction extends ActionSupport { private static final long serialVersionUID = -7591979515601833682L; private int id; private String password; private User user; private int userid; private String username; private List<User> users; private IUserService userService; /*======== 登录 ========*/ public String login() throws Exception { this.clearErrorsAndMessages(); if (userService.isUser(username, password)) { this.users = userService.findAll(); return "success"; } else { this.addActionMessage("ERROR!!!!!!!!!!"); return "error"; } } /*======== 添加 ========*/ public String add() throws Exception { this.clearErrorsAndMessages(); if (user != null) { user.setFlag(0); } if (userService.add(user)) { this.addActionMessage("添加成功!"); this.users = userService.findAll(); return SUCCESS; } else { this.addActionMessage("添加失败!"); return ERROR; } } /*======== 删除 ========*/ public String del() throws Exception { this.clearErrorsAndMessages(); if (userService.del(userid)) { this.addActionMessage("删除成功!"); this.users = userService.findAll(); return SUCCESS; } else { this.addActionMessage("删除失败!"); return ERROR; } } /*======== 选择要更新的用户信息 ========*/ public String choose() throws Exception { this.clearErrorsAndMessages(); System.out.println(this.id); this.user = userService.getUserById(this.id); if (this.user != null) { return SUCCESS; } return ERROR; } /*======== 更新 ========*/ public String update() throws Exception { this.clearErrorsAndMessages(); this.user.setUserid(id); if (userService.update(user)) { this.addActionMessage("更新成功!"); this.id = 0; this.users = userService.findAll(); return SUCCESS; } else { this.addActionMessage("更新失败!"); return ERROR; } } /*======== GET & SET ========*/ public int getId() { return id; } public String getPassword() { return password; } public User getUser() { return user; } public int getUserid() { return userid; } public String getUsername() { return username; } public List<User> getUsers() { return users; } public IUserService getUserService() { return userService; } public void setId(int id) { this.id = id; } public void setPassword(String password) { this.password = password; } public void setUser(User user) { this.user = user; } public void setUserid(int userid) { this.userid = userid; } public void setUsername(String username) { this.username = username; } public void setUsers(List<User> users) { this.users = users; } /*======== 声明注入 ========*/ @Resource(name = "userService") public void setUserService(IUserService userService) { this.userService = userService; } }
7、导入struts2的JAR包,创建struts.xml配置文件并配置
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <constant name="struts.objectFactory" value="spring" /> <include file="struts-default.xml"></include> <package name="login" namespace="/" extends="struts-default"> <!-- 登录 --> <action name="login" class="loginAction" method="login"> <result name="success">/success.jsp</result> <result name="error">/login.jsp</result> </action> <!-- 添加 --> <action name="add" class="loginAction" method="add"> <result name="success">/success.jsp</result> <result name="error">/add.jsp</result> </action> <!-- 删除 --> <action name="del" class="loginAction" method="del"> <result name="success">/success.jsp</result> <result name="error">/success.jsp</result> </action> <!-- 更新 --> <action name="update" class="loginAction" method="update"> <result name="success">/success.jsp</result> <result name="error">/success.jsp</result> </action> <!-- 选择 --> <action name="choose" class="loginAction" method="choose"> <result name="success">/success.jsp</result> <result name="error">/success.jsp</result> </action> </package> </struts>
8、配置web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <context-param> <!-- 当前的上下文中寻找 --> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/classes/applicationContext.xml</param-value> </context-param> <!-- 配置spring监听器 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <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> </web-app>
9、创建页面
1、login.jsp
<%@ taglib prefix="s" uri="/struts-tags" %> <form action="login.action" method="post"> 用户:<input type="text" name="username"/><br/> 密码:<input type="password" name="password"/><br/> <input type="submit" value="提交"/><input type="reset" value="重置"/> <s:actionmessage/> </form>
2、success.jsp
<%@ taglib prefix="s" uri="/struts-tags" %> <%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script> <script type="text/javascript"> $(function(){ if(${id==0}){ $("#div02").hide(); } $("#div01").hide(); $("input[name='btnAdd']").bind("click", function(){ $("#div01").slideDown("normal"); }); $("s:submit[name='addbtn']").bind("click", function(){ $("#div01").slideUp("normal"); }); $("a[name='updatebtn']").bind("click",function(){ $("#div02").slideDown("nomal"); }); $("s:submit[name='btnUpdate']").bind("click", function(){ $("#div01").slideUp("normal"); }); }) </script>
<body> <form id="form0" action="del" method="post"> <table border="1"> <tr> <td>编号</td> <td>姓名</td> <td>生日</td> <td>操作</td> </tr> <s:iterator value="users" var="u"> <tr> <td>${u.userid}</td> <td><a name="updatebtn" href="javascript:if(confirm('确认修改?')) location='choose?id=${u.userid }'">${u.username}</a></td> <td>${u.birthday}</td> <td><a href="javascript:if(confirm('确认删除?')) location='del?userid=${u.userid }'">删除</a></td> </tr> </s:iterator> </table> <s:actionmessage/> </form> <input type="button" name="btnAdd" value="添加用户"/> <sx:head/> <s:div id="div01"> <s:form id="form1" action="add" method="post"> 添加用户 <s:textfield name="user.userid" label="用户编号"></s:textfield> <s:textfield name="user.username" label="用户姓名"></s:textfield> <s:textfield name="user.password" label="用户密码"></s:textfield> <sx:datetimepicker name="user.birthday" label="出生日期" value="today" displayFormat="yyyy-MM-dd"/> <s:submit name="addbtn" value="添加用户"></s:submit> </s:form> </s:div> <div id="div02"> <s:form id="form2" action="" method="post"> 更新用户 <s:property value="user.userid"/> <s:textfield name="user.username" label="用户姓名"></s:textfield> <s:textfield name="user.password" label="用户密码"></s:textfield> <sx:datetimepicker name="user.birthday" label="出生日期" value="today" displayFormat="yyyy-MM-dd"/> <s:submit name="btnUpdate" action="update" value="更新用户"></s:submit> </s:form> </div> </body>
*10、创建测试类
【经验】随写随测,写一个方法就进行一次测试,这样不止能减少出错,而且不会在运行时因为报N多错误而崩溃
相关文章推荐
- 【SSH学习笔记】整合spring3-struts2的小项目(四)
- 【SSH学习笔记】整合spring3-struts2的小项目(一)
- 【SSH学习笔记】整合spring3-struts2的小项目(二)
- 【SSH学习笔记】整合spring3-hibernate的小项目(一)
- 【SSH学习笔记】整合spring3-hibernate的小项目(二)
- Spring整合Struts2 wel.xml中写spring核心配置文件路径问题,顺便总结下我学习SSH整合的过程
- SSH整合学习笔记之spring与hibernate简单整合.doc
- 【SSH网上商城项目实战01】整合Struts2、Hibernate4.3和Spring4.2
- 【SSH网上商城项目实战01】整合Struts2、Hibernate4.3和Spring4.2
- 学习笔记-----------------struts2 hibernate3 spring2.5整合
- 【SSH】Struts2(2.5.14)、Spring(5.0.3)、Hibernate(5.2.13)三大框架的整合项目入门示例
- 【SSH网上商城项目实战01】整合Struts2、Hibernate4.3和Spring4.2(转载)
- SSH学习笔记之关于struts-spring-hibernate整合配置问
- Spring4笔记12--SSH整合3--Spring与Struts2整合
- Spring4学习笔记-Spring4整合Struts2(基于配置文件的方式)
- struts2学习笔记之spring整合
- 【ssh学习笔记】struts2的action与Spring
- Spring学习笔记四 整合SSH
- springMVC学习笔记,SpringMV与web项目的整合(注解方式)
- SSH学习笔记---struts2 spring集成时action的class的值