ssh2框架搭建

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 原文: ssh2框架搭建 struts2+spring4.0+hibernate4.0 4.x版本与3.x版本有较大区别,要配置方法须要注意,用到的jar包如下 文件结构 src/applicationContext.

原文: ssh2框架搭建

struts2+spring4.0+hibernate4.0

4.x版本与3.x版本有较大区别,要配置方法须要注意,用到的jar包如下



文件结构



src/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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
    <!-- 事务管理器,将委托给HibernateTransactionManager进行管理// -->
    <bean id="transactionManager"
          class="org.springframework.orm.hibernate4.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory"/>
    </bean>

    <!-- 事务处理的AOP配置 所有服务层bean声明都要继承此bean ,在proxy里没有定义target属性,所以一定要在bean里加上
        abstract="true" // -->
    <bean id="TransactionProxyTemplate" abstract="true"
          class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
        <property name="transactionManager" ref="transactionManager"/>
        <property name="transactionAttributes">
            <props>
                <!-- 为了保证服务层统一的事务处理。服务层接口,类的方法必须以下面的方法为开头 -->
                <!--spring 捕获到RuntimeException和其他一些异常时才会回滚,不是所有异常都会回滚,-Exception 设置 为任何异常都回滚 -->
                <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
                <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
                <prop key="query*">PROPAGATION_REQUIRED,readOnly</prop>
                <prop key="load*">PROPAGATION_REQUIRED,readOnly</prop>
                <prop key="user*">PROPAGATION_REQUIRED,readOnly</prop>
                <prop key="save*">PROPAGATION_REQUIRED,-Exception</prop>
                <prop key="insert*">PROPAGATION_REQUIRED,-Exception</prop>
                <prop key="add*">PROPAGATION_REQUIRED,-Exception</prop>
                <prop key="up*">PROPAGATION_REQUIRED,-Exception</prop>
                <prop key="mod*">PROPAGATION_REQUIRED,-Exception</prop>
                <prop key="del*">PROPAGATION_REQUIRED,-Exception</prop>
                <prop key="remove*">PROPAGATION_REQUIRED,-Exception</prop>
                <prop key="create*">PROPAGATION_REQUIRED,-Exception</prop>
                <prop key="execute*">PROPAGATION_REQUIRED,-Exception</prop>
                <prop key="do*">PROPAGATION_REQUIRED,-Exception</prop>
            </props>
        </property>
    </bean>

    <!-- 提供普java类获取spring上下文 通过上下文获取具体bean,调用其中的方法 -->
    <bean id="springApplicationContextUtil" class="com.soyann.common.util.SpringApplicationContextUtil"></bean>

    <!-- 系统初始化的时候读取数据库配置文件配置的数据库类型 -->
    <bean class="com.soyann.common.util.DBPropertiesUtil" lazy-init="false" init-method="init"/>

    <!-- 根据MySQL数据库identity获取NEXTVAL -->
    <bean id="mySqlKeyGenerator"
          class="org.springframework.jdbc.support.incrementer.MySQLMaxValueIncrementer">
        <property name="dataSource" ref="sysDataSource"/>
        <property name="incrementerName">
            <value>sy_key_sequence</value>
        </property>
        <property name="columnName">
            <value>ID</value>
        </property>
    </bean>
</beans>


