博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ssh原始整合
阅读量:6954 次
发布时间:2019-06-27

本文共 9712 字,大约阅读时间需要 32 分钟。

一、创建整合的项目

    1.项目名称:spring101503

    2.在项目中创建conf目录

    3.在项目中创建test目录

二,添加struts支持(struts版本2.3.7)

    1.struts2 2.3.7.jar

        1).使用核心jar文件

            asm-3.3.jar

            asm-commons-3.3.jar

            asm-tree-3.3.jar

            commons-fileupload-1.2.2.jar

            commons-io-2.0.1.jar

            commons-lang3-3.1.jar

            freemarker-2.3.19.jar

            javassist-3.11.0.GA.jar

            ognl-3.0.5.jar

            struts2-core-2.3.7.jar

            xwork-core-2.3.7.jar

        2).可能使用的插件说明

            struts2-convention-plugin-2.3.7.jar:struts使用注解开发

            struts2-json-plugin-2.3.7.jar:整合ajax

            struts2-spring-plugin-2.3.7.jar:整合spring

    2.添加配置文件

        1).修改web.xml配置文件,添加filte配置

            <filter>

                <filter-name>struts</filter-name>

                <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

            </filter>

            <filter-mapping>

                <filter-name>struts</filter-name>

                <url-pattern>/*</url-pattern>

            </filter-mapping>

        2).在conf目录下添加struts2的核心配置文件struts.xml

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

            <!DOCTYPE struts PUBLIC

                "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

                "http://struts.apache.org/dtds/struts-2.0.dtd">

            <struts>

                <constant name="struts.devMode" value="true"/>

                <package name="default" namespace="/" extends="struts-default">

                    

                </package>

            </struts>

        3).测试struts支持是否可用

            i.在test目录下创建测试用的Action

                包名:cn.jbit.spring101503.test.action

                Action名称:TestAction.java

                Action内容:

                public class TestAction extends ActionSupport {

                    @Override

                    public String execute() throws Exception {

                        System.out.println("测试action");

                        return super.execute();

                    }

                }

            ii.在struts.xml文件中配置测试Action

                <package name="default" namespace="/" extends="struts-default">

                    <!-- 测试struts是否可用 -->

                    <action name="testAction" class="cn.jbit.spring101503.test.action.TestAction">

                        <result>/WEB-INF/pages/test/test.jsp</result>

                    </action>

                </package>

            iii.在WEB-INF下创建pages目录

                /WEB-INF/pages

            iv.在pages目录下创建test目录

                /WEB-INF/pages/test

            v.在test目录下创建测试视图

                /WEB-INF/pages/test/test.jsp

            vi.访问

                http://localhost:9527/spring101503进入index.jsp,在index.jsp中有

                <a href="${pageContext.request.contextPath}/testAction.action">执行测试action</a>

    3.添加spring支持(spring 3.2.jar)

        1).基本jar包

            spring-beans-3.2.0.RELEASE.jar

            spring-context-3.2.0.RELEASE.jar

            spring-core-3.2.0.RELEASE.jar

            spring-expression-3.2.0.RELEASE.jar

        2).依赖包

            commons-logging.jar

            log4j.jar

        3).AOP开发jar

            com.springsource.org.aopalliance-1.0.0.jar

            com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar

            spring-aop-3.2.0.RELEASE.jar

            spring-aspects-3.2.0.RELEASE.jar

        4).整合Hibernate

            spring-jdbc-3.2.0.RELEASE.jar

            spring-orm-3.2.0.RELEASE.jar

            spring-tx-3.2.0.RELEASE.jar

        5).配置spring监听器

            spring-web-3.2.0.RELEASE.jar

        6).整合junit

            spring-test-3.2.0.RELEASE.jar

        7).添加spring核心配置文件applicationContext.jsp

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

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

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

                   xsi:schemaLocation="

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

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

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

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

            </beans>

        8).修改web.xml文件,添加监听配置

            <!-- spring 监听配置 -->

            <listener>

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

            </listener>

            <!-- spring核心配置文件路径 -->

            <context-param>

                <param-name>contextConfigLocation</param-name>

                <param-value>classpath:applicationContext.xml</param-value>

            </context-param>

        9).测试spring支持

            i.在test目录下创建spring测试类

                包名:cn.jbit.spring101503.test.spring

                类名:TestSpring.java

                类内容:

                public class TestSpring {

                    private String name;

                

                    public void setName(String name) {

                        this.name = name;

                    }

                

                    public String getName() {

                        return name;

                    }

                }

            ii.在applicationContext.xml文件中进行配置测试类

                <!-- 配置测试spring的bean -->

                <bean id="testspring" class="cn.jbit.spring101503.test.spring.TestSpring">

                    <property name="name" value="testspring成功"></property>    

                </bean>

            iii.测试

                @Test

                public void testBean(){

                    ApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");

                    TestSpring testSpring = (TestSpring) context.getBean("testspring");

                    System.out.println(testSpring.getName());

                }

    4.添加hibernate支持(Hibernate 3.6.jar)

        1).基础jar

            hibernate3.jar

            antlr-2.7.6.jar

            commons-collections-3.1.jar

            dom4j-1.6.1.jar

            javassist-3.12.0.GA.jar

            jta-1.1.jar

            slf4j-api-1.6.1.jar

            hibernate-jpa-2.0-api-1.0.1.Final.jar

        2).整合slf4j

            slf4j-log4j12-1.6.1.jar

            log4j.jar

        3).使用c3p0数据源

            c3p0-0.9.1.jar

        4).数据库驱动

            mysql-connector-java-5.1.10-bin.jar

        5).二级缓存

            backport-util-concurrent.jar

            ehcache-1.5.0.jar

            commons-logging.jar

        6).hibernate核心配置文件

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

            <!DOCTYPE hibernate-configuration PUBLIC

                "-//Hibernate/Hibernate Configuration DTD 3.0//EN"

                "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

            <hibernate-configuration>

                <session-factory>

                    <property name="hibernate.connection.username">root</property>

                    <property name="hibernate.connection.password">root</property>

                    <property name="hibernate.connection.url">

                        jdbc:mysql://localhost:3306/mysql

                    </property>

                    <property name="hibernate.connection.driver_class">

                        com.mysql.jdbc.Driver

                    </property>

                    <!-- 配置方言 -->

                    <property name="dialect">

                        org.hibernate.dialect.MySQLDialect

                    </property>

                    <!-- 输出sql -->

                    <property name="show_sql">true</property>

                    <!-- 格式化生成的sql -->

                    <property name="format_sql">true</property>

                    <property name="hibernate.hbm2ddl.auto">update</property>

                    <!-- 配置session与线程绑定 -->

                    <property name="hibernate.current_session_context_class">thread</property>

                    <!-- 事务自动提交 -->

                    <property name="hibernate.connection.autocommit">true</property>    

                    <!-- 数据连接提供 -->

                    <property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>    

                     <!-- 加载映射文件 -->

                </session-factory>

            </hibernate-configuration>

        7).Hibernate工具类的设计

            public class HibernateUtil {

                private static Configuration configuration;

                private static SessionFactory sessionFactory;

                

                

                static{

                    configuration = new Configuration().configure();

                    sessionFactory = configuration.buildSessionFactory();

                }

                

                public static Session openSession(){

                    return sessionFactory.openSession();

                }

                

                public static Session getCurrentSession(){

                    return sessionFactory.getCurrentSession(); 

                }

            }

    5.实体类设计    

        cn.jbit.spring8.domain

        public class Book implements Serializable {

            private static final long serialVersionUID = 1L;

            private Integer id;

            private String name;

            private Double price;

            private String author;

            //省略getter 和 setter

        }

        映射文件Book.hbm.xml

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

        <!DOCTYPE hibernate-mapping PUBLIC 

            "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

            "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

        <hibernate-mapping package="cn.jbit.spring8.domain">

            <class name="Book" table="d_book">

                <id name="id" type="integer">

                    <column name="id"></column>

                    <!-- 主键生成策略 -->

                    <generator class="native"></generator>

                </id>

                <property name="name" type="string">

                    <column name="name"></column>

                </property>

                <property name="price" type="double">

                    <column name="price"></column>

                </property>

                <property name="author" type="string">

                    <column name="author"></column>

                </property>

            </class>

        </hibernate-mapping>

        在hibernate.cfg.xml文件中配置mapping

        <mapping resource="cn/jbit/spring101503/domain/Book.hbm.xml"/>

    6.持久层设计

        接口

            cn.jbit.spring101503.dao

            /**

             * 图书持久层接口

             * @author Administrator

             *

             */

            public interface BookDao {

                /**

                 * 添加图书信息

                 * @param book

                 */

                public void insert(Book book);

            }

        实现

            cn.jbit.spring101503.dao.impl

            public class BookDaoImpl implements BookDao {

                public void insert(Book book) {

                    Session session = null;

                    Transaction transaction = null;

                    try {

                        //获取Session对象

                        session = HibernateUtil.getCurrentSession();

                        //开启事务

                        transaction = session.beginTransaction();

                        System.out.println("执行dao的save方法之前");

                        //调用保存方法

                        session.save(book);

                        System.out.println("执行dao的save方法之后");

                        //事务提交

                        transaction.commit();

                    } catch (HibernateException e) {

                        e.printStackTrace();

                        //事务回滚

                        transaction.rollback();

                    }

                }

            }

        配置

            修改applicationContext.xml,配置DAO

            <!-- 配置DAO -->

            <bean id="bookDao" class="cn.jbit.spring101503.dao.impl.BookDaoImpl">

            </bean>

    7.业务层设计

        接口

            cn.jbit.spring101503.service

            /**

             * 图书业务层

             * @author Administrator

             *

             */

            public interface BookService {

                

                /**

                 * 保存图书

                 * @param book

                 */

                public void save(Book book);

            }

            

        实现

            cn.jbit.spring101503.service.impl

            public class BookServiceImpl implements BookService {

                private BookDao bookDao;

                public void save(Book book) {

                    System.out.println("执行service层save方法");

                    //调用持久层添加方法

                    bookDao.insert(book);

                }

                public void setBookDao(BookDao bookDao) {

                    this.bookDao = bookDao;

                }

                public BookDao getBookDao() {

                    return bookDao;

                }

            }

        <!-- 配置Service -->

        <bean id="bookService" class="cn.jbit.spring101503.service.impl.BookServiceImpl">

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

        </bean>

    8.Action设计

        cn.jbit.spring101503.web.action

        定义Action

        public class BookAction extends ActionSupport implements ModelDriven<Book> {

            private Book book = new Book();

            public String add(){

                System.out.println("执行add方法");

                WebApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(ServletActionContext.getServletContext());

                BookService bookService = (BookService) context.getBean("bookService");

                bookService.save(book);

                return "add";

            }

            

            public Book getModel() {

                return book;

            }

        }    

    9.表示层设计

        addBook.jsp

        <h3>添加图书</h3>

          <s:form action="bookAction_add" namespace="/" method="post" theme="simple">

              名称:<s:textfield name="name"></s:textfield>

              单价:<s:textfield name="price"></s:textfield>

              作者:<s:textfield name="author"></s:textfield>

              <s:submit type="submit" value="添加"></s:submit>

          </s:form>

    10.测试ssh

        通过http://localhost:9527/spring101503/add.jsp

