struts2+spring+hibernate使用中遇到的问题(转载)

Struts2+Spring+Hibernate搭建全解! 1.先组合实现Hibernate3.2+Spring2.5支持,删除hibernate.cfg.xml文件,修改applicationContext.xml文件的内容,增加SessionFactory和dataSource的设置。9.修改web.xml文件,配置Spring监听器,和上下文变量。6.组合Struts2和Spring2.5,修改web.xml文件,增加struts2的所需要的过滤器配置。我用这个框架,实现的是基本的CRUD功能的一个雇员管理系统,本来打算丰富一下功能,但是一直没能抽出空去搞。 阅读详情
1. struts2和spring框架整合。
某些service需要注入到action中,但是在spring的配置文件中并未发现如何相应的<bean>配置。
struts2-spring-plugin插件包是随struts2一起发布,用于解决以上问题的。
第一种方式:
当struts创建action时,装配器将自动为action进行装配。装配原则是,在action中寻找setter方法,并分离出setter()方法的对象名。例如,setSecurityService(),将被分离出securityService。然后在spring中寻找id为securityService的<bean>,并将该<bean>注入action中。
第二种方式:
在action配置时,指定class,该class可以不必是真正的java类,而应该是spring配置文件中的一个<bean>的id。此时的<action>是由spring创建,并且以<bean>的形式出现在spring配置文件中。例如:
<action name="showAction" class="logAction"/>
<bean id="logAction" class="com.auto.LoginAction"/>
此时的action和bean是同一个对象。
 
2. Hibernate无法序列化could not serialize.
一般来说,是由于实体中某些field无法序列化。
 
3. getHibernateTemplate().findAll()可以找到所有的对象,但通过findBy无法查询出需要的对象。
可能是由于数据库中的实际数据的大小写和查询条件中的大小写没有一致起来。
 
4。strtus2标签中,可以直接将 对应action的field当作变量,直接引用, 同时这个field必须有对应的get/set。
 
5,在一个实体中关联的另一个实体无法序列化。
原因,第二个实体没有利用注解进行实例化。查看hibernate或spring的配置。
 
6. frame的marginHeight默认值不是0,因此,会造成不必要的间隙。
 
7,<%@ page contentType="text/html;charset=utf-8" pageEncoding="utf-8"%>
 
8,国际化信息的属性配置文件全部存放于classes目录下。
 
9,如何利用<s:property>来调用session中的DTO?
可以使用<s:property vaue="#session['loginDTO'].employeeName"/>
 
10,JS中的location对象。
该对象用于返回窗口或框架的URL。location.search则用于返回location的查询部分,即参数部分。例如,URL=http://www.automark.com?a=1&b=2,search返回?a=1&b=2,注意在JS中字符串位置是从0开始,而不是从1开始。
 
11,JS中如何定义类。
可以使用如下所示的方法。
function Object1(name,age){
  this.name=name;
  this.age=age;
}
利用new新建对象,例如,object1=new Object1('Dick',20);
object2=new Object1('Mike',30);
 
