- 浏览: 1579270 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
nich002:
原网站失效了。撸主简单粗暴的复制过来,可读性极差!差评!
Apache配置详解(最好的APACHE配置教程) -
107x:
不错,谢谢!
LINUX下查看文件夹下的文件个数! -
Hypereo:
好你妹,连个格式都没有!
Apache配置详解(最好的APACHE配置教程) -
resteater:
代码排版感觉有点乱!收发信息代码可读性不强!请问第一次发服务器 ...
java socket例子 -
resteater:
代码排版感觉有点乱!收发信息代码可读性不强!请问第一次发服务器 ...
java socket例子
From:http://blog.csdn.net/smarttony/archive/2007/01/17/1486155.aspx 讲的很通俗,所以转过来备忘一下:)
------------------------------------------------------------------
三者的结合堪称完美,整合三者关键是配置文件
1.web.xml用于web服务器装载过滤器,servlet,以及配置文件
struts在此被装载org.apache.struts.action.ActionServlet,还有它的配置参数config文件struts-config.xml,spring在此被装载org.springframework.web.context.ContextLoaderServlet还有它的配置文件applicationContext.xml,其他省略不列出
例子:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<servlet-name>action</servlet-name>
<servlet-class>
org.apache.struts.action.ActionServlet
</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>
org.springframework.web.context.ContextLoaderServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
2.struts-config.xml这个文件
这个是strust专有配置文件,配置form,全局转发,action,message-resources(用于显示提示信息),插件
格式如下:
<struts-config>
<form-beans>
<form-bean name="logonform" type="com.binghe.forms.LogonForm" />
.....
</form-beans>
<global-forwards>
<forward name="logon" path="/login.jsp" />
.......
</global-forwards>
<action-mappings>
<action path="/logon"
type="org.springframework.web.struts.DelegatingActionProxy" name="logonform"
input="/login.jsp" scope="request" validate="true">
<forward name="logon" path="/login.jsp" />
.....
</action>
......
</action-mappings>
<controller locale="true" />
<message-resources parameter="com.binghe.struts.ApplicationResources" />
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames"
value="/WEB-INF/validator-rules.xml,
/WEB-INF/validation.xml" />
</plug-in>
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/applicationContext.xml" />
</plug-in>
</struts-config>
3.applicationContext.xml
这个是spring的专有配置文件,里面配置代理hibernate资源和struts的action
格式如下:
<beans>
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName">
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</property>
<property name="url">
<value>jdbc:microsoft:sqlserver://127.0.0.1:1400;DatabaseName=books</value>
</property>
<property name="username">
<value>sa</value>
</property>
<property name="password">
<value>123</value>
</property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource" />
</property>
<property name="mappingResources">
<list>
<value>
com/binghe/hibernate/booktype/BookType.hbm.xml
</value>
<value>
com/binghe/hibernate/book/Book.hbm.xml
</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
<prop key="hibernate.show_sql">false</prop>
</props>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="bookTypeDAO"
class="com.binghe.spring.booktype.BookTypeDAOImp">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="bookDAO"
class="com.binghe.spring.book.BookDAOImp">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
<property name="bookTypeDAO">
<ref bean="bookTypeDAOProxy" />
</property>
</bean>
<bean id="bookTypeDAOProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="target">
<ref local="bookTypeDAO" />
</property>
<property name="transactionAttributes">
<props>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="check*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
<bean id="bookDAOProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="target">
<ref local="bookDAO" />
</property>
<property name="transactionAttributes">
<props>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="zhuxiao*">PROPAGATION_REQUIRED</prop>
<prop key="check*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
<bean name="/booktype"
class="com.binghe.struts.action.booktype.BookTypeAction"
singleton="false">
<property name="bookTypeDAO">
<ref bean="bookTypeDAOProxy" />
</property>
</bean>
<bean name="/book"
class="com.binghe.struts.action.book.BookAction"
singleton="false">
<property name="bookDAO">
<ref bean="bookDAOProxy" />
</property>
</bean>
</beans>
4.hibernate的配置文件为POJOClassName.hbm.xml,POJOClassName是你定义的一个javabean,你可以把这个配置文件放在和pojobean一个目录下,也可以放在其他目录,然后引用,格式如下:
<hibernate-mapping package="com.binghe.hibernate.reader">
<class name="Reader" table="reader" lazy="false">
<id name="id" column="id" type="integer">
<generator class="native" />
</id>
<property name="code" column="code" type="string"
not-null="false" />
<property name="name" column="name" type="string"
not-null="false" />
<property name="userId" column="userid" type="integer"
not-null="false" />
<property name="typeId" column="typeid" type="integer"
not-null="false" />
<many-to-one name="user" class="com.binghe.utils.UserBean"
insert="false" update="false">
<column name="userid" />
</many-to-one>
<many-to-one name="readerType"
class="com.binghe.hibernate.readertype.ReaderType" insert="false"
update="false">
<column name="typeid" />
</many-to-one>
<set name="borrowBills" lazy="false"
inverse="true" cascade="none">
<key column="readerid" />
<one-to-many
class="com.binghe.hibernate.borrowbill.BorrowBill" />
</set>
</hibernate-mapping>
上面的所有配置信息是我从自己做的一个项目中抽取出来的
spring中的依赖注入/控制反转是不错的,你可以定义任何接口,然后实现接口里面的方法,通过spring的配置文件把你的接口注入到任何地方,前提是你引用的必须是接口,在引用的地方必须有接口定义以及getter方法,不过你可以把这个接口当作类似javabean的一个属性一样来使用,javabean都有getter和setter方法的
spring里面的事务代理也挺挺不错的
<property name="target">
<ref local="bookTypeDAO" />
</property>
target它是指向要注入的类,代理这个类所实现的接口
<property name="transactionAttributes">
<props>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="check*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
transactionAttributes是对所代理的方法哪些方法提供事务,比如你定义一个以add开头的方法,那它就可以有事务管理了,对于它里面的所有操作,都可以实现事务机制,若有异常就回滚事务
hibernate的映射机制是orm,面向对象的数据库查询,查询时必须提供查询类(如find方法"from Book"hql语句中的Book不是表名而是类名),以得到它的实例,对应数据库的javabean的属性必须都是对象型的,int、double必须定义为Integer和Double类型,映射表有个lazy属性应该设置false,不然在查询数据库后加载一条记录时会报错。一对多双相关联:
一对多映射,复杂
<set name="borrowBills" lazy="false"
inverse="true" cascade="none">
<key column="readerid" />
<one-to-many
class="com.binghe.hibernate.borrowbill.BorrowBill" />
</set>
cascade属性不好用,如果有删除记录操作时我都把它设置成none值,双方都要设置,否则报错,因为没法相互通知
多对一映射,简单
<many-to-one name="name" type="com.ClassName" update="false" insert="false">
<column name="nameId" />
</many-to-one>
------------------------------------------------------------------
三者的结合堪称完美,整合三者关键是配置文件
1.web.xml用于web服务器装载过滤器,servlet,以及配置文件
struts在此被装载org.apache.struts.action.ActionServlet,还有它的配置参数config文件struts-config.xml,spring在此被装载org.springframework.web.context.ContextLoaderServlet还有它的配置文件applicationContext.xml,其他省略不列出
例子:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<servlet-name>action</servlet-name>
<servlet-class>
org.apache.struts.action.ActionServlet
</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>
org.springframework.web.context.ContextLoaderServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
2.struts-config.xml这个文件
这个是strust专有配置文件,配置form,全局转发,action,message-resources(用于显示提示信息),插件
格式如下:
<struts-config>
<form-beans>
<form-bean name="logonform" type="com.binghe.forms.LogonForm" />
.....
</form-beans>
<global-forwards>
<forward name="logon" path="/login.jsp" />
.......
</global-forwards>
<action-mappings>
<action path="/logon"
type="org.springframework.web.struts.DelegatingActionProxy" name="logonform"
input="/login.jsp" scope="request" validate="true">
<forward name="logon" path="/login.jsp" />
.....
</action>
......
</action-mappings>
<controller locale="true" />
<message-resources parameter="com.binghe.struts.ApplicationResources" />
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames"
value="/WEB-INF/validator-rules.xml,
/WEB-INF/validation.xml" />
</plug-in>
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/applicationContext.xml" />
</plug-in>
</struts-config>
3.applicationContext.xml
这个是spring的专有配置文件,里面配置代理hibernate资源和struts的action
格式如下:
<beans>
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName">
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</property>
<property name="url">
<value>jdbc:microsoft:sqlserver://127.0.0.1:1400;DatabaseName=books</value>
</property>
<property name="username">
<value>sa</value>
</property>
<property name="password">
<value>123</value>
</property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource" />
</property>
<property name="mappingResources">
<list>
<value>
com/binghe/hibernate/booktype/BookType.hbm.xml
</value>
<value>
com/binghe/hibernate/book/Book.hbm.xml
</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
<prop key="hibernate.show_sql">false</prop>
</props>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="bookTypeDAO"
class="com.binghe.spring.booktype.BookTypeDAOImp">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="bookDAO"
class="com.binghe.spring.book.BookDAOImp">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
<property name="bookTypeDAO">
<ref bean="bookTypeDAOProxy" />
</property>
</bean>
<bean id="bookTypeDAOProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="target">
<ref local="bookTypeDAO" />
</property>
<property name="transactionAttributes">
<props>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="check*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
<bean id="bookDAOProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="target">
<ref local="bookDAO" />
</property>
<property name="transactionAttributes">
<props>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="zhuxiao*">PROPAGATION_REQUIRED</prop>
<prop key="check*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
<bean name="/booktype"
class="com.binghe.struts.action.booktype.BookTypeAction"
singleton="false">
<property name="bookTypeDAO">
<ref bean="bookTypeDAOProxy" />
</property>
</bean>
<bean name="/book"
class="com.binghe.struts.action.book.BookAction"
singleton="false">
<property name="bookDAO">
<ref bean="bookDAOProxy" />
</property>
</bean>
</beans>
4.hibernate的配置文件为POJOClassName.hbm.xml,POJOClassName是你定义的一个javabean,你可以把这个配置文件放在和pojobean一个目录下,也可以放在其他目录,然后引用,格式如下:
<hibernate-mapping package="com.binghe.hibernate.reader">
<class name="Reader" table="reader" lazy="false">
<id name="id" column="id" type="integer">
<generator class="native" />
</id>
<property name="code" column="code" type="string"
not-null="false" />
<property name="name" column="name" type="string"
not-null="false" />
<property name="userId" column="userid" type="integer"
not-null="false" />
<property name="typeId" column="typeid" type="integer"
not-null="false" />
<many-to-one name="user" class="com.binghe.utils.UserBean"
insert="false" update="false">
<column name="userid" />
</many-to-one>
<many-to-one name="readerType"
class="com.binghe.hibernate.readertype.ReaderType" insert="false"
update="false">
<column name="typeid" />
</many-to-one>
<set name="borrowBills" lazy="false"
inverse="true" cascade="none">
<key column="readerid" />
<one-to-many
class="com.binghe.hibernate.borrowbill.BorrowBill" />
</set>
</hibernate-mapping>
上面的所有配置信息是我从自己做的一个项目中抽取出来的
spring中的依赖注入/控制反转是不错的,你可以定义任何接口,然后实现接口里面的方法,通过spring的配置文件把你的接口注入到任何地方,前提是你引用的必须是接口,在引用的地方必须有接口定义以及getter方法,不过你可以把这个接口当作类似javabean的一个属性一样来使用,javabean都有getter和setter方法的
spring里面的事务代理也挺挺不错的
<property name="target">
<ref local="bookTypeDAO" />
</property>
target它是指向要注入的类,代理这个类所实现的接口
<property name="transactionAttributes">
<props>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="check*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
transactionAttributes是对所代理的方法哪些方法提供事务,比如你定义一个以add开头的方法,那它就可以有事务管理了,对于它里面的所有操作,都可以实现事务机制,若有异常就回滚事务
hibernate的映射机制是orm,面向对象的数据库查询,查询时必须提供查询类(如find方法"from Book"hql语句中的Book不是表名而是类名),以得到它的实例,对应数据库的javabean的属性必须都是对象型的,int、double必须定义为Integer和Double类型,映射表有个lazy属性应该设置false,不然在查询数据库后加载一条记录时会报错。一对多双相关联:
一对多映射,复杂
<set name="borrowBills" lazy="false"
inverse="true" cascade="none">
<key column="readerid" />
<one-to-many
class="com.binghe.hibernate.borrowbill.BorrowBill" />
</set>
cascade属性不好用,如果有删除记录操作时我都把它设置成none值,双方都要设置,否则报错,因为没法相互通知
多对一映射,简单
<many-to-one name="name" type="com.ClassName" update="false" insert="false">
<column name="nameId" />
</many-to-one>
发表评论
-
JVM问题追查与调优
2012-03-27 14:44 1149JDK的几种分析工具 http://liudaoru ... -
NodeJs相关资料
2011-08-18 14:55 3020NodeJs获取参数: proces ... -
jprofiler追踪问题
2011-08-12 18:20 1052Jprofiler下载页: http://www.ej ... -
Linux服务器性能评估与优化【z】
2011-07-01 10:05 1557来自:http://www.itlearner.com/ ... -
Java 理论与实践: 非阻塞算法简介【z】
2011-03-26 20:39 1288From: http://www.ibm.com/develo ... -
Java Crash问题分析[z]
2011-03-23 14:41 5978参考: http://www.ibm.com/develop ... -
Berkeley DB相关
2010-09-25 22:17 1061为什么要使用Berkeley DB,它适合什么场合应用?Ber ... -
熟悉系统方法总结
2010-07-06 14:26 824了解一个陌生的系统是我们经常碰到的事情,下面总结一下自己的一些 ... -
Java缓存框架 EhCache
2010-07-06 14:09 4734From: http://www.oschina.net/p/ ... -
【nio】使用 ServerSocketChannel 实现的 File 服务器[z]
2010-05-21 17:31 3979From: http://www.java2000.net/p ... -
Memcached命令行管理
2010-03-15 11:18 4495From: http://www.exp2up.com/2 ... -
(转)Resin服务器配置指南
2010-01-21 15:35 3473From:http://blog.21cn.com/super ... -
Flickr架构
2010-01-11 09:52 1273From: http://www.cyask.com/ques ... -
JDK的几种分析工具
2009-12-04 12:13 10910From: http://blog.csdn.net/hant ... -
XMemcached——一个新的开源Java memcached客户端
2009-10-23 09:27 1899From: http://www.infoq.com/cn/ ... -
多线程任务调度学习
2009-10-16 13:58 2308昨天找到一套多线程任务调度的代码,相当的不错,先把思路总结一下 ... -
用HSCALE实现MySQL的数据分布式存储
2009-10-15 12:47 3023From:http://www.ningoo.net/ht ... -
马化腾:搜索、电子商务硬仗一定要坚持打
2009-10-15 12:09 1724From:http://www.techweb.com.c ... -
MySQL分表实现上百万上千万记录分布存储的批量查询设计模式【z】
2009-10-15 09:56 3179From:http://hi.baidu.com/jabber ... -
nginx负载均衡和lvs负载均衡的比较分析【z】
2009-10-13 20:02 1478From:http://www.shouker.com/u ...
相关推荐
DWR+Struts+spring+hibernate的订货系统,自己添加的dwr功能
简单struts+spring+hibernate搭建,配置,适合初学者
项目原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6 二、 项目目的: 整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + ...
Struts1.2、Spring2.5和Hibernate3.2是经典的Java企业级开发框架组合,它们各自在应用程序的不同层次上发挥着重要作用。Struts1.2是一个MVC(Model-View-Controller)框架,主要负责处理用户界面与业务逻辑之间的...
网上订餐系统(struts+spring+hibernate).rar 网上订餐设计主要采用采用MYSQL数据库进行数据表的设计,利用JSP的动态生成页面编程技术, 实现了用网络展示餐饮信息、浏览餐饮页面、注册客户、更改客户信息;同时,...
在IT行业中,SSH(Struts + Spring + Hibernate)是一个经典的Java Web开发框架组合,用于构建高效、可扩展的Web应用程序。本项目通过SSH框架实现了图书管理系统的图书修改和删除功能,下面将详细介绍这三个核心组件...
SSH(Struts+Spring+Hibernate)是一个经典的Java Web开发框架,用于构建高效、可扩展的企业级应用程序。这个教务管理信息系统是基于SSH框架实现的,提供了完整的源代码,可以直接运行,便于开发者学习和参考。 **...
Struts2+Spring+Hibernate 中的Action单元测试环境搭建 在软件开发中,单元测试是一种非常重要的测试方法,可以帮助我们确保代码的可靠性和稳定性。在 Struts2+Spring+Hibernate 框架中,对 Action 的单元测试环境...
基于struts+spring+hibernate+oracle的移动ssh项目源码 基于struts+spring+hibernate+oracle的移动ssh项目源码 基于struts+spring+hibernate+oracle的移动ssh项目源码 基于struts+spring+hibernate+oracle的移动ssh...
总的来说,这个"struts2+spring2.5+hibernate3.2整合完整项目"提供了一个完整的开发实例,涵盖了前端到后端,以及数据库的各个环节。对于学习者而言,可以深入理解这三大框架的协同工作,提升Java Web开发技能。而...
基于spring实现的网上订餐系统(struts+spring+hibernate+SQL Server) 基于spring实现的网上订餐系统(struts+spring+hibernate+SQL Server) 基于spring实现的网上订餐系统(struts+spring+hibernate+SQL Server) 基于...
标题和描述中指出的文档《Struts+Spring+Hibernate开发实例.pdf》包含了关于这三个流行的Java开源框架结合使用的示例代码和相关知识点。Struts负责视图与控制器部分,Spring负责业务逻辑层及依赖注入,Hibernate负责...
轻量级JavaEE企业应用实战_Struts2+Spring3+Hibernate整合开发_第3版.part1
基于JavaWeb实现的图书管理系统(struts+spring+hibernate+SQL Server) 基于JavaWeb实现的图书管理系统(struts+spring+hibernate+SQL Server) 基于JavaWeb实现的图书管理系统(struts+spring+hibernate+SQL Server) ...
Struts 2+Spring 3+Hibernate框架技术精讲与整合案例3Struts 2+Spring 3+Hibernate框架技术精讲与整合案例3Struts 2+Spring 3+Hibernate框架技术精讲与整合案例3
Struts1.2+Spring2.0+Hibernate3.1Struts1.2+Spring2.0+Hibernate3.1Struts1.2+Spring2.0+Hibernate3.1Struts1.2+Spring2.0+Hibernate3.1
Struts 2+Spring 3+Hibernate框架技术精讲与整合案例Struts 2+Spring 3+Hibernate框架技术精讲与整合案例Struts 2+Spring 3+Hibernate框架技术精讲与整合案例Struts 2+Spring 3+Hibernate框架技术精讲与整合案例...
struts2+spring2.5+hibernate3.2 + freemarker 全新功能实现的增删改查+freemarker 摸版 struts2 的方式自己去看简单。 spring2.5 是用注释来注入 hibernate3.2 是用ejb3注解映射关系 hibernate3 +个属性可以自动...
SSH三大框架,即Struts、Spring和Hibernate,是Java Web开发中的常用技术组合,它们各自负责不同的职责:Struts作为MVC模式中的Controller层,处理用户请求并转发到相应的业务逻辑;Spring则作为核心容器,负责依赖...
AJAX实现用户登录注册(Struts+Spring+Hibernate+Ajax框架) AJAX实现用户登录注册(Struts+Spring+Hibernate+Ajax框架) AJAX实现用户登录注册(Struts+Spring+Hibernate+Ajax框架)