本文转自  素颜猪  51CTO博客,原文链接:http://blog.51cto.com/suyanzhu/1564317

转载地址:http://sxjil.baihongyu.com/

你可能感兴趣的文章
如何隐藏xendesktop登录时domain信息的输入
查看>>
Linux_MySQL二次整理(1)
查看>>
Linux内核LTS长期支持版生命周期
查看>>
VMware下的Linux中调整屏幕大小,分辨率问题,终于解决啦
查看>>
cxgrid打印
查看>>
必 备 习 题 集 ( 三 )
查看>>
citrix桌面发布方式
查看>>
HTTP协议详解(真的很经典)
查看>>
EMC销售部全球CTO Patricia Florissi:大数据不是炒作
查看>>
判断字符串是否是合法的ipv4地址
查看>>
Linux系统手动安装rzsz 软件包
查看>>
Hyper-V安装笔记
查看>>
Golang面试题解析(二)
查看>>
Juniper SRX与思科跑IPSEC ×××+OSPF
查看>>
passwd修改用户密码
查看>>
Windows Phone(三)WP7版 " 记账本" 开发(使用SQLite数据库)
查看>>
CSS 几款比较常用的翻转特效(转载)
查看>>
IO多路复用, 基于IO多路复用+socket实现并发请求(一个线程100个请求), 协程
查看>>
大白话Vue源码系列(03):生成AST
查看>>
Android 微信第三方登录
查看>>