SSH框架整合实现信息管理系统

视频讲解

优酷在线观看(普清、高清):http://www.youku.com/playlist_show/id_19348363.html

 

超清视频下载:http://www.verycd.com/topics/2955234

http://yun.baidu.com/s/1pJ57Ry7

 

项目结构

SSH框架整合实现信息管理系统

 

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>



    <!--Struts过滤转发器-->

    <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>



    <!--Spring环境加载监听器-->

    <listener>

        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

    </listener>



</web-app>

 

JSP页面

 

  • 登入页面(index.jsp

<%@ page pageEncoding="GBK"%>

<h1>管理员登录</h1>(测试账号密码都是admin)

<form action="UserAction_login" method="post">

    账号<input type="text" name="user.name"><br>

    密码<input type="password" name="user.pswd"><br>

    <input type="submit" value="登录">

</form> 

SSH框架整合实现信息管理系统

 

  • 列表页面(list.jsp

<%@taglib prefix="s" uri="/struts-tags" %>

<table border="1">

    <tr>

        <th>ID</th><th>name</th><th>pswd</th><th>update</th><th>delete</th>

    </tr>

    <s:iterator value="#request.list"> 

        <tr>

            <td><s:property value="id"/></td>  

            <td><s:a href="UserAction_detail?user.id=%{id}"><s:property value="name"/></s:a></td>  

            <td><s:property value="pswd"/></td>

            <td><s:a href="UserAction_toUpdate?user.id=%{id}">update</s:a></td>

            <td><s:a href="UserAction_delete?user.id=%{id}">delete</s:a></td>

        </tr>

    </s:iterator>

</table>

<a href="add.jsp">add</a>

SSH框架整合实现信息管理系统

 

  • 添加页面(add.jsp

<form action="UserAction_add" method="post">

    name<input name="user.name" type="text"><br>

    pswd<input name="user.pswd" type="password"><br>

    <input type="submit" value="add">

</form>

SSH框架整合实现信息管理系统

 

  • 详情页面(detail.jsp

<%@taglib prefix="s" uri="/struts-tags" %>

id: <s:property value="user.id"/><br/>

name: <s:property value="user.name"/><br/>

pswd: <s:property value="user.pswd"/>

SSH框架整合实现信息管理系统

 

  • 更新页面(update.jsp

<%@taglib prefix="s" uri="/struts-tags" %>

<form action="UserAction_update" method="post">

    <s:hidden name="user.id"></s:hidden>

    name: <input name="user.name" type="text" value="<s:property value="user.name"/>"><br>

    pswd: <input name="user.pswd" type="password"><br>

    <input type="submit" value="modify">

</form>

SSH框架整合实现信息管理系统

 

控制层(Action

 

  • Struts.xml配置Action

 

<?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.devMode" value="true" />

    <constant name="struts.i18n.encoding" value="GBK"></constant>

    <package name="user" extends="struts-default">

        <action name="UserAction_*" class="userAction" method="{1}">

        <!-- *匹配任意字符,{1}指第一个星号匹配到的字符 -->

            <!--重定向到UserAction执行list方法-->

            <result name="success" type="redirectAction">UserAction_list</result>

            <!--返回结果相应页面-->

            <result name="login">/index.jsp</result>

            <result name="list">/list.jsp</result>

            <result name="detail">/detail.jsp</result>

            <result name="update">/update.jsp</result>

        </action>

    </package>

</struts>

 

  • UserAction.java

 

 1 package com.lyltim.action;

 2 

 3 import javax.annotation.Resource;

 4 

 5 import org.apache.struts2.ServletActionContext;

 6 import org.springframework.stereotype.Controller;

 7 

 8 import com.lyltim.bean.User;

 9 import com.lyltim.service.IUserService;

10 import com.opensymphony.xwork2.ActionSupport;

11 

12 @Controller("userAction")

13 public class UserAction extends ActionSupport {

14 

15     private User user;

16 

17     //注入userService

18     @Resource

19     IUserService userService;

20 

21     public void setUserService(IUserService userService) {

22         this.userService = userService;

23     }

24     public User getUser() {

25         return user;

26     }

27     public void setUser(User user) {

28         this.user = user;

29     }

30 

31     public String login() {

32         if (userService.checkLogin(user))

33             return SUCCESS;

34         else

35             return LOGIN;

36     }

37 

38     public String list() {

39         ServletActionContext.getRequest().setAttribute("list", userService.list());

40         return "list";

41     }

42 

43     public String add() {

44         userService.add(user);

45         return SUCCESS;

46     }

47 

48     public String detail() {

49         user = userService.getUser(user.getId());

50         return "detail";

51     }

52 

53     //先获得要更新的用户的信息,显示到更新页面。

54     public String toUpdate() {

55         user = userService.getUser(user.getId());

56         return "update";

57     }

58 

59     //更新用户信息

60     public String update() {

61         userService.update(user);

62         return SUCCESS;

63     }

64 

65     public String delete() {

66         userService.delete(user.getId());

67         return SUCCESS;

68     }

69 

70 }

 

实体层(Bean

 

  • User.java

 

1 package com.lyltim.bean;

2 public class User {

3     private int id;

4     private String name, pswd;

5     //Getters and Setters...

6 }

 

  • User.hbm.xml 实体映射配置文件

 

<?xml version="1.0"?>

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

                                   "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping>

    <class name="com.lyltim.bean.User" table="user">

        <id column="id" name="id" type="int">

            <generator class="native" />

        </id>

        <property column="name" name="name" not-null="true" type="string" />

        <property column="pswd" name="pswd" not-null="true" type="string" />

    </class>

</hibernate-mapping>

 

业务逻辑层(Service

 

  • IUserService接口

 

 1 package com.lyltim.service;

 2 

 3 import java.util.List;

 4 import com.lyltim.bean.User;

 5 

 6 public interface IUserService {

 7     boolean checkLogin(User user); //登入验证

 8     void add(User user); //添加用户

 9     List<User> list(); //列出所有用户

10     User getUser(int id); //根据ID查找用户

11     void update(User user); //修改用户

12     void delete(int id); //删除用户

13 }

 

  • UserServiceImpl.java实现类

 

 1 package com.lyltim.service;

 2 

 3 import java.util.List;

 4 import javax.annotation.Resource;

 5 import org.springframework.stereotype.Service;

 6 

 7 import com.lyltim.bean.User;

 8 import com.lyltim.dao.IUserDAO;

 9 

10 @Service("userService")

11 public class UserServiceImpl implements IUserService {

12 

13     //注入userDAO

14     @Resource

15     private IUserDAO userDAO;

16 

17     public void setUserDAO(IUserDAO userDAO) {

18         this.userDAO = userDAO;

19     }

20 

21     //登入验证

22     public boolean checkLogin(User user) {

23         if ("admin".equals(user.getName()) && "admin".equals(user.getPswd())) 

24             return true;

25         else

26             return false;

27     }

28 

29     //添加用户

30     public void add(User user) {

31         userDAO.add(user);

32     }

33 

34     //列出所有用户

35     public List<User> list() {

36         return userDAO.list();

37     }

38 

39     //查询某个用户

40     public User getUser(int id) {

41         return userDAO.getUser(id);

42     }

43 

44     //修改某个用户的资料

45     public void update(User user) {

46         userDAO.update(user);

47     }

48 

49     //删除某个用户

50     public void delete(int id) {

51         userDAO.delete(id);

52     }

53 

54 }

 

数据持久层(DAO

  • IUserDAO接口

 1 package com.lyltim.dao;

 2 

 3 import java.util.List;

 4 import com.lyltim.bean.User;

 5 

 6 public interface IUserDAO {

 7     void add(User user);  //添加用户

 8     List<User> list(); //列出所有用户

 9     User getUser(int id); //根据ID查找用户

10     void update(User user); //修改用户

11     void delete(int id); //删除用户

12 }
  • UserDAOImpl.java实现类

 1 package com.lyltim.dao;

 2 

 3 import java.util.List;

 4 

 5 import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

 6 import org.springframework.stereotype.Repository;

 7 

 8 import com.lyltim.bean.User;

 9 

10 @Repository("userDAO")

11 public class UserDAOImpl extends HibernateDaoSupport implements IUserDAO {

12 

13     public void add(User user) {

14         getHibernateTemplate().save(user);

15     }

16 

17     public List<User> list() {

18         return getHibernateTemplate().find("from User");

19     }

20 

21     public User getUser(int id) {

22         return getHibernateTemplate().get(User.class, id);

23     }

24 

25     public void update(User user) {

26         getHibernateTemplate().update(user);

27     }

28 

29     public void delete(int id) {

30         getHibernateTemplate().delete(getHibernateTemplate().get(User.class, id));

31     }

32 }

 

Spring全局配置文件(applicationContext.xml

SSH框架整合实现信息管理系统

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

       xmlns:context="http://www.springframework.org/schema/context"

       xsi:schemaLocation="http://www.springframework.org/schema/beans 

                              http://www.springframework.org/schema/beans/spring-beans.xsd

                              http://www.springframework.org/schema/context

                              http://www.springframework.org/schema/context/spring-context-3.0.xsd">



    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">

        <property name="driverClassName" value="com.mysql.jdbc.Driver" />

        <property name="url" value="jdbc:mysql:///test" />

        <property name="username" value="root" />

        <property name="password" value="123" />

    </bean>



    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

        <property name="dataSource" ref="dataSource" />

        <property name="mappingResources">

            <list>

                <value>com/lyltim/bean/User.hbm.xml</value>

            </list>

        </property>

        <property name="hibernateProperties">

            <props>

                <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>

                <prop key="hibernate.hbm2ddl.auto">create-drop</prop>

                <prop key="hibernate.show_sql">true</prop>

            </props>

        </property>

    </bean>



    <bean id="userDAO" class="com.lyltim.dao.UserDAOImpl">

        <property name="sessionFactory" ref="sessionFactory" />

    </bean>



    <!--启用注解注入 -->

    <context:annotation-config />

    <!--启用组件扫描 -->

    <context:component-scan base-package="com.lyltim" />



</beans>

 

你可能感兴趣的:(ssh)