您的位置:首页 > 编程语言 > Java开发

【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多错误而崩溃
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Spring Struts java web java ssh