`
xugq035
  • 浏览: 36030 次
社区版块
存档分类
最新评论

配置struts2.0.6+spring2.0.3+hibernane3备忘

    博客分类:
  • J2EE
阅读更多

花了2个小时终于配置好struts2.0.6+spring2.0.3+hibernane3,为自己庆祝一下,分享一下经验

一、struts2。

跟webwork配置基本一致,主要是struts2.properties和struts.xml 2个配置文件,我的struts2.properties如下配置:

struts2.properties
  1. struts.tag.altSyntax = true  
  2. struts.devMode = true  
  3.   
  4. ### These can be used to set the default HTTP and HTTPS  ports   
  5. struts.url.http.port = 80  
  6. #webwork.url.https.port = 443  
  7.   
  8. ### This can be used to set your locale and encoding scheme   
  9. struts.custom.i18n.resources=ApplicationResources  
  10. struts.locale=zh_CN  
  11. struts.i18n.encoding=utf-8   
  12.   
  13. # uses javax.servlet.context.tempdir by default   
  14. struts.multipart.parser=com.opensymphony.webwork.dispatcher.multipart.PellMultiPartRequest   
  15. #struts.multipart.saveDir=tmp  
  16. struts.multipart.saveDir=/tmp   
  17. struts.multipart.maxSize=512000000  
  18. struts.configuration.xml.reload=true  
  19.   
  20. struts.objectFactory = spring  

struts.xml 就是配置action了,由于设定了struts.objectFactory = spring,因此struts2会自动将action转为spring的bean,struts.xml可以直接配置我们的action路径,在action中我们只需要设置某个service文件的set方法即可调用事务管理bean。

struts.xml
  1. <!---->xml version="1.0" encoding="UTF-8" ?>  
  2. <!---->
  3.     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"   
  4.     "http://struts.apache.org/dtds/struts-2.0.dtd">  
  5.   
  6. <struts>  
  7.   
  8.     <include file="struts-default.xml" />  
  9.   
  10.     <package name="default" extends="struts-default">  
  11.         <default-interceptor-ref name="completeStack" />  
  12.   
  13.         <global-results>  
  14.             <result name="login" type="redirect">login!default.actionresult>  
  15.             <result name="unauthorized">unauthorized.jspresult>  
  16.         global-results>  
  17.            
  18.         <action name="login" class="com.baseframe.action.LoginAction">  
  19.             <result name="input">login.jspresult>  
  20.             <result name="success">main.jspresult>  
  21.             <result name="error">login.jspresult>  
  22.         action>  
  23.         <action name="logout" class="com.baseframe.action.LogoutAction">  
  24.             <result name="success">login.jspresult>  
  25.         action>  
  26.     package>  
  27.   
  28. struts>  

二、spring2。

添加dist下的3个spring包,因为不知道哪些包是必须的,把lib里的包都加了,去除jakarta-commons/commons-attributes-compiler.jar、j2ee/servlet-api.jar、j2ee/jsp-api.jar,然后建立配置文件,我分了三个文件:

主配置文件
  1. <!---->xml version="1.0" encoding="UTF-8"?>  
  2. <!---->
  3.     "http://www.springframework.org/dtd/spring-beans.dtd">  
  4. <beans>    
  5.     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">  
  6.         ...   
  7.     bean>  
  8.        
  9.     <bean id="hibernateProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">  
  10.         ...   
  11.     bean>  
  12.        
  13.     <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  14.         <property name="dataSource" ref="dataSource"/>  
  15.         <property name="hibernateProperties">  
  16.             <ref bean="hibernateProperties"/>  
  17.         property>  
  18.         <property name="mappingResources">  
  19.             <list>  
  20.                 <value>com/baseframe/model/AppUser.hbm.xmlvalue>  
  21.                 <!---->  
  22.             list>  
  23.         property>  
  24.     bean>  
  25.        
  26.     <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
  27.         <property name="sessionFactory" ref="sessionFactory"/>  
  28.     bean>  
  29.        
  30.     <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">  
  31.         <property name="transactionManager" ref="transactionManager"/>  
  32.         <property name="transactionAttributes">  
  33.             <props>  
  34.                 <prop key="*">PROPAGATION_REQUIREDprop>  
  35.                 <prop key="amount*">PROPAGATION_REQUIRED,readOnlyprop>  
  36.                 <prop key="find*">PROPAGATION_REQUIRED,readOnlyprop>  
  37.             props>  
  38.         property>  
  39.     bean>    
  40.        
  41.     <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">  
  42.         <property name="beanNames">  
  43.             <value>*Servicevalue>  
  44.         property>  
  45.         <property name="interceptorNames">  
  46.             <list>  
  47.                 <value>transactionInterceptorvalue>  
  48.                 <!---->  
  49.             list>  
  50.         property>  
  51.     bean>  
  52.        
  53.     <bean class="org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor">  
  54.         <property name="transactionInterceptor" ref="transactionInterceptor"/>  
  55.     bean>  
  56. beans>  
 
dao配置文件
  1. <!---->xml version="1.0" encoding="UTF-8"?>  
  2.   
  3. <!---->
  4.     "http://www.springframework.org/dtd/spring-beans.dtd">  
  5.   
  6. <beans default-autowire="byName">  
  7.        
  8.     <bean id="userDao" class="com.baseframe.dao.impl.UserDaoImpl"/>  
  9.        
  10. beans>  

 

service/manager配置 
  1. <!---->xml version="1.0" encoding="UTF-8"?>  
  2.   
  3. <!---->
  4.     "http://www.springframework.org/dtd/spring-beans.dtd">  
  5.   
  6. <beans default-autowire="byName">  
  7.        
  8.     <bean id="userService" class="com.baseframe.service.impl.UserServiceImpl"/>  
  9.        
  10. beans>  

 

三、web.xml

有一点很重要,struts的filter需要放在最底,不然action接收的中文可能会乱码,不知道是不是这个原因,反正配置了就没有乱码了,加上org.springframework.orm.hibernate3.support.OpenSessionInViewFilter就不用考虑hibernate的lazy问题了:

xml 代码
  1. <filter>  
  2.       <filter-name>encodingFilterfilter-name>  
  3.       <filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class>  
  4.       <init-param>  
  5.           <param-name>encodingparam-name>  
  6.           <param-value>UTF-8param-value>  
  7.       init-param>  
  8.   filter>  
  9.   <filter-mapping>  
  10.       <filter-name>encodingFilterfilter-name>  
  11.       <url-pattern>/*url-pattern>  
  12.   filter-mapping>  
  13.  <filter>
      <filter-name>hibernateFilter</filter-name>
      <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
      </filter>
      <filter-mapping>
      <filter-name>hibernateFilter</filter-name>
      <url-pattern>/*</url-pattern>
      </filter-mapping>
      
  14.   <filter>  
  15.        extremetable的filter   
  16.   filter>  
  17.   <filter-mapping>  
  18.        extremetable的filter mapping   
  19.   filter-mapping>  
  20.   
  21.   <filter>  
  22.       <filter-name>struts2filter-name>  
  23.       <filter-class>org.apache.struts2.dispatcher.FilterDispatcherfilter-class>  
  24.   filter>  
  25.   <filter-mapping>  
  26.       <filter-name>struts2filter-name>  
  27.       <url-pattern>/*url-pattern>  
  28.   filter-mapping>  

 

如有错误,欢迎指正

分享到:
评论
29 楼 tony.lee 2007-06-29  
为什么用这个?
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/classes/struts.xml"
/>
</plug-in>
那么strtus2提供的struts2-spring-plugin-2.0.8.jar是干嘛用的呢?
28 楼 kevin_gzhz 2007-06-29  
内容是很好的,我刚开始学这个东西,你能不能把你这个应用的目录结构说一下拉!!
27 楼 cqyaoran 2007-06-21  
你的spring事务配置用的是1.0的配置呀,不是2.0的
26 楼 xugq035 2007-06-20  
你是否漏了某些包没加进去?
25 楼 越前龙马.sh 2007-06-18  
感谢楼主的知识分享!

我也跟着先做了一个struts2的helloworld列子,启动成功,struts2的架子搭好了,准备把spring2和hibernate3整合到其中,以下是我的一些配置文件:
web.xml :
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

<display-name>Struts2test</display-name>
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>Struts2test.root</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:spring/*.xml</param-value>
</context-param>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>
/WEB-INF/classes/conf/log4j.properties
</param-value>
</context-param>

<!-- 著名 Character Encoding filter -->
<filter>
<filter-name>encodingFilter</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>
</filter>
<!--Hibernate Open Session in View Filter-->
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
</filter>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<!-- 让hibernate open session in view的荣光也照耀xfire -->
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>

<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<!--Spring ApplicationContext 载入 -->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<listener>
<listener-class>
org.springframework.web.util.Log4jConfigListener
</listener-class>
</listener>
<!-- session超时定义,单位为分钟 -->
<session-config>
<session-timeout>1</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>

</web-app>


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>
<include file="struts-default.xml" /> 
    <include file="struts/example.xml"/>
   
    <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> 
    <set-property property="contextConfigLocation"   
                  value="/WEB-INF/classes/struts.xml"   
    /> 
</plug-in>
</struts>

struts.properties:
struts.devMode = true
struts.enable.DynamicMethodInvocation = false
#struts.objectFactory = spring   这里有个问题,在struts.xml中已经定义了plugin,在这里还需要再定义这个吗?

以上是我的整合spring的配置文件,但是启动tomcat的时候会报如下错误:
log4j:WARN No appenders could be found for logger (org.apache.catalina.startup.TldConfig).
log4j:WARN Please initialize the log4j system properly.
2007-6-18 7:26:43 org.apache.catalina.core.StandardContext start
严重: Error listenerStart
2007-6-18 7:26:43 org.apache.catalina.core.StandardContext start
严重: Context [/struts2test] startup failed due to previous errors
2007-06-18 07:26:43,109 INFO [org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/struts2test]] - Shutting down Log4J
2007-6-18 7:26:43 org.apache.catalina.core.StandardContext processTlds
严重: Error reading tld listeners java.lang.NullPointerException
java.lang.NullPointerException
at org.apache.log4j.Category.isEnabledFor(Category.java:757)
at org.apache.commons.logging.impl.Log4JLogger.isTraceEnabled(Log4JLogger.java:327)
at org.apache.catalina.startup.TldConfig.tldScanResourcePaths(TldConfig.java:581)
at org.apache.catalina.startup.TldConfig.execute(TldConfig.java:282)
at org.apache.catalina.core.StandardContext.processTlds(StandardContext.java:4278)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4115)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:904)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:867)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
2007-6-18 7:26:43 org.apache.coyote.http11.Http11BaseProtocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2007-6-18 7:26:43 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2007-6-18 7:26:43 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/31  config=null
2007-6-18 7:26:43 org.apache.catalina.storeconfig.StoreLoader load
信息: Find registry server-registry.xml at classpath resource
2007-6-18 7:26:43 org.apache.catalina.startup.Catalina start
信息: Server startup in 1422 ms

以下是我加入的jar包:
antlr-2.7.6.jar
asm-2.2.1.jar
cglib-nodep-2.1_3.jar
commons-beanutils-1.7.1-20061106.jar
commons-collections-3.2.jar
commons-dbcp-1.2.1.jar
commons-digester-1.7.jar
commons-lang-2.3.jar
commons-logging-1.1.jar
dom4j-1.6.1.jar
freemarker-2.3.8.jar
hibernate-3.2.0.ga.jar
jstl-1.1.2.jar
jta-1.0.1B.jar
jtds-1.2.jar
log4j-1.2.8.jar
ognl-2.6.11.jar
spring-2.0.jar
struts2-core-2.0.6.jar
struts2-spring-plugin-2.0.6.jar
xwork-2.0.1.jar
tomcat包就不列出来了

起初我看到是log4j的错误时,我就把web.xml中的log4j去掉,但是启动还报这个错误,我有点困惑,为何一加入spring之后就会报这个错误,为何去掉了log4j后还会报log4j的错误。
24 楼 stamen 2007-06-01  
请把程序文件上传上来好吗?供学习一下。
23 楼 kongxx 2007-04-25  
关注一下,最近正要用
22 楼 xly_971223 2007-04-23  
楼主有的例子中 有没有遇到下面这个帖子中的问题啊
http://www.iteye.com/topic/73332
21 楼 zhutiehan 2007-04-22  
看看~~~~
20 楼 xly_971223 2007-04-21  
引用
spring的bean应该在action中调用,在LoginAction中应该包含类似如下的代码:

private EmployeeService employeeService;
public void setEmployeeService(EmployeeService employeeService) {
      this.employeeService = employeeService;
}


这个EmployeeService才是spring的bean
只要你再struts.properties文件中设定了struts.objectFactory = spring,加入struts2-spring-plugin-2.0.6.jar就可以了


是不是加了struts2-spring-plugin-2.0.6.jar之后action会自动被spring托管了?
还是其他方式,楼主能不能给解释一下?
19 楼 Kaddish 2007-04-19  
action交给spring管理后,struts2的validation功能使用出现异常,点击提交表单按钮后还是返回到原先页面!

struts.xml文件中增加:
 
<constant name="objectFactory" value="spring"></constant>
[b]<action name="Login" class="login">[/b]
    <result name="input">/example/Login.jsp</result>
    <result type="redirect-action">Menu</result>
</action>


applicationContext.xml文件如下:


<beans>  
    <bean id="helloWorld" class="example.HelloWorld"></bean> 
   [b] <bean id="logon" class="example.Login"></bean>[/b]
    <bean id="index" class="example.ExampleSupport"></bean>
</beans>


Login.jsp如下:
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
    <title>Sign On</title>
</head>

<body>
<s:form action="Login">
    <s:textfield key="username"/>
    <s:password key="password" />
    <s:submit/>
</s:form>
</body>
</html>



Login-validation.xml如下:
<!DOCTYPE validators PUBLIC
        "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
        "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">

<validators>
    <field name="username">
        <field-validator type="requiredstring">
            <message key="requiredstring"/>
        </field-validator>
    </field>
    <field name="password">
        <field-validator type="requiredstring">
            <message key="requiredstring"/>
        </field-validator>
    </field>
</validators>


Login.java代码就不写了,因为程序根本就没进这个Action。每次提交时进行验证,然后返回到原拉的Login界面!如果不把action交给spring管理的话就能正确提交,为什么?
18 楼 huangpengxiao 2007-04-19  
原来把ACTION交给SPRING 管理 STRUTS 1.2 经常出莫名其妙的问题 WEBWORK 应该没问题
17 楼 sunsy 2007-04-18  
  用SPRING管理ACTION的话有一点可能要注意,就是SCOPE要设成prototype,如果也使用了struts2的UI,还是用的spring默认的scope,那么在action中提供的对象在同一浏览器中做新境、编辑时会混起来,可能出现编辑也是新增的情况,就因为默认的singleton不会再重新生成一个新的action。
  这个当时同事就遇到这个问题,我帮着调了一下,没具体使用了。
16 楼 freeport 2007-04-18  
 <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">   
        <property name="beanNames">   
            <value>*Service<value>   
        property>   
        <property name="interceptorNames">   
            <list>   
                <value>transactionInterceptor<value>   
                <!--    </span> </li> <li class="alt"><span><span class="comments">                                此处增加新的Interceptor   </span> </span></li> <li class=""><span><span class="comments">                        -->   
            list>   
        <property>   
    <bean>   


这里为什么是*Service
而不是*DAO呢???
15 楼 raykcn 2007-04-18  
Tiwen 写道
这样搭配似乎美中不足。既然你选择了SPRING作为IOC容器,那么你的ACTION也应该被SPRING的IOC管理


为什么要spring控制action呢,你在action中写逻辑代码 ?
14 楼 spiritfrog 2007-04-15  
roundlight 写道
非常感谢 xugq035 的介绍资料,我也想搞个 struts + spring + hibernate 相结合的东西出来, 不知道 这位朋友,能不能给我做一下指导啊,再这里 先谢过了啊

  如果,有机会的话,像你学习啊


其实你可以参考appfuse啊,mvc层可以用struts,webwork,tapestry。
13 楼 xly_971223 2007-04-14  
引用
xugq035 写道
多谢复贴,这个做法我也试过,不过我觉得这样我就需要对每个action作2次的配置(struts、spring各一次),我还是保留我的配置方法,而且对于struts2来说还会直观一点,即使不用spring,struts2的配置文件也不需要作什么修改。

如果将struts2的action交给spring的ioc容器管理,那这个action实例能够获得springioc容器的一切优点,包括使用spring的aop系统,而且我记得在webwork2里,把action交给spring管理性能上更好一点,但struts2.0就不清楚了,毕竟人家用的是xwork2.0

个人认为让spring管理action更好一些 也可以更灵活的处理客户端请求
12 楼 ahuaxuan 2007-04-03  
xugq035 写道
多谢复贴,这个做法我也试过,不过我觉得这样我就需要对每个action作2次的配置(struts、spring各一次),我还是保留我的配置方法,而且对于struts2来说还会直观一点,即使不用spring,struts2的配置文件也不需要作什么修改。

如果将struts2的action交给spring的ioc容器管理,那这个action实例能够获得springioc容器的一切优点,包括使用spring的aop系统,而且我记得在webwork2里,把action交给spring管理性能上更好一点,但struts2.0就不清楚了,毕竟人家用的是xwork2.0



Tiwen 写道

Spring配置文件添加
       <bean id="LoginAction" class="com.baseframe.action.LoginAction"/>   
       <bean id="LogoutAction" class="com.baseframe.action.LogoutAction"/> 


难道spring2.0里默认的bean实例不是单例的吗
11 楼 xugq035 2007-04-03  
多谢复贴,这个做法我也试过,不过我觉得这样我就需要对每个action作2次的配置(struts、spring各一次),我还是保留我的配置方法,而且对于struts2来说还会直观一点,即使不用spring,struts2的配置文件也不需要作什么修改。
10 楼 Tiwen 2007-04-02  
这样搭配似乎美中不足。既然你选择了SPRING作为IOC容器,那么你的ACTION也应该被SPRING的IOC管理
更正

WEB.XML添加

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


Spring配置文件添加


       <bean id="LoginAction" class="com.baseframe.action.LoginAction"/>   
       <bean id="LogoutAction" class="com.baseframe.action.LogoutAction"/> 



最后struts.xml配置文件改下
         <action name="login" class="LoginAction">   
            <result name="input">login.jspresult>   
            <result name="success">main.jspresult>   
            <result name="error">login.jspresult>   
        action>   
        <action name="logout" class="LogoutAction">   
            <result name="success">login.jspresult>   
        action>   


这样容器管理就交给SPRING好了。

相关推荐

    struts2.0.6+spring2.0.3+hibernane3的配置

    ### Struts2.0.6配置 Struts2作为MVC框架的一部分,主要负责处理Web层的请求与响应。其核心配置文件`struts.xml`和`struts.properties`定义了框架的行为与动作映射。 #### `struts.properties`关键配置解析: - *...

    Tomcat5.5+struts2+Spring2.0.6+Hibernate3图书进行管理的系统.zip

    这是一个基于经典的Java Web技术栈构建的图书管理系统,利用了Tomcat5.5作为应用服务器,Struts2作为MVC框架,Spring2.0.6负责依赖注入和事务管理,而Hibernate3则作为对象关系映射(ORM)工具,用于数据库操作。...

    struts1.2.9+spring2.0.6+hibernate3.0.5 整合开发的一个例子

    Struts1.2.9、Spring2.0.6和Hibernate3.0.5是Java Web开发中的三个重要框架,它们的整合应用是早期企业级应用程序的常见实践。这个例子展示了如何将这三个框架集成在一起,以实现高效、灵活的MVC(模型-视图-控制器...

    Struts2+Spring2+Hibernate3 web应用示例

    现在就将笔者使用Myeclipse工具应用struts2 + spring2 + hibernate3 实现CRUD操作的步骤一一纪录下来,为初学者少走弯路略尽绵薄之力!在本文中,笔者将Struts2.0.6、Spring2.0.6和Hibernate3.1进行整合,希望通过...

    Struts2.0+Springframework2.5+ibatis2.3完美整合用户登录及增删改查

    最流行技术Struts2.1 +Spring 2.5.1+ibatis2.3整合开发而成,这与我以前发布的版本中最大特色是整合了Spring2.5.1中的注解功能和半自动化工具ibatis技术,这是本示例的两大特色,简化了配置文件的烦锁,希望能给更多喜欢...

    struts2+spring

    2. **启用Struts2-Spring插件**:在Struts2的配置文件(struts.xml)中启用Struts2-Spring插件,以便让Struts2知道如何与Spring容器交互。 3. **创建自定义拦截器**:为了更好地利用Spring的功能,可能还需要创建...

    新版SSH+DWR配置(Struts2.1.8+Spring3.0+Hibernate3.3.2+DWR2.0.6).doc

    本文将详细介绍如何配置新版SSH+DWR框架,即Struts2.1.8、Spring3.0和Hibernate3.3.2与Direct Web Remoting (DWR) 2.0.6的集成。这个配置示例是基于目前最新的技术栈,旨在提供一个高效、稳定的开发环境。 首先,...

    Struts2+Spring2+Hibernate3 web应用示例------源代码

    现在就将笔者使用Myeclipse工具应用struts2 + spring2 + hibernate3 实现CRUD操作的步骤一一纪录下来,为初学者少走弯路略尽绵薄之力!在本文中,笔者将Struts2.0.6、Spring2.0.6和Hibernate3.1进行整合,希望通过...

    struts2 + spring2 + hibernate3 .pdf

    根据提供的文件信息,本文将详细解析“Struts2 + Spring2 + Hibernate3”技术栈的集成与应用。本文主要从项目准备、环境搭建、公共类的设计等方面进行深入讲解。 ### 一、项目背景及意义 Struts2、Spring2 和 ...

    最新版本Struts2.1.8+Spring3.0+Hibernate3.3.2+DWR2.0.6配置

    ### 最新版本Struts2.1.8+Spring3.0+Hibernate3.3.2+DWR2.0.6配置详解 在本篇内容中,我们将详细探讨如何搭建一个基于Struts2.1.8、Spring3.0、Hibernate3.3.2以及DWR2.0.6的Web应用程序框架。这一组合被称为SSH+...

    Struts2+Spring+Hibernate整合的例子.doc

    Spring2.0.6的引入则提供了对Struts2的集成支持,可以通过Spring的Action代理来管理Action实例,实现依赖注入。Hibernate3.1则负责数据持久化,通过配置映射文件(XML或注解)将Java对象与数据库表关联。 在整合的...

    maven建立struts2+spring+ibatis项目

    3. **配置pom.xml**:在新创建的项目中,编辑pom.xml文件,添加Struts2、Spring和iBatis的依赖。例如: ```xml &lt;!-- Struts2 --&gt; &lt;groupId&gt;org.apache.struts &lt;artifactId&gt;struts2-core &lt;version&gt;2.5.17 ...

    struts2.0+spring2.0+hibernate3.0整合

    使用的框架版本是Struts2.0.6、Spring2.5和Hibernate3.2,这些都是当时比较稳定的版本。JDK6.0是Java开发所需的运行环境,MySQL5.0是关系型数据库管理系统。 在开始整合前,我们需要准备数据库。在这个简单的注册...

    Myeclipse+struts2.0.11+hibernate+spring配置

    在本文中,我们将深入探讨如何在Myeclipse环境中配置一个基于Struts2.0.11、Hibernate和Spring的Web项目。这个配置过程分为几个关键步骤,确保所有必要的库和框架能够协同工作。 首先,我们需要在MyEclipse中创建一...

    java-Struts2-Spring和Hibernate架构应用实例.doc

    开发环境:本文使用的开发环境是MyEclipse5.0+Eclipse3.2+JDK5.0+Tomcat5.5+Struts2.0.6+Spring2.0.6+Hibernate3.1。 示例:本文的示例是一个图书管理系统,提供了基本的增加、删除、修改、查询等功能。示例使用了...

    Spring3.0.5+Mybatis3.0.5+Struts2.0.6整合

    总之,Spring 3.0.5、Mybatis 3.0.5和Struts2.0.6的整合是一个复杂但重要的过程,它涉及到多个层次的配置和代码编写。理解每个框架的核心功能和它们之间的协作机制,是成功完成整合的关键。通过这样的整合,我们可以...

    Struts2+AJAX+JPA+Spring合集(英文版)

    在与Struts2和JPA的集成中,Spring主要负责管理Bean的生命周期、配置以及处理事务,它提供了无缝的集成解决方案,使得整个应用架构更加清晰、模块化。 #### 综合运用案例分析 在实际开发中,结合Struts2、AJAX、...

Global site tag (gtag.js) - Google Analytics