src/applicationContext-db

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

	<bean id="propertyConfigure"
		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="locations">
			<list>
				<value>classpath:resource/properties/dbconfig.properties</value>
			</list>
		</property>
	</bean>
	<!-- 指定连接数据库的驱动 -->
	<bean id="sysDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
		destroy-method="close">
		<!--The driver class name -->
		<property name="driverClass">
			<value>${jdbc.driverClassName}</value>
		</property>
		<!-- 指定连接数据库的URL -->
		<property name="jdbcUrl">
			<value>${jdbc.url}</value>
		</property>
		<!-- 指定连接数据库的用户名 -->
		<property name="user">
			<value>${jdbc.username}</value>
		</property>
		<!-- 指定连接数据库的密码 -->
		<property name="password">
			<value>${jdbc.password}</value>
		</property>
		<!-- 指定连接池的初始化连接数 取值应在minPoolSize 与 maxPoolSize 之间.Default:3 -->
		<property name="initialPoolSize">
			<value>${jdbc.initialPoolSize}</value>
		</property>
		<!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->
		<property name="maxIdleTime">
			<value>60</value>
		</property>
	</bean>

	<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
		<property name="dataSource">
			<ref bean="sysDataSource"/>
		</property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">${hibernate.dialect}</prop>
				<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
				<prop key="hibernate.cache.region.factory_class">${hibernate.cache.region.factory_class}</prop>
				<prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop>
				<prop key="hibernate.jdbc.batch_size">${hibernate.jdbc.batch_size}</prop>
				<prop key="hibernate.connection.url">jdbc:mysql://192.168.8.100:3306/soyann</prop>
				<prop key="hibernate.connection.driver_class">com.mysql.jdbc.Driver</prop>
			</props>

		</property>

		<!--  文件夹映射 -->
		 <property name="mappingDirectoryLocations">
		 	<list>
		 		<value>WEB-INF/classes/com/soyann</value>
		 	</list>
		 </property>

		<!-- 注解方式映射 -->
		 <property name="packagesToScan">
		 	<list>
		 	<value>com.soyann.*</value>
		 	</list>
		</property>
	</bean>

</beans>  


web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
    <display-name>sshFrame</display-name>
    <context-param>
        <param-name>webAppRootKey</param-name>
        <param-value>sshFrame.root</param-value>
    </context-param>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            classpath:resource/spring/**/app*.xml
        </param-value>
    </context-param>
    <context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>/WEB-INF/classes/resource/properties/log4j.properties</param-value>
    </context-param>


    <listener>
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>

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

    <filter>
        <filter-name>CharacterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <filter>
        <filter-name>cleanup</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>cleanup</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

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


更多代码:http://download.csdn.net/detail/neil89/8822091

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
7月前
|
Java 关系型数据库 MySQL
JSP SSH公车拍卖系统myeclipse开发mysql数据库bs框架java编程网结构
JSP SSH公车拍卖系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发,系统主要采用B/S模式开发。
49 0
|
4月前
|
前端开发 Java 网络安全
基于SSH框架甜品商城管理系统【源码+数据库】
基于SSH框架甜品商城管理系统【源码+数据库】
|
7月前
|
前端开发 Java 关系型数据库
JSP仓库进销存系统ssh框架mysql数据库myeclipse开发mvc结构java
JSP 仓库进销存系统(struts2+hibernate) 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。
32 0
|
8月前
|
Java 网络安全 Spring
SSH框架学习中遇到的问题
SSH框架学习中遇到的问题
32 0
|
10月前
|
Java 应用服务中间件 网络安全
【ssh系列一】——框架搭建
建立项目(SpringMVC+Spring+hibernate的maven项目)
|
10月前
|
设计模式 开发框架 缓存
SSH框架简介篇
SSH框架简介篇
205 0
|
11月前
|
SQL 缓存 Java
《SSH框架》---Hibernate
《SSH框架》---Hibernate
|
11月前
|
Java 数据库连接 网络安全
《SSH框架》---spring
《SSH框架》---spring
|
11月前
|
前端开发 Java 网络安全
《SSH框架》Struts2
Struts(金属支架),在程序中表示起支撑作用的通用程序代码,Struts2是在Struts1框架的基础上融合了WebWork优秀框架升级得到的。
|
11月前
|
Java 数据库连接 网络安全
《SSH框架》---还你一个清晰的配置
一开始敲ssh,完全被各种配置弄晕了,看着视频里的老师,一会儿往application中配置,一会儿往Struts里配置,最重要的是,他以为我都理解了,完全不告诉我为什么这样配!当时,我在心里哭啊,老师,我并不知道为什么啊!哭完了之后,自己研究,人就是这样,在哪里跌倒就在哪里爬起,然后跌倒,然后再爬起。。。所以,那些成功的人在人前虽然看着都是光鲜亮丽的,但他柜子里有几身磨破的衣服,只有他自己知道。 现以后台管理员登录来走一遍整个配置过程。