部署应用到websphere上发现的问题
来源:互联网 发布:sql server 自然连接 编辑:程序博客网 时间:2024/05/22 20:02
问题描述:
平台登陆的时候没有问题,但是当从平台进入各个子平台的时候会出现用户名不存在的问题,但是当再次进入这个子系统的时候就是正常的。
解决方法:
后来经过认真的分析,发现是我们连接的数据库有问题,数据库放在了一个个人电脑了,经常会关机,所以导致数据库连接经常性断了,所以出现了上述情况。
1、 设置validationQuery属性
validationQuery:用于验证连接是否成功的查询SQL语句,SQL语句必须至少要返回一行数据,如你可以简单地设置为:“select 1 from dual”;
2、 把maxActive设置大于0,maxActive:最大连接数据库连接数,设置为0时,表示没有限制;
问题总结:
当数据库连接池中的连接被创建而长时间不使用的情况下,该连接会自动回收并失效,但客户端并不知道,在进行数据库操作时仍然使用的是无效的数据库连接,这样,就导致客户端程序报“ java.sql.SQLException: Io 异常: Connection resetby peer”或“java.sql.SQLException 关闭的连接”异常,加上<propertyname="validationQuery" value="select * from dual"/>
配置后,客户端在使用一个无效的连接时会先对该连接进行测试,如果发现该连接已经无效,则重新从连接池获取有效数据库连接来使用
以上是个人的分析和理解,有不对的地方请大家指出共同讨论~~~
出现Connection reset bypeer: socket write error异常的几种可能:
1. 客户端发出请求时,没有完全获得服务器端的响应,客户端与服务器端发生断链(例如网络中断、用户点击了停止按钮、浏览器关闭等)时
2. 服务器的并发连接数超过了最大链接数,服务器关掉了其中的一些链接。
3. 数据传输时的等待时间过长,超出了数据库的会话时间限制。
以上服务器端都有可能报出 socket write error 异常。
有人说用 response.setCharacterEncoding("GBK"); 无效,必须用 response.setContentType("text/html;charset=GBK"); 本人没试过。
对于JSP,是比较方便的,只需要在JSP最前部分按如下方式声明:
<%@ pagecontentType="text/html;charset=GBK"%>
对于HTML,其和JSP文件基本类似,也是在页面最前部分按如下方式声明:
<head>
<METAHTP-EQUIV="contentType" CONTENT="text/html;charset=GBK">
</head>
3.? 国际化资源文件的中文问题
一个Struts应用程序中,可以配置多个资源包,无论是Action、ActionForm还是JSP都可以访问这些包中的资源。资源包就是由扩展名为.properties的文件组成的一组具有相同前缀的文件,如ApplicationResources_zh_CN.properties、ApplicationResources_zh.properties和ApplicationResources.properties。这些文件就构成一个Struts的资源包,它们都有一个统一的前缀ApplicationResources,凡是有相同前缀的资源文件就都属于一个包。
当用MyEclipse编写资源文件时,默认是不能保存中文的,因为默认保存编码的格式是ISO-8859-1,这就需要修改为gb2312或者gbk编码格式。Windons-->Preferences-->General -->Content Types-->Text-->JavaProperties File,在最下方把其Default encoding改为"UTF-8”,然后"update”就可以保存中文了。但就这样保存的中文还是不能够在页面上使用的,因为Web容器默认是使用ISO-8859-1,也就会把中文用ISO-8859-1的格式发送给客户页面,显示的还是乱码,这就是JAVA国际化的问题。JAVA是支持unicode编码格式的,unicode是国际统一通用编码,所以不管什么格式的编码转化为unicode编码肯定不会显示乱码的。这个时候就是需要把资源文件的UTG-8编码格式转化为unicode编码格式,而SUN公司又提供了这样的一种工具。在JDK的安装目录bin下,有一个叫native2ascii可执行文件,这个是专门来进行资源文件转码的。打开cmd,进入JDK的bin目录下,把资源文件拷贝到该目录下,执行该命令。比如:
native2ascii –encoding GBK ApplicationResources.propertiesApplicationResources_zh_CN.properties 就是把GBK编码格式ApplicationResources.properties转化为unicode编码格式ApplicationResources_zh_CN.properties,这样显示页面时就不会出现乱码了。
- 部署应用到websphere上发现的问题
- 在websphere上部署应用遇到的问题
- Struts2部署在Websphere上的问题
- axis2部署到websphere问题
- 在MyEclipse中调试部署到Websphere上的程序
- 将应用部署到Websphere的context root根/
- SPING框架部署在websphere上碰到的问题
- websphere 部署到eclipse中间遇到的问题
- 关于 WebSphere 的应用部署
- 关于 WebSphere 的应用部署
- 关于 WebSphere 的应用部署
- axis怎么部署到websphere上
- WebSphere集群部署的问题
- 调用部署在websphere上的EJB
- osgi应用使用桥接的方式打成war包部署在websphere上时遇到的与cxf相关的问题
- 应用部署到tomcat的路径问题
- tomcat下的web应用部署到weblogic上乱码问题
- websphere上部署基于cxf框架的webservice项目报错问题的解决方案
- 23种设计模式之命令模式3
- Objective-C风暴来袭,精彩不容错过
- SQL 日常检查脚本
- C#设置输入法
- VC,webbrowser控件中弹出新网页窗口
- 部署应用到websphere上发现的问题
- 为什么公有云在中国落地难
- 关于MyEclipse较检异常 Invalid result location value/parameter 及Cannot return from outside a function or
- 查看mysql版本号
- poj 3189
- 深入理解Flash的沙箱 – Application Domains
- 谷歌、苹果、Facebook及亚马逊的四国演义
- js keycode 列表
- 用Linux守护进程检测某个程序是否运行