1.Action对象的产生问题(struts2本身产生好呢?还是让spring代替struts2产生好呢?)
答:这个问题是关于struts2和spring的整合问题,需要用到struts2的struts2-spring-plugin.jar包
如果让struts2本身产生action,action中的set方法struts2会根据这个jar包自动注入(不需要通过@Resource手动注入),如果在set方法上通过@Resource手动注入的话,会起不到任何作用,除非在set方法对应的成员变量上通过@Resource手动注入。
如果让spring代替struts2产生action,这个时候就需要在set方法上通过@Resource手动注入,并且action本身需要注入@Component("xxx")和@Scope("prototype"),注意,这里的xxx需要和struts.xml中action标签的class属性名一致,这里如果没有@Scope("prototype"),那么产生的action就是单例了。
2.jsp页面中文数据传递到action中的乱码问题?
答:struts2.1.8已经修正,只需要改struts.i18n.encoding的值为GBK即可。
如果是以前的版本,需要在web.xml中配置spring中的CharacterEncodingFilter过滤器设置encoding的值为GBK。
<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>
3.在jsp页面获取后台load查询出来的数据时,怎么延迟session的关闭时间?
答:在web.xml中配置spring中的OpenSessionInViewFilter过滤器。
4.配置的OpenSessionInViewFilter过滤器是放到struts2配置的过滤器前面还是后面?
答:放到struts2配置的过滤器前面。
5.配置OpenSessionInViewFilter过滤器后,如果spring配置文件中的SessionFactory的名称不是sessionFactory,会出现什么问题,怎么解决?
答:出现异常信息如下:org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'sessionFactory' is defined
需要设置sessionFactoryBeanName的值为spring配置文件中的SessionFactory的名称。
<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>mySessionFactory</param-value> </init-param> </filter> <filter-mapping> <filter-name>openSessionInView</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
6.配置OpenSessionInViewFilter过滤器后,如果spring配置文件中没有配置aop的事务边界,会出现什么情况?
答:会出现读取数据库中的数据正常,更新(新增、修改、删除) 数据库中的数据异常。异常信息如下:
org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker from transaction definition.
相关推荐
struts+spring+hibernate整合
12.6 整合Struts、Spring和Hibernate实现用户管理 12.6.1 Struts、Spring和Hibernate的整合方式 12.6.2 编写用户注册画面regedit.jsp 12.6.3 编写用户登录画面login.jsp 12.6.4 编写注册控制器RegeditAction.java ...
struts2和spring和Hibernate的整合包,在MyEclipse中自动导入老是有冲突包。
struts2 spring hibernate 整合
struts2 spring2 hibernate3整合源代码+jar包struts2 spring2 hibernate3整合源代码+jar包
使用mysql数据库的struts2 spring hibernate整合简单示例,也可参考我的:“struts2 spring hibernate整合要点、注意点”这篇文档来配置
整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6。 此外,还有:log4j、slf4j、junit4、ehcache等知识点。 项目...
Struts+Spring+Hibernate整合教程
Struts2 Spring3 Hibernate3.3框架整合,增删改查,包含有数据库建表语句,包含有JAR包,包含有源代码。包含有事务的配置以及运用。使用的是Oracle的序列来提供的主键自增,建表和建立序列的sql语句,已经放在工程...
struts,spring,hibernate三大框架的整合
Struts2 Spring3 Hibernate4 框架完美整合
本文并不想介绍Struts,Spring,Hibernate的原理系统架构等,本文地目的是通过一个较复杂地实例介绍如何整合Struts,Spring,Hibernate,网上现有的例子虽然也能达到目的,但功能都比较单一,复杂的例子时会有...
Struts2,Spring与Hibernate整合应用,学生成绩管理系统
轻量级 J2EE 企业应用实战:Struts+Spring+Hibernate 整合开发
平台是:MyElipse5.1,Tomcat5.59,Struts1.1,Spring1.2,Hibernate3.0,Sql server2000.
Struts+Spring+Hibernate 整合教程Struts+Spring+Hibernate 整合教程Struts+Spring+Hibernate 整合教程Struts+Spring+Hibernate 整合教程
轻量级Java EE企业应用实战 (第4版) Struts 2 Spring 4 Hibernate整合开发
轻量级J2EE企业应用实战--Struts+Spring+Hibernate整合开发笔记
MyClipse6.0\Struts2,Spring与Hibernate整合应用,学生成绩管理系统