zoukankan      html  css  js  c++  java
  • 手动整合实现SSH项目开发01

    内容简介:本文主要介绍SSH项目开发的配置以及简单登录功能的实现。

    1. 新建一个Dynamic Web Project。

    2.导入需要 的Jar包,此项目是Struts、Hibernate、Spring三个框架的混合开发,因此需要用到的Jar包会比较多。

      在WebContent下面的WEB_INF下的lib中导入需要的38个jar包:

    antlr-2.7.7.jar
    c3p0-0.9.5.2.jar
    classmate-1.3.0.jar
    com.springsource.com.mchange.v2.c3p0-0.9.1.2.jar
    com.springsource.org.aopalliance-1.0.0.jar
    com.springsource.org.apache.commons.dbcp-1.2.2.osgi.jar
    com.springsource.org.apache.commons.logging-1.1.1.jar
    com.springsource.org.apache.commons.pool-1.5.3.jar
    com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar
    commons-fileupload-1.3.2.jar
    commons-io-2.4.jar
    commons-lang3-3.4.jar
    dom4j-1.6.1.jar
    freemarker-2.3.23.jar
    hibernate-c3p0-5.2.10.Final.jar
    hibernate-commons-annotations-5.0.1.Final.jar
    hibernate-core-5.2.10.Final.jar
    hibernate-jpa-2.1-api-1.0.0.Final.jar
    jandex-2.0.3.Final.jar
    javassist-3.20.0-GA.jar
    jboss-logging-3.3.0.Final.jar
    jboss-transaction-api_1.2_spec-1.0.1.Final.jar
    log4j-api-2.7.jar
    mchange-commons-java-0.2.11.jar
    mysql-connector-java-5.1.7-bin.jar
    ognl-3.1.12.jar
    spring-aop-4.3.6.RELEASE.jar
    spring-aspects-4.3.6.RELEASE.jar
    spring-beans-4.3.6.RELEASE.jar
    spring-context-4.3.6.RELEASE.jar
    spring-core-4.3.6.RELEASE.jar
    spring-expression-4.3.6.RELEASE.jar
    spring-jdbc-4.3.6.RELEASE.jar
    spring-orm-4.3.6.RELEASE.jar
    spring-tx-4.3.6.RELEASE.jar
    spring-web-4.3.6.RELEASE.jar
    struts2-core-2.5.10.1.jar
    struts2-spring-plugin-2.5.10.1.jar

    3. 在web.xml中配置Struts的过滤器、上下文参数以及Spring的监听

     1 <context-param>
     2     <param-name>contextConfigLocation</param-name>
     3     <param-value>classpath:applicationContext.xml</param-value>
     4 </context-param>
     5 <listener>
     6     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
     7  </listener>
     8 
     9 
    10 <filter>
    11     <filter-name>struts2</filter-name>
    12     <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-        class>
    13 </filter>
    14 
    15 <filter-mapping>
    16      <filter-name>struts2</filter-name>
    17      <url-pattern>/*</url-pattern>
    18 </filter-mapping>

    4.写一个Jsp页面。作为登陆页面,页面中只需要一个表单就好,action的值与UserLoginAction中的URL对应

    1 <body>
    2     <form action="login" method="post">
    3         username:<input name="username" /><br />
    4         password:<input name="password" type="password" /><br />
    5         <input type="submit" value="login">
    6     </form>
    7 </body>

    5.在src的根目录下新建一个struts.xml文件

    <?xml version="1.0" encoding="UTF-8" ?>
    
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
        "http://struts.apache.org/dtds/struts-2.5.dtd">
    
    <struts>
        <constant name="struts.devMode" value="true" />
    
        <package extends="struts-default" name="myStruts" namespace="/">
        
        <!-- 此处name与登陆form表单中的action对应,class的值与applicationContext.xml中相关出对应,不在写全路径,具体如何对应,在后面会介绍--> <action name="login" class="LoginAction"> <result>/success.jsp</result> <result name="input">/index.jsp</result> </action> </package> </struts>

    6. 根据分层原理,建立相应的Dao接口,dao的实现类,service接口,service的实现类,UserBean等相关的Java类。

    在IUSerDao接口中提供一个根据姓名和密码查询的方法,在UserDaoImpl的实现类中通过继承HibernateTemplate来获得Session从而实现查询功能。

    通过Spring的注入对象可使用父类的getSessionFactory得到SessionFactory。

    package com.whl.daoimpl;
    
    import org.springframework.orm.hibernate5.HibernateTemplate;
    
    import com.whl.bean.User;
    import com.whl.dao.IUserDao;
    public class UserDaoImpl extends HibernateTemplate implements IUserDao {
        @Override
        public User getUserByNamePass(String name, String pass) {
            
            User user = (User) getSessionFactory().openSession()
            .createQuery(String.format("from User u where u.username='%s' and u.userpass='%s'", name,pass))
            .getResultList().get(0);
            
            return user;
        }
    
    }

    IUSerServicer接口跟IUserDao接口一样,只需要有一个getUserByNamePass()方法就好。UserServicerImpl类如下:】

    package com.whl.serviceimpl;
    
    import com.whl.bean.User;
    import com.whl.dao.IUserDao;
    import com.whl.service.IUserService;
    
    public class UserServiceImpl implements IUserService {
        //使用了Spring框架后通过依赖注入的方式注入对象。
        private IUserDao userDao;
        
        public void setUserDao(IUserDao userDao) {
            this.userDao = userDao;
        }
    
        @Override
        public User getUserByNamePass(String name, String pass) {
            return userDao.getUserByNamePass(name, pass);
        }
    
    }
  • 相关阅读:
    中国移动校园WLAN客户端及使用方法
    Win7 开启upnp服务,直接在网络中设置连接路由设备
    转载:迷你云 – 搭建自己的本地多人团队Dropbox 服务
    JLINK V8固件烧录指导
    实验室网站试运营期间的信息管理
    并非如你想象的那般强大,带你重新认识3D打印
    转:技术宅逆天了!如何从按键音中听出周鸿祎的手机号码
    南大学生破译周鸿祎电话获得互联网大佬青睐
    E430 加装固态硬盘(SSD)参考
    iptables_cacti_nagios
  • 原文地址:https://www.cnblogs.com/gongchengshiwhl/p/7071508.html
Copyright © 2011-2022 走看看