【SSH学习笔记】整合spring3-struts2的小项目(三)

来源:互联网 发布:淘宝网纯棉四件套 编辑:程序博客网 时间:2024/05/20 15:37
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多错误而崩溃

原创粉丝点击