12,利用Ext拷贝对象属性,例如,
Ext.apply(object1,object2)。注意,object2参数可以缺省,但object2不可以是undefined的。最完整的模式为Ext.apply(object1,object2,default。如果有同名属性,则覆盖其值。
 
13,JS实现状态栏文字,使用status="欢迎光临";
        页面跳转,location.href=" http://www.sohu.com"进行处理。
 
14,关于JSON.
JSON(JavaScript Object Notation),是一种简单的数据格式,比XML更轻巧。JSON是JS的原生格式。JSON数据对象是一个集合,集合中的元素是无序的“名称/值”对。JSON对象以“{”开始,以“}”结束。名称与值之间使用“:”分隔,“名称/值”对之间使用“,”分隔。
 
15,JS,注意JS代码的执行顺序。
在<head>中定义的S代码不能通过document.getElementById()来获得<body>中的元素。这里的JS代码值,只直接执行的,非fuction()内部的代码。
 
16,JS中eval()的功能。
   ① 将普通字符变成运算表达式。
   ②将普通字符转变为对象
   ③用于执行JS代码,注意此处的JS代码无需<script>声明。
 
17,注意innerHTML在IE6.0中支持不好。innerHTML代表标签内部的子标签和文本,而innerText则代表标签内部的文本。另外,FF不支持innerHTML。
 
18,Struts2启动时,需要的最小类库组合。
commons-logging.jar, freemark.jar, ognl.jar, struts2-core.jar,xwork.jar。
当然每个jar包都有各自的版本号。
 
19, 使用session跟踪用户信息。
为了访问HttpSession实例,struts2提供了一个ActionContext类。该类提供了一个getSession()方法,即ActionContext.getContext().getSession()。该方法返回一个Map,如果为该Map添加一个属性/值对,那么可以使用getSession().put("user",getUserName())  将某个属性值压入Map中。在JSP页中可以使用${sessionScope.user}来获得user的值。
 
20,Action.field的值如何与JSP页进行信息交互。(摘自 李刚的Struts权威指南)
当Action设置了某个属性值后,struts2将这些属性全部封装于一个叫做struts.valueStack的请求属性中。可以通过request.getAttribute("struts.valueStack")来获得该对象。
①valueStack vs=(ValueStack)request.getAttribute("struts.valueStack");
//其中包含了所有field的值。
String[] books=(String[])vs.findValue("books");
//获得某个数组属性books
②使用OGNL进行访问。
<s:iterator value="books" status="index">
    <s:if test=""#index.odd == true">
        ...........................
    </s:if>
</s:iterator>
Struts2+Hibernate+Spring整合开发技术详解19章网上书店完整源码 Struts2+Hibernate+Spring整合开发技术详解19章网上书店完整源码(内附数据库导出文件) 与书上最后一章内容完全对应 可以结合书上教程进行最后一章学习 立即下载

相关推荐

整合Struts+Hibernate+Spring应用开发详解

本光盘是《整合Struts+Hibernate+Spring应用开发详解》一书的配书光盘,书中的代码按章存放, 即第二章所使用的代码放在codes文件夹的02文件夹下,依次类推。 本光盘根目录下有11个文件夹,其内容和含义说明如下: (1) 02~11个文件夹名对应于《整合Struts+Hibernate+Spring应用开发详解》中的章名, 即第二章所使用的代码放在codes文件夹的02文件夹下,依次类推。 (2) springlib文件夹下放的是编译和运行Spring项目的类库文件。

Struts+Spring+Hibernate项目框架构建中的问题及解决方法集锦(1)

 Struts1.2+Spring2.0+Hibernate3.1项目框架构建中的问题及解决方法集锦(1)                 前天自己尝试着使用 Eclipse3.2+Myeclipse5.5 搭建一个自己的 Struts1.2+Spring2.0+Hibernate3.1 项目框架,这自己不做还不知道,一做就吓了一跳,怎搭个项目框架就这么难,经过整整一天的摸索这才成功的构建了自

Morecans的专栏 8231

struts2+spring+hibernate源码(oracle数据库)

用struts2+spring+hibernate+oracle编写的一个例子,读者只需在数据库里建一个users表就行,适合初学ssh的的学习

struts2+spring+hibernate使用中遇到的问题

1. struts2和spring框架整合。 某些service需要注入到action中,但是在spring的配置文件中并未发现如何相应的<bean>配置。 struts2-spring-plugin插件包是随struts2一起发布,用于解决以上问题的。 第一种方式: 当struts创建action时,装配器将自动为action进行装配。装配原则是,在ac...

weixin_34128839的博客 211

Struts 2+Hibernate+Spring整合开发技术详解 12~17章

Struts 2+Hibernate+Spring整合开发技术详解 书上源码 作 者:蒲子明 出 版 社:清华大学出版社 第12~17章

网上商城系统(javaWeb+Struts2+Hibernate+Spring 实现,含数据库文件)

网上商城系统(javaWeb+Struts2+Hibernate+Spring 实现,含数据库文件)

Struts2和Hibernate 整合实验出现的错误和问题

一、Hibernate 问题 1、获得session的区别 getCurrentSession创建的session会和绑定到当前线程,而openSession不会。 getCurrentSession创建的线程会在事务回滚或事物提交后自动关闭,而openSession必须手动关闭(调用session的close()方法) 2、Error部分 (1)、ERROR: HHH0000...

初学者_小铭 1373

Zabbix故障排查10051端口无法启动:zabbix-server.service: main process exited, code=exited, status=1/FAILURE

zabbix-server.service: main process exited, code=exited, status=1/FAILURE报错说与数据库失去连接。

" DevOps菜鸟(Xu JieHao)" 的博客 2258

eclipse 环境下整合 struts2+spring+hibernate 开发web应用常见问题及解答

索引 1. org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): 2. org.hibernate.exception.SQLGrammarException: could not update 3. com...

