SSH(struts+spring+hibernate)常用配置整理
SSH(struts+spring+hibernate)常用配置整理
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"> <!--配置shiro权限-->
<filter>
<filter-name>shiroFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>shiroFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> <!-- 1.加载spring配置文件-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:beans.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener> <!--2.配置字符编码的过滤器-->
<filter>
<filter-name>characterEncodingFilter</filter-name>
<!--spring-web包提供的CharacterEncodingFilter只能解决POST的中文乱码问题-->
<!--<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>-->
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> <!—解决hibernate懒加载session关闭的问题,让session存活到关闭action,根据自己实际需求进行是否需要配置-->
<filter>
<filter-name>openSession</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>openSession</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> <!-- 3.配置struts的拦截器-->
<filter>
<filter-name>strut2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter> <filter-mapping>
<filter-name>strut2</filter-name>
<url-pattern>/*</url-pattern>
<!--请求和转发都会被strut2拦截
默认情况下,只有请求会被拦截
-->
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
</web-app>
application.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"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
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.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd"> <!--加载jdbc属性文件-->
<context:property-placeholder location="classpath:jdbc.properties"/> <!--数据源-->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${driverClass}"></property>
<property name="jdbcUrl" value="${jdbcUrl}"></property>
<property name="user" value="${user}"></property>
<property name="password" value="${password}"></property>
</bean> <!--Spring框架用于整合hibernate的工厂bean sessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<!-- 数据源-->
<property name="dataSource" ref="dataSource"/>
<!-- hibernate的其它配置-->
<property name="hibernateProperties">
<props>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<!—配置数据的方言-->
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
</props>
</property> <!-- hibernate映射文件-->
<property name="mappingDirectoryLocations">
<list>
<value>classpath:com/gyf/bos/model</value>
</list>
</property>
</bean> <!--事务管理器:如果在service中使用注解来配置事务,
默认是通过transactionManager的id来查找事物管理器-->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean> <!-- 配置hiberante的模版 bean-->
<bean class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean> <!--组件扫描-->
<context:component-scan base-package="com.gyf.bos.*"/> <!--引用注解解析器-->
<!--<context:annotation-config></context:annotation-config>--> <!--开启事务注解-->
<tx:annotation-driven></tx:annotation-driven> <!-- 配置远程服务的代理对象 -->
<bean id="customerSerivce" class="org.springframework.remoting.caucho.HessianProxyFactoryBean">
<!--注入接口类型-->
<property name="serviceInterface" value="com.gyf.crm.service.CustomerService" />
<!--服务访问路径-->
<property name="serviceUrl" value="http://localhost:8888/crm/remoting/customer" />
</bean> <!--shiroFilter-->
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
<property name="securityManager" ref="securityManager"></property>
<property name="loginUrl" value="/login.jsp"></property>
<property name="filterChainDefinitions">
<value>
/userAction_login.action = anon
/validatecode.jsp* = anon
/* = authc
</value>
</property>
</bean> <bean id="BOSRealm" class="com.gyf.bos.web.realm.BOSRealm"></bean> <!--注册缓存管理器-->
<bean id="cacheManager" class="org.apache.shiro.cache.ehcache.EhCacheManager">
<!--注入ehcache配置文件-->
<property name="cacheManagerConfigFile" value="classpath:ehcache.xml"></property>
</bean> <!--添加shiro权限管理-->
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
<property name="realm" ref="BOSRealm"></property>
<property name="cacheManager" ref="cacheManager"></property>
</bean> <!--开启shiro注解-->
<!--=======================================================================================-->
<!--1.开启自动代理-->
<!-- <bean id="defaultAdvisorAutoProxyCreator"
class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator">
<!– 强制使用cglib为Action创建代理对象 –>
<property name="proxyTargetClass" value="true"></property>
</bean> <!–2.切面类–>
<bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor" /> <bean class="com.gyf.bos.web.action.StaffAction" scope="prototype"></bean>-->
<!--=======================================================================================--> <!-- 流程引擎配置对象 -->
<bean id="processEngineConfiguration"
class="org.activiti.spring.SpringProcessEngineConfiguration">
<property name="dataSource" ref="dataSource"/>
<property name="transactionManager" ref="transactionManager"/>
<property name="databaseSchemaUpdate" value="true" />
</bean> <!-- 使用工厂创建流程引擎对象 -->
<bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
<property name="processEngineConfiguration" ref="processEngineConfiguration"/>
</bean> <!-- 注册Service -->
<bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService"/>
<bean id="runtimeService" factory-bean="processEngine" factory-method="getRuntimeService"/>
<bean id="taskService" factory-bean="processEngine" factory-method="getTaskService"/>
<bean id="identityService" factory-bean="processEngine" factory-method="getIdentityService"/> </beans>
struts.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts> <!-- 调试模式-->
<constant name="struts.devMode" value="true"></constant> <package name="p1" extends="struts-default"> <!--配置全局的结果视图-->
<global-results>
<result name="login" type="redirect">/login.jsp</result>
<result name="UnauthorizedUrl" type="redirect">/authorizing.jsp</result>
</global-results> <!--抛出异常来到自定义页面-->
<global-exception-mappings>
<exception-mapping exception="org.apache.shiro.authz.UnauthorizedException" result="UnauthorizedUrl"></exception-mapping>
</global-exception-mappings> <!-- 配置jsp页面的访问规则-->
<action name="page_*_*" >
<result name="success">/WEB-INF/pages/{1}/{2}.jsp</result>
</action> <!--用户模块-->
<action name="userAction_*" class="com.gyf.bos.web.action.UserAction" method="{1}">
<result name="home">/WEB-INF/pages/common/index.jsp</result>
<result name="list">/WEB-INF/pages/admin/userlist.jsp</result>
<result name="loginfailure">/login.jsp</result>
</action> <!--取派员模块-->
<action name="staffAction_*" class="com.gyf.bos.web.action.StaffAction" method="{1}">
<result name="success">/WEB-INF/pages/base/staff.jsp</result> </action> <!--区域模块-->
<action name="regionAction_*" class="com.gyf.bos.web.action.RegionAction" method="{1}">
<result name="success">/WEB-INF/pages/base/region.jsp</result>
</action> <!--分区模块-->
<action name="subareaAction_*" class="com.gyf.bos.web.action.SubareaAction" method="{1}">
<result name="success">/WEB-INF/pages/base/subarea.jsp</result>
</action> <!--定区模块-->
<action name="decidedzoneAction_*" class="com.gyf.bos.web.action.DecidedzoneAction" method="{1}">
<result name="success">/WEB-INF/pages/base/decidedzone.jsp</result>
</action> <!--工单模块-->
<action name="noticebillAction_*" class="com.gyf.bos.web.action.NoticebillAction" method="{1}">
</action> <!--工作单模块-->
<action name="workordermanageAction_*" class="com.gyf.bos.web.action.WorkordermanageAction" method="{1}">
</action> <!--权限模块-->
<action name="functionAction_*" class="com.gyf.bos.web.action.FunctionAction" method="{1}">
<result name="success">/WEB-INF/pages/admin/function.jsp</result>
</action> <!--角色模块-->
<action name="roleAction_*" class="com.gyf.bos.web.action.RoleAction" method="{1}">
<result name="success">/WEB-INF/pages/admin/role.jsp</result>
</action> <!--流程定义模块-->
<action name="processDefinitionAction_*" class="com.gyf.bos.web.action.ProcessDefinitionAction" method="{1}">
<result name="list">/WEB-INF/pages/workflow/processdefinition_list.jsp</result>
<result name="viewpng" type="stream">
<param name="contentType">image/png</param>
<param name="inputName">imgIS</param>
</result>
</action> <!--流程实例模块-->
<action name="processInstanceAction_*" class="com.gyf.bos.web.action.ProcessInstanceAction" method="{1}">
<result name="list">/WEB-INF/pages/workflow/processinstance.jsp</result>
</action>
</package>
</struts>
其他的一些配置文件
log4j.properties
### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n ### direct messages to file hibernate.log ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=E:/bos.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n ### set log levels - for more verbose logging change 'info' to 'debug' ###
# 日志级别【最好配置到error】-输出源
log4j.rootLogger=info , stdout , file
ehcache.xml
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../config/ehcache.xsd"> <diskStore path="java.io.tmpdir"/>
<defaultCache
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
overflowToDisk="true"
maxElementsOnDisk="10000000"
diskPersistent="false"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU"
/>
</ehcache>
|
SSH(struts+spring+hibernate)常用配置整理的更多相关文章
- SSH(Struts,Spring,Hibernate)和SSM(SpringMVC,Spring,MyBatis)的区别
SSH 通常指的是 Struts2 做前端控制器,Spring 管理各层的组件,Hibernate 负责持久化层. SSM 则指的是 SpringMVC 做前端控制器,Spring 管理各层的组件,M ...
- SSH(Struts+spring+hibernate)配置
1.spring和struts 1)web.xml 配置spring的ContextLoaderListener(监听器) 配置Struts的StrutsPrepareAndExecuteFilter ...
- 浅谈ssh(struts,spring,hibernate三大框架)整合的意义及其精髓
hibernate工作原理 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Sesssion 4.创建事务Transation 5.持久化操作 6.提 ...
- [转] 浅谈ssh(struts,spring,hibernate三大框架)整合的意义及其精髓
hibernate工作原理 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Sesssion 4.创建事务Transation 5.持久化操作 6 ...
- SSH:Struts + Spring + Hibernate 轻量级Java EE企业框架
Java EE(Java Platform,Enterprise Edition)是sun公司(2009年4月20日甲骨文将其收购)推出的企业级应用程序版本.这个版本以前称为 J2EE.能够帮助我们开 ...
- SSH(Struts,Spring,Hibernate)和SSM(SpringMVC,Spring,MyBatis)之间区别
http://m.blog.csdn.net/article/details?id=52795914#0-qzone-1-52202-d020d2d2a4e8d1a374a433f596ad1440
- 用eclipse搭建SSH(struts+spring+hibernate)框架
声明: 本文是个人对ssh框架的学习.理解而编辑出来的,可能有不足之处,请大家谅解,但希望能帮助到大家,一起探讨,一起学习! Struts + Spring + Hibernate三者各自的特点都是什 ...
- 【SSH进阶之路】Struts + Spring + Hibernate 进阶开端(一)
[SSH进阶之路]Struts + Spring + Hibernate 进阶开端(一) 标签: hibernatespringstrutsssh开源框架 2014-08-29 07:56 9229人 ...
- SSH(Struts2+Spring+Hibernate)框架搭建流程<注解的方式创建Bean>
此篇讲的是MyEclipse9工具提供的支持搭建自加包有代码也是相同:用户登录与注册的例子,表字段只有name,password. SSH,xml方式搭建文章链接地址:http://www.cnblo ...
随机推荐
- 80.常用的返回QuerySet对象的方法使用详解:order_by
order_by: 将模型生成的表按照某个字段进行排序,默认情况下,按照升序的顺序排序,如果想要按照降序的顺序排序可以在字段的前面加一个"-",加一个负号就可以进行反转. mode ...
- VUE- iView组件框架的使用
VUE- iView组件框架的使用 1. 下载iView 工程. 引用:https://www.iviewui.com/
- 201712-1 最小差值 Java
思路: 也可以不排序,最后用abs就行 import java.util.Arrays; import java.util.Scanner; public class Main { public st ...
- vue 插槽 part3
f vue中的插槽 1.<slot>默认内容</slot> 当副组件不传递信息的时候 显示默认内容 2.<slot></slot> 显示的是插槽中所有的 ...
- 课程报名 | 5G时代的视频云服务关键技术与实践
6月3日,工业和信息化部宣布将于近期发放5G商用牌照.这也意味着,中国正式进入了5G时代. 5G身上有很多新标签:"大规模天线"."新的编码技术"." ...
- vscode template中设置不换行
{ "workbench.colorTheme": "Dark-Dracula", "workbench.iconTheme": " ...
- JAVA--Mybatis-Spring-SpringMVC框架整合
------Mybatis-Spring-SpringMVC框架整合示例----- mybatis SQL映射文件 <?xml version="1.0" encoding= ...
- 面向对象 part6 继承
继承 js实现的是实现继承/也就是继承实际的方法 //主要依赖:原型链 //基本思路: 就是一个引用类型继承另一个引用类型的属性和方法 详细:构造函数,实例,原型之间的关系.每个构造函数都有一个原型对 ...
- JavaSE--RMI初识
转自:http://blog.csdn.net/guyuealian/article/details/51992182 一.Java RMI机制: 远程方法调用RMI(Remote Me ...
- Linux-使用syslog来记录调试信息
1.有三个函数:openlog.syslog.closelog 2.一般的log信息都在操作系统的/var/log/messages这个文件中存储着,但是ubuntu中是在/var/log/syslo ...