spring2 +hibernate 3 + struts 配置
1. web.xml
1.?? <?xml?version="1.0"?encoding="UTF-8"?>??
2.?? <web-app?version="2.4"?xmlns="http://java.sun.com/xml/ns/javaee"??
3.?? ????xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"??
4.?? ????xsi:schemaLocation="http://java.sun.com/xml/ns/javaee???
5.?? ????http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">??
6.?? ??
7.?? ????<!--?用于初始化Spring容器的Listener?-->??
8.?? ????<listener>??
9.?? ????????<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>??
10.?????</listener>??
11.???
12.?????<!--?载入spring配置文件?-->??
13.?????<context-param>??
14.?????????<param-name>contextConfigLocation</param-name>??
15.?????????<param-value>classpath:spring/*.xml</param-value>??
16.?????</context-param>??
17.???
18.?????<!--?struts2本质上是一个filter?-->??
19.?????<filter>??
20.?????????<filter-name>struts2</filter-name>??
21.?????????<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>??
22.?????</filter>??
23.???
24.?????<filter-mapping>??
25.?????????<filter-name>struts2</filter-name>??
26.?????????<url-pattern>/*</url-pattern>??
27.?????</filter-mapping>??
28.???
29.?????<filter>??
30.?????????<filter-name>?struts-cleanup?</filter-name>??
31.?????????<filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>??
32.?????</filter>??
33.???
34.?????<filter-mapping>??
35.?????????<filter-name>struts-cleanup</filter-name>??
36.?????????<url-pattern>/*</url-pattern>??
37.?????</filter-mapping>??
38.???
39.?????<!--?在freemarker中使用struts2标签?-->??
40.?????<servlet>??
41.?????????<servlet-name>JspSupportServlet</servlet-name>??
42.?????????<servlet-class>org.apache.struts2.views.JspSupportServlet</servlet-class>??
43.?????????<load-on-startup>1</load-on-startup>??
44.?????</servlet>??
45.???
46.?????<filter>??
47.?????????<filter-name>CharacterEncodingFilter</filter-name>??
48.?????????<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>??
49.?????????<init-param>??
50.?????????????<param-name>encoding</param-name>??
51.?????????????<param-value>utf-8</param-value>??
52.?????????</init-param>??
53.?????</filter>??
54.???
55.?????<filter-mapping>??
56.?????????<filter-name>CharacterEncodingFilter</filter-name>??
57.?????????<url-pattern>/*</url-pattern>??
58.?????</filter-mapping>??
59.???
60.?????<welcome-file-list>??
61.?????????<welcome-file>index.html</welcome-file>??
62.?????</welcome-file-list>??
63.???
64.?</web-app>?
2. struts.xml
1.?? <struts>??
2.?? ????<constant?name="struts.custom.i18n.resources"?value="messageResource"?/>??
3.?? ????<constant?name="struts.i18n.encoding"?value="UTF-8"?/>??
4.?? ????<constant?name="struts.ui.theme"?value="simple"?/>??
5.?? ????<constant?name="struts.multipart.maxSize"?value="1000000000"?/>??
6.?? ????<include?file="struts/demo-default.xml"?/>??
7.?? </struts>?
3. demo-default.xml
1.?? <?xml?version="1.0"?encoding="UTF-8"?>??
2.?? <!DOCTYPE?struts?PUBLIC?"-//Apache?Software?Foundation//DTD?Struts?Configuration?2.0//EN"?"http://struts.apache.org/dtds/struts-2.0.dtd">??
3.?? <struts>??
4.?? ????<package?name="demo-default"?extends="struts-default"?namespace="/">??
5.?? ????????<!--?使用freemarker只为页面模板?-->??
6.?? ????????<result-types>??
7.?? ????????????<result-type?name="freemarke"?default="true"??
8.?? ????????????????class="org.apache.struts2.views.freemarker.FreemarkerResult"?/>??
9.?? ????????</result-types>??
10.???
11.?????????<!--?自定义权限拦截器?-->??
12.?????????<interceptors>??
13.?????????????<interceptor?name="authority"?class="org.demo.common.AuthorityInterceptor"?/>??
14.?????????????<interceptor-stack?name="demoDefaultStack">??
15.?????????????????<interceptor-ref?name="authority"?/>??
16.?????????????????<interceptor-ref?name="defaultStack"?/>??
17.?????????????</interceptor-stack>??
18.?????????</interceptors>??
19.?????????<default-interceptor-ref?name="demoDefaultStack"?/>??
20.???
21.?????????<global-results>??
22.?????????????<result?name="executeResult">/common/execute_result.ftl</result>??
23.?????????????<result?name="exception">/common/exception.ftl</result>??
24.?????????</global-results>??
25.???
26.?????????<global-exception-mappings>??
27.?????????????<exception-mapping?result="exception"?exception="org.cms.common.ExceptionHandle"?/>??
28.?????????</global-exception-mappings>??
29.?????</package>??
30.???
31.?????<include?file="struts/demo-home.xml"?/>??
32.?</struts>?
4. demo-home.xml
1.?? <?xml?version="1.0"?encoding="UTF-8"?>??
2.?? <!DOCTYPE?struts?PUBLIC?"-//Apache?Software?Foundation//DTD?Struts?Configuration?2.0//EN"?"http://struts.apache.org/dtds/struts-2.0.dtd">??
3.?? <struts>??
4.?? ????<package?name="demo-home"?extends="demo-default"?namespace="/home">??
5.?? ????????<action?name="index"?class="org.demo.action.home.UserAction"??
6.?? ????????????method="index">??
7.?? ????????????<result?name="index">homepage.ftl</result>??
8.?? ????????</action>??
9.?? ????</package>??
10.?</struts>?
5. applicationContext.xml - Spring
1.?? <?xml?version="1.0"?encoding="GBK"?>??
2.?? <beans?xmlns="http://www.springframework.org/schema/beans"??
3.?? ????xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"??
4.?? ????xsi:schemaLocation="http://www.springframework.org/schema/beans?http:/www.springframework.org/schema/beans/spring-beans.xsd">??
5.?? ??
6.?? ????<!--?定义数据源bean,使用Apache?DBCP数据源实现?-->??
7.?? ????<bean?id="dataSource"?class="org.apache.commons.dbcp.BasicDataSource"??
8.?? ????????destroy-method="close">??
9.?? ????????<property?name="driverClassName"?value="com.mysql.jdbc.Driver"?/>??
10.?????????<property?name="url"?value="jdbc:mysql://localhost:3306/demo?characterEncoding=utf-8"?/>??
11.?????????<property?name="username"?value="root"?/>??
12.?????????<property?name="password"?value="123456"?/>??
13.?????????<!--?可以同时闲职在连接池中的连接的最大数目?-->??
14.?????????<property?name="maxIdle"?value="10"?/>??
15.?????????<!--?最大激活连接数?-->??
16.?????????<property?name="maxActive"?value="100"?/>??
17.?????????<!--?请求连接最常等待时间?-->??
18.?????????<property?name="maxWait"?value="30"?/>??
19.?????????<!--?是否回收被遗弃的数据库连接到连接池中?-->??
20.?????????<property?name="removeAbandoned"?value="true"?/>??
21.?????</bean>??
22.???
23.?????<!--定义了Hibernate的SessionFactory?-->??
24.?????<bean?id="sessionFactory"??
25.?????????class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">??
26.?????????<!--?为SessionFactory注入DataSource实例?-->??
27.?????????<property?name="dataSource"?ref="dataSource"?/>??
28.?????????<!--?指定Hibernate的实体映射文件?-->??
29.?????????<property?name="mappingResources">??
30.?????????????<list>??
31.?????????????????<value>classpath:org/demo/domain/</value>??
32.?????????????</list>??
33.?????????</property>??
34.???
35.?????????<!--?指定Hibernate连接的系列属性?-->??
36.?????????<property?name="hibernateProperties">??
37.?????????????<props>??
38.?????????????????<!--?指定Hibernate连接数据库的连接方言?-->??
39.?????????????????<prop?key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>??
40.?????????????????<!--?是否显示Hibernate产生的SQL语句?-->??
41.?????????????????<prop?key="show_sql">true</prop>??
42.?????????????????<!--?启动应用时,是否根据hbm文件创建数据表?-->??
43.?????????????????<prop?key="hibernate.hbm2ddl.auto">update</prop>??
44.?????????????????<!--?指定Hibernate持久化操作的批操作大小?-->??
45.?????????????????<prop?key="hibernate.jdbc.batch_size">20</prop>??
46.?????????????</props>??
47.?????????</property>??
48.?????</bean>??
49.???
50.?????<!--?配置事务管理器,使用Hibernate局部事务管理器策略?-->??
51.?????<bean?id="transactionManager"??
52.?????????class="org.springframework.orm.hibernate3.HibernateTransactionManager">??
53.?????????<property?name="sessionFactory"?ref="sessionFactory"?/>??
54.?????</bean>??
55.???
56.?????<!--?配置事务拦截器?-->??
57.?????<bean?id="transactionInterceptor"??
58.?????????class="org.springframework.transaction.interceptor.TransactionInterceptor">??
59.?????????<!--?事务拦截器bean需要依赖注入一个事务管理器?-->??
60.?????????<property?name="transactionManager"?ref="transactionManager"?/>??
61.?????????<property?name="transactionAttributes">??
62.?????????????<!--?下面定义事务传播属性?-->??
63.?????????????<props>??
64.?????????????????<prop?key="get*">PROPAGATION_REQUIRED,readOnly</prop>??
65.?????????????????<prop?key="*">PROPAGATION_REQUIRED</prop>??
66.?????????????</props>??
67.?????????</property>??
68.?????</bean>??
69.???
70.?????<!--?定义BeanNameAutoProxyCreator?-->??
71.?????<bean??
72.?????????class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">??
73.?????????<!--?指定对满足哪些bean?name的bean自动生成业务代理?-->??
74.?????????<property?name="beanNames">??
75.?????????????<!--?下面是所有需要自动创建事务代理的bean,此处可增加其他需要自动创建事务代理的bean?-->??
76.?????????????<list>??
77.?????????????????<value>demoService</value>??
78.?????????????</list>??
79.?????????</property>??
80.?????????<!--?下面定义BeanNameAutoProxyCreator所需的事务拦截器?-->??
81.?????????<property?name="interceptorNames">??
82.?????????????<list>??
83.?????????????????<!--?此处可增加其他新的Interceptor?-->??
84.?????????????????<value>transactionInterceptor</value>??
85.?????????????</list>??
86.?????????</property>??
87.?????</bean>??
88.???
89.?????<!--?定义MailSender?Bean,用于发送邮件?-->??
90.?????<bean?id="mailSender"?class="org.springframework.mail.javamail.JavaMailSenderImpl">??
91.?????????<property?name="host"?value="smtp.163.com"?/>??
92.?????????<property?name="javaMailProperties">??
93.?????????????<props>??
94.?????????????????<prop?key="mail.smtp.auth">true</prop>??
95.?????????????????<prop?key="mail.smtp.timeout">25000</prop>??
96.?????????????</props>??
97.?????????</property>??
98.?????????<property?name="username"?value="username"?/>??
99.?????????<property?name="password"?value="password"?/>??
100.????</bean>??
101.??
102.????<!--?配置MailMessage?Bean?-->??
103.????<bean?id="mailMessage"?class="org.springframework.mail.SimpleMailMessage">??
104.????????<property?name="from"?value="username@163.com"?/>??
105.????????<property?name="subject"?value="Demo"?/>??
106.????</bean>??
107.</beans?
6. applicationContext-dao.xml
1.?? <?xml?version="1.0"?encoding="GBK"?>??
2.?? <beans?xmlns="http://www.springframework.org/schema/beans"??
3.?? ????xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"??
4.?? ????xsi:schemaLocation="http://www.springframework.org/schema/beans?http:/www.springframework.org/schema/beans/spring-beans.xsd">??
5.?? ??????
6.?? ????<bean?id="daoTemplate"?abstract="true">??
7.?? ????????<property?name="sessionFactory"?ref="sessionFactory"?/>??
8.?? ????</bean>??
9.?? ??
10.?????<bean?id="demoDao"?class="org.demo.dao.impl.DemoDaoImpl"?parent="daoTemplate"?/>??
11.???
12.?????<!--?Dao工厂类?-->??
13.?????<bean?id="daoManager"?class="org.demo.dao.DaoManager">??
14.?????????<property?name="demoDao">??
15.?????????????<ref?bean="demoDao"?/>??
16.?????????</property>??
17.?????</bean>??
18.???????
19.?</beans>?
. applicationContext-service.xml
1.?? <?xml?version="1.0"?encoding="GBK"?>??
2.?? <beans?xmlns="http://www.springframework.org/schema/beans"??
3.?? ????xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"??
4.?? ????xsi:schemaLocation="http://www.springframework.org/schema/beans?http:/www.springframework.org/schema/beans/spring-beans.xsd">??
5.?? ??????
6.?? ????<bean?id="demoService"?class="org.demo.service.impl.DemoServiceImpl"?/>??
7.?? ??????
8.?? ????<bean?id="serviceManager"?class="org.demo.service.ServiceManager">??
9.?? ????????<property?name="demoService">??
10.?????????????<ref?bean="demoService"?/>??
11.?????????</property>??
12.?????</bean>??
13.???????
14.?</beans>?
8. freemarker.properties
1.?? default_encoding=UTF-8??
2.?? number_format=#??
3.?? date_format=yyyy-MM-dd??
4.?? time_format=HH:mm:ss??
5.?? datetime_format=yyyy-MM-dd?HH:mm:ss??
6.?? auto_import=/common/page_macro.ftl?as?p?
9. log4j.properties
1.?? log4j.rootLogger=INFO,?CONSOLE,?FILE??
2.?? ??
3.?? log4j.addivity.org.apache=true??
4.?? log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender??
5.?? log4j.appender.Threshold=DEBUG??
6.?? log4j.appender.CONSOLE.Target=System.out??
7.?? log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout??
8.?? log4j.appender.CONSOLE.layout.ConversionPattern=?%c?%x?-?%m%n??
9.?? ??
10.?log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender??
11.?log4j.appender.FILE.File=webapps/demo/WEB-INF/logs/file.log??
12.?log4j.appender.FILE.DatePattern=.yyyy-MM-dd??
13.?log4j.appender.FILE.layout=org.apache.log4j.PatternLayout??
14.?log4j.appender.FILE.layout.ConversionPattern=[DEMO]?%d?-?%c?-%-4r?[%t]?%-5p?%c?%x?-?%m%n?
http://www.cnblogs.com/huruxing159/archive/2009/03/19/1417216.html