weixin_30780221的博客 210

从理论到实践:笛卡尔空间阻抗控制的实现挑战与变体解析

本文深入探讨了笛卡尔空间阻抗控制的核心原理、工程实现中的五大挑战及经典变体实战解析。通过详细的数学建模和实际案例分析,揭示了阻抗控制在工业机器人、医疗设备等领域的应用价值,特别是在力感知精度、动力学模型校准和实时计算等方面的关键技术突破。

weixin_30952535的博客 449

用OpenPose进行单个或多个人体姿态估计

在计算机视觉中,人体姿态估计(关键点检测)是一个很常见的问题,在体育健身、动作采集、3D试衣、舆情监测等领域具有广阔的应用前景,本文要使用的检测方法就是基于OpenPose的人体姿态估计方法。 一、OpenPose简介 OpenPose人体姿态识别项目是美国卡耐基梅隆大学(CMU)基于卷积神经网络(CNN)和监督学习(SL)并以Caffe为框架开发的开源库。可以实现人体动作、面部表情、手指运动等姿...

weixin_42709563的博客 8404

struts+spring+hibernate做项目的困惑

使用struts+spring+hibernate做项目的困惑环境: spring:1.1 hibernate:2.1.6 strut:1.2.4 在做这个项目前,我们一直用servlet+jsp+javabean+jdbc开发系统,开发过程简单,效率也还可以,但就是sql写的太多,后期维护的工作量越来越大。而且PO基本上是table的一个对应,PO之间没有类的关系。在前期系统分析,基本上是做

wuhuif==专栏 856

STM32进入HardFault_Handler时,如何找到问题所在?

当STM32进入HardFault_Handler时,定位问题发生的点

m0_60831979的博客 2151

SSH之IDEA2017整合Struts2+Spring+Hibernate

推荐大家使用maven解决依赖问题,可以省去手动解决依赖的问题,项目参考:链接 摘要 IDEA无疑是Java编程的利器,在下面我们将介绍如何使用IDEA来整合SSH(Struts2 + Spring + Hibernate);介绍將分为三个部分来讲,分别是新建工程,Spring引入并测试, Hibernate引入并测试,Struts2引入并测试; 下面使用的IDEA的版本是2017.1 以下...

kevin的专栏 3万+

模拟IC版图DRC实战:手把手教你搞定MIM电容天线错误和ESD.10g违例

本文深入解析模拟IC版图中的MIM电容天线错误和ESD.10g违例问题,提供从错误解码到实战修复的完整指南。通过电路图修改、版图优化和验证闭环等步骤,帮助工程师高效解决DRC错误,特别适用于ADC等精密模拟电路设计。文章还分享了高级排错技巧和预防性设计策略,大幅提升流片成功率。

weixin_27697385的博客 295

Linux安装部署PostgreSQL详细步骤

Linux安装部署PostgreSQL详细步骤

2301_77356579的博客 9322

集成struts2 spring hibernate,使用注解

<br />集成struts,spring,hibernate时,对于初学者来说最大的麻烦就其繁琐的xml配置文件。现在三者都对基于注解的配置提供了良 好的支持。在struts2中,使用convent plugin,得益于annotation和规约,配置过程得以大大减少。在spring2.5也可以使用@Autowired,进行注入,使用 @Controller,@Service,@Repository注解,自动定义bean,还支持annotation风格的声明式事务支持,以及 aspectJ类似的

