1.
源码准备:
1)
struts2
源码:
a)
struts-2.1.6-all.zip
b)
xwork-2.1.6.rar
c)
jp.gr.java_conf.ussiy.app.propedit_5.3.3.zip,eclipse
管理资源文件
2)
spring2.5
源码:
a) spring-framework-2.5.6.zip
3)
hibernate3.2
源码:
a)
hibernate-distribution-3.3.2.GA-dist.zip
b)
hibernate-annotations-3.4.0.GA.zip
c)
slf4j-1.5.8.zip
2.
SSH
所需要的
jar
包:
1)
jar
包图解:
2)
jar
包相关说明:
3.
所需注意的问题:
1)
@Scope(value=”propotype”)
问题
a)
每定义的
action
类,需要定义其类型为:
propotype
,在类上面加上:
@Scope(value=”propotype”)
b)
如果不设置,
spring
初始化的每个类,默认
Scope
值为
singleton
方式。然而
webWork
的
Action
不是线程安全的,要求在多线程环境下必须是一个线程对应一个独立的实例,不能使用
singleton
。所以,我们在
Spring
配置
webWork Action Bean
时,需要加上属性
scope=”prototype”
或
singleton=”false”
。
2)
OpenSessionInViewFilter
相关问题:
a)
由于
Hibernate
引入了
Lazy Load
特性
()
,使得脱离
Hibernate
的
Session
周期的对象如果再想通过
getter/load
方法取到其关联对象的值,
Hibernate
会抛出一个
LazyLoad
的
Exception
。
b)
解决这个问题,
Spring
引入了这个
Filter
,使得
Hibernate
的
Session
的生命周期变长。
c)
具体配置:
<filter>
<filter-name>openSessionInView</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
<init-param>
<param-name>sessionFactoryBeanName</param-name>
<param-value>sf</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>openSessionInView</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3)
中文乱码问题:
a)
中文乱码问题,在
struts.xml
中配置:
<constant name="struts.i18n.encoding" value="GB18030" />
仍然无法解决。
b)
此为
strtust2.1.6
的一个
bug
问题,解决方法是使用
spring
提供
encodingFilter实现。
c)
encodingFilter
具体配置:
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4)
filter
在web.xml
中的顺序问题:
a)
在web.xml
配置中功能越大的filter
应该越配在前面。
b)
多个filter
在过滤过程图解:
如下:
5)上传文件时清除缓存filter:
<filter>
<filter-name>struts-cleanup</filter-name>
<filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
</filter>
<filter-mapping>
<filter-name>struts-cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
在做上传文件的时候,要在web.xml中增加ActionContextCleanUp这个filter,如果不增加,会发生第一次上传取不到文件的情况
分享到:
相关推荐
S2SH框架是Java Web开发中的一个经典组合,由Struts2、Spring和Hibernate三个开源框架组成。这个基础框架旨在为初级Java开发人员提供一个快速开发的平台,同时适用于小型到中型项目的应用。下面我们将深入探讨这三个...
S2SH框架适用于中小型Web应用程序,尤其是那些需要快速开发和迭代的项目。由于其组件化的设计,可以灵活地调整和扩展,适应不同项目的需求。对于初学者,通过S2SH框架的学习,可以快速掌握Java Web开发的基本流程和...
Struts2、Spring和Hibernate(简称S2SH)是Java Web开发中的一种经典组合,用于构建企业级应用。这三个框架的整合提供了模型-视图-控制器(MVC)架构的全面支持,使得开发者能够更高效地管理和组织项目代码。下面...
"S2SH需要的所有jar包"这个压缩包文件包含了这三个框架以及Java Web开发所需的其他相关库。下面将详细阐述SSH框架的主要组件及其相关的jar包,以及它们在开发中的作用。 1. Struts2:Struts2是一个基于MVC(Model-...
**S2SH简单集成小项目** 本项目是一个基于Struts2、Spring和Hibernate(简称S2SH)的轻量级Java Web应用框架的实例。S2SH是企业级Web开发中常用的三大开源框架的组合,它们分别是:Struts2负责控制层,Spring处理...
标题中的“一个图书馆登录,注册,增删改查 包含分页的S2SH框架 小程序”指的是一个基于S2SH(Struts2、Spring、Hibernate)框架开发的图书管理小程序,它具备用户登录、注册功能,并能对图书进行增加、删除、修改和...
Struts2、Hibernate和Spring(简称S2SH)是Java Web开发中的一种经典组合,用于构建基于MVC(Model-View-Controller)架构的应用程序。这个整合程序涉及到这三大框架的协同工作,以实现数据持久化、业务逻辑处理以及...
在Java Web开发中,S2SH(Struts2、Hibernate和Spring)是一个常见的技术栈,用于构建企业级的Web应用程序。本示例着重讲解如何在S2SH框架下实现分页功能,这对于处理大量数据的展示和管理至关重要,能够提高用户...
总的来说,S2SH-CRUD项目为初学者提供了一个直观的学习平台,通过实际操作,可以深入理解S2SH框架的架构和工作原理,进一步提升Java Web开发技能。在实践中不断探索和学习,你会发现S2SH框架的强大和灵活性,为未来...
【标题】"Java EE轻量级框架应用与开发--S2SH-示例代码和部分贯穿项目代码.zip" 涉及的是Java企业版(Java EE)中的轻量级框架应用,尤其是Spring、Struts和Hibernate(S2SH)的经典组合。这个压缩包可能包含了这些...
S2SH,全称为Struts2+Spring+Hibernate,是Java Web开发中的一个经典整合框架,用于构建高效、可维护的Web应用程序。这个框架结合了Struts2(MVC框架)、Spring(依赖注入和事务管理)和Hibernate(对象关系映射)的...
在IT行业中,尤其是在Web开发领域,`s2sh`通常指的是Struts2、Spring和Hibernate三个框架的集成,它们一起构建了一个强大的Java EE应用程序开发框架。分页是Web应用中常见的功能,特别是在处理大量数据时,它能提高...
通过【S2SH小项目】的学习,初学者能够全面理解Java Web开发中的核心技术和框架集成,为后续的进阶学习打下坚实基础。同时,这个项目也强调了实际操作和问题解决,有助于提升开发者的实战能力。
在IT行业中,S2SH(Struts2、Spring和Hibernate)是一个常见的企业级Web应用程序开发框架组合。这个小案例展示了如何将这三个强大的组件整合到一起,以构建一个功能完备的后端系统。以下是对这个整合过程的详细说明...
【标题】"s2sh的单表增删改查小系统有数据库" 是一个基于Struts2、Spring和Hibernate(简称S2SH)三大主流Java Web框架构建的简单数据库操作应用。这个系统主要实现了对单一数据库表的基础操作,包括添加(Add)、...
【S2SH小例子(整合)】是一个典型的Java Web开发示例,它涵盖了三大主流开源框架:Struts2、Spring和Hibernate的集成应用。这个整合示例对于学习和理解这三大框架如何协同工作,以及在实际项目中的应用具有重要的参考...
【标题】:“(仿铁路网上售票系统+google数字分页)S2SH 的小项目”指的是一款基于S2SH框架开发的模拟铁路网上售票系统的应用程序。S2SH是Struts2、Spring和Hibernate三个开源Java框架的组合,常用于构建企业级Web...
在这个“初学EXTJS 加S2SH做的小练习”项目中,开发者尝试将EXTJS的前端能力与S2SH的后端功能相结合,创建了一个简单的Web应用程序。 EXTJS 提供了一套丰富的组件库,包括表格、表单、树形视图、图表等,使得开发者...