- 浏览: 1248434 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (193)
- ant/maven (6)
- algorithm (5)
- tomcat/weblogic/jboss (6)
- javascript/jquery (13)
- java (33)
- flex/flash (0)
- JPA/Hibernate/myBatis (18)
- java concurrent (7)
- test (2)
- windows/linux (6)
- java collection (7)
- design pattern (2)
- life/health (3)
- database (12)
- IDE (4)
- spring/ejb (20)
- html/css/ckeditor (7)
- jsp/servlet (3)
- java io (13)
- java security (4)
- jni (0)
- svn/git (2)
- english (2)
- java jmx (1)
- xml (1)
- struts/springmvc (9)
- middleware (2)
- cache (1)
- cglib (3)
最新评论
-
jlotusYo:
博主,真感谢。
Java 密码扩展无限制权限策略文件 -
senninha:
这个。。是api说明吧。。
ScheduledExecutorService 源码分析 -
zoutao2008:
请问大文件如何处理?按你这种方式的话,文件超过200M时就会报 ...
hessian系列之二:上传文件 -
lwj1113:
lwj1113 写道谢谢博主这么细致的demo;在系列五中通过 ...
myBatis系列之五:与Spring3集成 -
lwj1113:
谢谢博主这么细致的demo;在系列五中通过testng测试类跑 ...
myBatis系列之五:与Spring3集成
一. spring hibernate struts 整合开发(1) - 搭建环境
二. spring hibernate struts 整合开发(2) - Spring集成的Hibernate编码和测试
三. spring hibernate struts 整合开发(3) - Struts集成Spring
四. spring hibernate struts 整合开发(4) - Struts与Spring集成2
五. spring hibernate struts 整合开发(5) - Hibernate二级缓存
六. spring hibernate struts 整合开发(6) - 额外功能
1. 在web容器中实例化spring容器
spring自带的实例化容器方法是:
在web.xml中,通过配置listener和context param:
查看ContextLoaderListener源码,可以看到spring把上下文放到servletContext里:
2. Struts配置
a. 在web.xml中,加入struts配置段:
b. 新建struts-config.xml文件,加入下面配置:
3. 新建com.john.web.action.PersonAction类,重载execute方法:
4. 新建person_list.jsp文件,加入下面内容:
开启Web服务(Tomcat, jetty等)测试
整理自:传智播客spring教程
二. spring hibernate struts 整合开发(2) - Spring集成的Hibernate编码和测试
三. spring hibernate struts 整合开发(3) - Struts集成Spring
四. spring hibernate struts 整合开发(4) - Struts与Spring集成2
五. spring hibernate struts 整合开发(5) - Hibernate二级缓存
六. spring hibernate struts 整合开发(6) - 额外功能
1. 在web容器中实例化spring容器
spring自带的实例化容器方法是:
AbstractApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
在web.xml中,通过配置listener和context param:
<!-- 指定spring的配置文件,默认从web根目录寻找配置文件,我们可以通过spring提供的classpath前缀指定从类路径下寻找 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:beans.xml</param-value> </context-param> <!-- 对Spring容器进行实例化 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
查看ContextLoaderListener源码,可以看到spring把上下文放到servletContext里:
servletContext.setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, this.context);
2. Struts配置
a. 在web.xml中,加入struts配置段:
<servlet> <servlet-name>struts</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>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>struts</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
b. 新建struts-config.xml文件,加入下面配置:
<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_3.dtd"> <struts-config> <action-mappings> <action path="/person/list" type="cn.john.web.action.PersonAction" validate="false"> <forward name="list" path="/WEB-INF/page/person_list.jsp"/> </action> </struts-config>
3. 新建com.john.web.action.PersonAction类,重载execute方法:
public class PersonAction extends Action{ @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { // Spring provides us a util to get the context WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(this.getServlet().getServletContext()); PersonService personService = (PersonService)ctx.getBean("personService"); request.setAttribute("persons", personService.getPersons()); return mapping.findForward("list"); } }
4. 新建person_list.jsp文件,加入下面内容:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <body> <c:forEach items="${persons}" var="person"> ${person.id} ${person.name} </c:forEach> </body>
开启Web服务(Tomcat, jetty等)测试
整理自:传智播客spring教程
发表评论
-
本地事务系列之五:使用Transactional注解
2014-08-02 18:16 2835AOP的配置稍显复杂,通过@Transactional注解,同 ... -
本地事务系列之四:使用AOP
2014-08-02 17:08 907Spring AOP通过在文件中配置来管理事务,好处是对代码侵 ... -
本地事务系列之三:使用TransactionTemplate
2014-07-17 22:15 6778TransactionTemplate的灵活性好,可以给代码块 ... -
本地事务系列之二:使用PlatformTransactionManager
2014-07-17 21:37 5405Spring的事务管理器接口: public interf ... -
本地事务系列之一:JDBC操作
2014-07-08 23:04 1239本地事务即对一个数据源进行操作。大多数数据库支持事务。 先看 ... -
Spring AOP 源码系列:ProxyFactoryBean
2014-04-21 18:01 0public class ProxyFactoryBean ... -
Spring AOP 源码系列
2014-04-21 09:22 0Spring AOP通过JDK的正则表达式对Pointcut表 ... -
Spring AOP系列之五:后置通知
2014-04-14 08:59 1678和前置通知类似, 通过实现org.springframewor ... -
Spring AOP系列之四:前置通知
2014-04-13 21:28 1835通过实现org.springframework.aop.M ... -
Spring AOP系列之三:环绕代理
2014-04-13 18:20 1426通过实现org.aopalliance.intercept.M ... -
Spring AOP系列之二:Java代理
2014-04-13 18:00 1055通过Java代理的方式: 汽车的代理,需要实现java.la ... -
Spring AOP系列之一:手动方式
2014-04-13 17:44 1396AOP (Aspect Oriented Progra ... -
HibernateTemplate 使用
2014-03-03 22:09 01. queryListBySql hibernateTe ... -
Spring的组件扫描
2017-09-16 21:58 1069Spring2.0以后的版本中,引入了基于注解(Annotat ... -
ContextLoaderListener和ContextCleanupListener源码分析
2013-12-18 15:55 0public class ContextLoaderLis ... -
Cglib2AopProxy 源码分析
2013-12-05 14:30 0final class Cglib2AopProxy im ... -
Spring生命周期方法的调用顺序
2013-11-19 22:04 0Spring的几个接口: BeanFactoryAware: ... -
一、Spring AOP的简单实例
2013-11-06 23:31 17831. 往pom.xml文件添加以下依赖: <depe ... -
Spring配置中的bean引用其它bean的属性值
2013-01-23 15:24 4237这项功能在spring的3.0版本以上才支持,如果使用较早的版 ... -
spring JPA struts 整合开发(2) - spring集成struts
2012-05-20 20:55 1436一. spring JPA struts 整合开发(1) - ...
相关推荐
spring.jar spring-aop.jar spring-aop.jar spring-beans.jar spring-hibernate3.jar spring-jdbc.jar spring-struts.jar spring-web.jar
struts-spring-hibernate-_-integration-2.zip
3. **Struts-Spring-Hibernate集成**: - **环境搭建与基本配置**:首先需要将Spring、Hibernate和Struts的库导入到项目中,并在`web.xml`中配置`context-param`,指定Spring的配置文件`applicationContext.xml`的...
- Spring框架的相关jar包:spring-context、spring-beans、spring-aop、spring-webmvc等,用于提供核心服务和支持Web开发。 - Hibernate框架的jar包:hibernate-core、hibernate-entitymanager、hibernate-validator...
例如,Spring的核心库spring-context、spring-web等,Hibernate的orm和ejb3-persistence模块,以及Struts2的核心库struts2-core、struts2-spring-plugin等。这些JAR文件是运行SSH框架项目的基础,需要按照正确的顺序...
Java-Spring+Struts+Hibernate-SSH框架整合01-Spring+Hibernate(一步一步的教你敲代码)(博客园,博客名称:Java-Spring+Struts+Hibernate-SSH框架整合01-Spring+Hibernate)
对于Struts2和Spring的配置,我们需要在`struts.xml`和`spring-context.xml`文件中进行相应的设置,例如定义Action类、配置Spring Bean以及指定Struts2与Spring的整合方式。同时,确保web.xml文件中配置了...
Struts2、Hibernate3和Spring是Java开发中常用的三大框架,它们各自负责不同的职责:Struts2用于控制应用程序的流程,Hibernate3则是优秀的对象关系映射(ORM)框架,Spring则提供全面的依赖注入(DI)和面向切面...
Struts Hibernate Spring Ajax Struts Hibernate Spring Ajax
本项目使用Struts、Hibernate和Spring三层结构,表现层使用Struts1.1,业务层使用Spring1.2,持久层使用Hibernate3,只是一个小demo,但是麻雀虽小确五脏俱全,我们一样需要按照瀑布式开发过程去开发。通过设计我们...
《Spring+Struts+Hibernate整合开发》是一本深入讲解企业级Java应用开发的书籍,它主要聚焦于三大著名开源框架——Spring、Struts和Hibernate的集成与应用。这些框架是Java Web开发中的基石,广泛应用于各种复杂的...
### Struts2.0、Spring2.0与Hibernate3.0整合开发快速入门知识点解析 #### 一、Struts2.0与Hibernate3.0整合基础 **知识点1:Struts2.0简介** - **定义**: Struts2是Apache基金会下的一个开源项目,它是一个基于...
【标题】"Spring-Struts2-Hibernate-Maven整合教程" 在Java Web开发领域,Spring、Struts2、Hibernate这三大框架的组合,通常被称为SSH(Spring-Struts2-Hibernate),是构建企业级应用的常见选择。Maven作为项目...
整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6。 此外,还有:log4j、slf4j、junit4、ehcache等知识点。 项目...
"hibernate+spring+struts整合开发jar文件"提供了这些框架所需的库文件,帮助开发者快速搭建开发环境,避免了因版本不兼容或缺失jar文件导致的问题。 1. Hibernate:作为Java领域的一个ORM(Object-Relational ...
随着技术的发展,Spring Boot和Spring MVC的出现,现在更多地推荐使用Spring Boot进行一站式开发,因为它已经内置了对Hibernate和Struts的替代方案,如Spring Data JPA和Spring MVC,简化了整合过程,提高了开发效率...
整合Spring、Struts和Hibernate可以提高项目的可维护性和开发效率,但同时也会增加项目的复杂性。理解这三个框架的核心原理,合理配置和使用,是保证项目顺利进行的关键。通过以上步骤,你将能构建出一个基本的基于...
Spring如何整合Hibernate和struts --cglib来实现事务管理.rtf.rtf
Struts Hibernate Spring Ajax Struts Hibernate Spring Ajax
这三者整合在一起,形成了SSH(Struts2-Spring-Hibernate)框架,为开发人员提供了强大的企业级应用开发能力。 整合Struts2、Spring和Hibernate的过程主要包括以下几个步骤: 1. **Struts2配置**: - 首先,需要...