chyy2050的专栏 976

Valgrind 从入门到精通:内存调试和性能分析

Valgrind 提供了强大的 API,允许开发者编写自定义的检查工具。通过扩展 Valgrind,可以针对特定场景实现更精准的检测。

大模型大数据攻城狮的专栏 1218

Spring、Struts2、Hibernate整合

一、   Struts 2框架整合Spring步骤 工作之后这些框架很久都没接触了,作为备忘,记录一下,以后用到的时候方便查看 1、 复制文件。复制struts2-spring-plugin-x-x-x.jar和spring.jar到WEB-INF/lib目录下。其中的x对应了Spring的版本号。还需要复制commons-logging.jar文件到WEB-INF/lib目录下。

hantianjie_的专栏 999

【RT-DETR有效改进】为什么YOLO版本的RT-DETR训练模型不收敛精度差的问题

本文的内容同样为本专栏的前期预热文章,文章主要解释一下为什么有的人跑ultralytics仓库的RT-DETR精度很差,模型不收敛,mAP异常的情况。为了验证这一情况我也是跑了多个实验,从多个数据集出发,100-500的数据集我跑了大概5个数据集,1000的我跑了二个,2000的我跑了一个,4000的跑了一个,同时其中一些版本我也用了不同的batch_size来出发验证精度异常的情况。

Snu77的博客 9764

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Struts2+Hibernate+Spring 整合示例

Struts2+Hibernate+Spring 整合示例 Spring整合Struts2、Hibernate原理概述:         从用户角度来看,用户发出HTTP请求,当MVC框架的控制器组件拦截到用户请求时,将调用系统的业务逻辑组件,业务逻辑组件则调用系统的DAO组件,而DAO组件则依赖于SessionFactory和DataSource等底层组件实现数据库访问。

TKD03072010的专栏 2万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Struts2+Spring+Hibernate学习总结——XML才是王道

<br /><br />      2011 年 01 月 25 日 — 胡阳<br /><br />       前面几篇分别总结了Struts、Hibernate、Spring的学习(见《Struts2学习总结以及细枝末节》、《Hibernate学习总结》、《Spring学习总结》),这次把这几个综合起来总结一下,找一下这些东西各自的职责。不过个人感觉现在的总结还是比较肤浅的,没有实践很难有确切的体会,但学习的路程还是要记录下来的,正所谓:好记性不如烂键盘嘛。<br />学习路线:        网上

the_fire的技术博客 3726

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

struts2+spring4+hibernate5整合实例

struts2作为一个很传统的mvc框架,在一些项目中,仍然发挥着重要的作用,另外hibernate和spring的结合也是很常见的,这里介绍struts2+hibernate5+spring4的整合,因为struts2支持最高的spring是4版本,所以这里采用的是spring4。整合的思路比较简单,可以从struts2+spring整合,然后接着整合hibernate+spring。也可以反过...

feinifi的博客 1777

IntelliJ IDEA 下Spring整合Struts2、Hibernate

1. 整合原理: Spring与Struts2整合实际上是将Action对象交给Spring容器来负责创建。 Spring与Hibernate整合就是将sessionFactory交给Spring来负责维护,以及Spring维护session和aop事务。 2. 需要导入的特殊jar包 Hibernate中 java persist api java的持久化规范(接口) MySQL数据...

Coder Wang 2015

Struts2+Spring+Hibernate整合的例子

最近学习了Struts2,Spring,Hibernate的内容。并做了一个简单的消息发送的例子,因为系统很小,所以也不好意思叫系统。虽然例子简单,但SSH整合的基本内容都包含了。就记录下来,方便以后查阅。 这个是系统的基本需求。 用户能够发送消息(多选用户进行群发),查看自己的收件箱(其实是看自己接收到的消息),查看发件箱(查看发送消息记录)。用户进行分组,每个分组也可以包含多个子分组。

u010585448的专栏 3499
上一篇: 在Tomcat5.5中使用log4j进行日志管理
下一篇: applet开发相关问题
memory_xj
博客等级 码龄24年 44粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值