} } }

    SSH框架整合实现信息经管体系

    添加时间:2013-6-13 点击量:

    视频讲解






    项目布局



     


    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.StrutsPrepareAnduteFilter
    </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> 



     




    • 列表页面(list.jsp





    <%@taglib prefix=s uri=/struts-tags %>
    
    <table border=1>
    <tr>
    <th>ID</th><th>name</th><th>pswd</th><th></th><th></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}></s:a></td>
    <td><s:a href=UserAction_?user.id=%{id}></s:a></td>
    </tr>
    </s:iterator>
    </table>
    <a href=add.jsp>add</a>



     




    • 添加页面(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>



     




    • 详情页面(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/>



     




    • 更新页面(.jsp





    <%@taglib prefix=s uri=/struts-tags %>
    
    <form action=UserAction_ 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>



     


    把握层(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=>/.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 ;
    57 }
    58
    59 //更新用户信息
    60 public String () {
    61 userService.(user);
    62 return SUCCESS;
    63 }
    64
    65 public String () {
    66 userService.(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 (User user); //批改用户
    12 voidint 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 (User user) {
    46 userDAO.(user);
    47 }
    48
    49 //删除某个用户
    50 public voidint id) {
    51 userDAO.(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 (User user); //批改用户
    11 voidint 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( User);
    19 }
    20
    21 public User getUser(int id) {
    22 return getHibernateTemplate().get(User.class, id);
    23 }
    24
    25 public void (User user) {
    26 getHibernateTemplate().(user);
    27 }
    28
    29 public voidint id) {
    30 getHibernateTemplate().(getHibernateTemplate().get(User.class, id));
    31 }
    32 }


     


    Spring全局设备文件(applicationContext.xml




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


    分享到: