Struts2 + Hibernate + Spring 以及javaweb模块问题解决(2)
40.IE和火狐浏览器 对于JavaScript的支持:
在qq书签中录入了很多关于ie和火狐对于JavaScript的区别,等等不再赘述。在项目中遇到的问题记录下来。
Document.getElementByID(“XX”).value 在ie,火狐中都可行。
在火狐中,jsp页面中用到了dojo框架时,在文本框的格式中采用了numberspinner这个形式时,在火狐中使用传统的document.XX.XX.value,并不能把值传到JavaScript的function函数中,唯有通过Document.getElementByID(“XX”).value方可。
41.关于hibernate延迟加载的异常 no session or session is closed
同样在qq书签中收入了很多关于此异常和关于hibernate延迟加载机制的网址。
关于这个异常,是在延迟加载中,简单的理解就是当session已经关闭后,又出现了hibernate试图通过session从数据库中加载实际的数据集,所以报出session已关闭的错误。
但是如果我们采用了延迟加载机制,希望在一些情况下,实现非延迟加载时的功能,在提供一个完整的Bspinq对象时,把所关联的bspInqParts 信息在session关闭之后仍然可以使用。这就要采用hibernate.initialize方法,可以通过强制加载关联对象来实现这一功能。
Hibernate.initialize(inq.getBspInqParts());
Session.close(); 搞定。
42. 为了实现透明化的延迟加载机制,hibernate进行了大量努力。其中包括JDK Collection接口的独立实现。
如果我们尝试用HashSet强行转化Hibernate返回的Set 型对象:
Set hset = (HashSet)user.getAddresses();
就会在运行期得到一个java.lang.ClassCastException, 实际上,此时返回的是一个Hibernate的特定Set实现“net.sf.hibernate.collection.Set”对象,而非
传统意义上的JDK Set实现。这也正是我们为什么在编写POJO时,必须用JDKCollection 接口(如Set,Map), 而非特定的JDKCollection 实现类(如HashSet、HashMap)申明Collection属性的原因。
43.验证码刷新显示问题:
在项目中验证码的刷新显示困扰了我很久,在近期得以解决。
在使用action的方法中 return null;(若return input;会有异常抛出,故下文中的src图片定位选择了用servlet进行,但缺点是servlet被执行了两遍,在以后的项目中寻求变化)
在servlet配置中为了防止被action过滤,Uri-pattern 改为VImage.jsp
在JavaScript中的src定义图片的显示时用servlet:’VImage.jsp’ +’ ?’ + Math.random();(使用随机数是为了保证刷新出来的图片不一样)
44. Unable to find 'struts.multipart.saveDir' property setting
今天在写项目的时候出现了一个这样的错误,不知道是怎么回事,后来在网上找资料发现了解决方法:
struts.multipart.saveDir没有配置。
struts.multipart.saveDir用于指定存放临时文件的文件夹,该配置写在struts.properties文件中。例如,如果在struts.properties文件加入如下代码:
struts.multipart.saveDir = /tmp
45. MyEclipse 8.x 关闭自动更新的问题.
1. Window --> Preferences --> General --> Startup and Shutdown -->找到"Automatic Updates Scheduler " 项去掉前面的勾。(不要看上面三个复选框,要在下面列表框里面靠下面一点找到)####重点注意下!!!
2. Window --> Preferences --> Myeclipse Enterprise Workbench --> Maven4Myeclipse --> Maven --> "Download repository index updates on startup" 去掉前面的勾。
46.input标签之中disable的注意:
如果<input type="text" name="productVO.type" disabled id="producttype" size="30" />存在disabled属性,那么后台action是不能接收到productVO.type的值的,去掉disabled即可。
47.hidden类型标签
hidden类型的标签,在javascript中是不能做焦点判断的。
48.ckeckbox js 全选功能name命名问题:
jsp中,当做checkbox全选功能时,其name不能命名为“XXXVO.name”,因为在js中用document.getElementsById(XXX)时,只能选中一个,而不能像name那样可以全部选中。
49.如同48:
jsp中,当做checkbox全选功能时,在js中用var user = document.forms[0].userid,当对象为多个时,user取出的是数组,而当对象为一个时,user取出的并不是数组,所以在做全选时,应该对user.length进行判断if(user.length),如果不是数组user.length返回false,再对其进行操作。
50.在sever中,关闭掉浏览器,重开之后,session丢失原因:
重新开浏览器之后,会发现原来的session会丢失,其实session在sever并没有丢失,而是重开浏览器之后session的id变了,所以浏览器会找不到session。解决办法:利用cookie将原先session的id保存进Map中,在重开浏览器之后,再通过cookie把map中的sessionId找到,然后通过id把原先session对象取出(这一步可以通过sessionListener实现)。
sessionListener主要是监听session对象的创建与销毁,当监听session创建时,通过create方法把session记入自己定义的Map对象中。通过自己定义的相应方法可以把session从Map中取出。当session销毁时,通过destroy方法把session从Map中删除,否则会造成内存的泄露。
51.通过把JSESSIONID放入cookie中,在action中会通过request.getsession自动找到原来的session。
不断更新总结中。。。 如有差错,欢迎批评指正。。。
Struts2 + Hibernate + Spring 以及javaweb模块问题解决(2)相关推荐
- Struts2 + Hibernate + Spring 以及javaweb模块问题解决(1)
Struts2 + Hibernate + Spring 以及javaweb模块问题解决 1.资源文件的配置:src文件夹里面要配置,action所在的目录中也要配置. 2.<s: action ...
- struts2+hibernate+spring配置详解
#struts2+hibernate+spring配置详解 struts2+hibernate+spring配置详解 哎 ,当初一个人做好难,现在终于弄好了,希望自学这个的能少走些弯路. 以下是自己配 ...
- Struts2+Hibernate+Spring 整合示例
转自:https://blog.csdn.net/tkd03072010/article/details/7468769 Struts2+Hibernate+Spring 整合示例 Spring整合S ...
- 【struts2+hibernate+spring项目实战】实现用户登录功能(ssh)
一.概述 从今天才开始有时间来总结总结以前自己练习的一些东西,希望总结出来对以后可以更加便捷的来学习,也希望可以帮助到正需要这些东西的同行人,一起学习,共同进步. 二. 登录功能总结 2.1.登录功能 ...
- 关于如何利用Struts2,Hibernate,Spring开发电子商业汇票系统
关于如何利用Struts2,Hibernate,Spring开发电子商业汇票系统. 首先先说说电子商业汇票的种类: 1.电子银行承兑汇票 2.电子商业承兑汇票 另外电子商业汇票与纸票的区别: 电子商业 ...
- SSH(Struts2+Hibernate+Spring)开发策略
很多小伙伴可能一听到框架两个字就会马上摇头,脑子里立刻闪现一个词---"拒绝",其实我也不例外,但我想告诉大家的是,当你真正掌握它时,你会发现**SSH**用起来是那么顺手,因为它 ...
- 【struts2+hibernate+spring项目实战】Spring计时器任务 Spring整合JavaMail(邮件发送)(ssh)
一.常用数据频度维护 对于系统使用度较高的数据,客户在查看时希望这些数据最好先出现,此时需要为其添加排序规则.在进行排序时,使用次数成为排序的依据.因此需要设置一个字段用来描述某种数据的使用次数,也就 ...
- 【struts2+hibernate+spring项目实战】数据报表jxl及生成excel(ssh项目实战)
一.数据报表jxl jxl是一款java读写office--Excel文件的工具.通过java程序进行Excel文件的读写操作. 操作Excel首先应该明确操作过程中java针对Excel文件的对象分 ...
- 【struts2+hibernate+spring项目实战】java监听器实现权限控制系统和资源获取优化(ssh)
一.权限控制系统 权限控制系统即用户登录后,如果操作了不能访问的操作,系统将其拦截. 权限控制系统设计需求: 系统功能并不是所有功能都需要被控制,例如登录功能无需校验 设计方案:资源中没有出现的功能将 ...
最新文章
- Xcode 调试的正确打开方式——Debugging
- 尚学堂java 参考答案 第七章
- MVC如何在HTML跳页面,请问在mvc网页中,如何跳转到web Form网页?
- thread和threadLocal之间的关系
- Qt4 QRadioButton和QCheckBox用法示例
- 大学计算机vb基础知识6,计算机基础课-VB6选择题汇编(2011-2016)
- Selenium +Python项目实践(注册流程)
- 自制 kazzo 烧录器
- 使用containerd管理容器【同docker】【或称之为docker替代品】
- Safari Web Extension 开发(1)
- (转载)基于sklearn的iris数据集及简介
- 2021-06-22 离散数学图论复习笔记
- 网狐6603所有版本--新金典版本最新漏洞。
- 通过页面验证hadoop是否安装成功的方法
- excel不显示0_Excel中把0显示为空白的三种解决方法
- Python告诉你《隐秘的角落》好看在哪里
- mysql默认使用悲观锁_mysql乐观锁和悲观锁详解
- 《 算法精解:c语言描述》chm 电子书下载
- Excel 2010 SQL应用038 以数值范围为条件的查询
- 最简单的WIN+R自定义快捷指令,清爽桌面。