【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多错误而崩溃
- 【SSH学习笔记】整合spring3-struts2的小项目(三)
- 【SSH学习笔记】整合spring3-struts2的小项目(一)
- 【SSH学习笔记】整合spring3-struts2的小项目(二)
- 【SSH学习笔记】整合spring3-struts2的小项目(四)
- 【SSH学习笔记】整合spring3-hibernate的小项目(一)
- 【SSH学习笔记】整合spring3-hibernate的小项目(二)
- 使用Maven实现Struts2+Hibernate4+Spring3整合SSH框架(三):将项目上传Github
- JavaWeb开发之SSH框架整合——Struts2+Spring3+Hibernate3三大框架的整合
- Struts2.3.7+Spring3.0.0+Hibernate4.0.0 整合(三)SSH 整合
- SSH-spring3.2与struts2.0整合小例
- SSH整合(三)- Spring整合Struts2
- 基于Annotation的SSH整合例子 Struts2 Spring3 Hibernate3
- SSH整合(struts2.2.1 + spring3.0 + hibernate3.3)
- SSH整合(struts2.2.1 + spring3.0 + hibernate3.3)
- struts2学习笔记9--SSH整合
- Struts2,Spring,Hibernate三大框架的整合(SSH)
- SSH快速整合 struts2、Spring3、Hibernate3
- SSH 整合例子 Struts2 Spring3 Hibernate3
- 主键生成策略
- 高德地图api之编码(Geocoder)
- java_泛型,设置类型通配符的上限
- 高斯过程
- ExtJS的面板的布局
- 【SSH学习笔记】整合spring3-struts2的小项目(三)
- Linux平台静态接库与动态链接库的创建和使用
- 写给那些外表坚强的人
- 嵌入式Linux实战篇--交叉编译环境的建立(基于ubuntu 8.10)
- 如何生成一个集成库并且实现对库的管理
- 小提醒Linux用户非常热衷的嵌入式系统
- 嵌入式系统及如何开发自己的嵌入式系统
- 其实,成功离我们并不远!
- Eclipse 平台进行 C/C++ 开发