常见升级过程可能遇到的问题以及解决办法
1. 日志提示
信息: validateJarFile(/data/jsp/www.netfilm.cn/skin/ROOT_3/WEB-INF/lib/jsdk23.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
原因: jsdk23.jar 是resin的 servlet 2.3规范的实现, 目前用的是tomcat 容器,所以冲突了,但系统会忽略加载该jar;
解决办法: 可以不用处理,迁移成功后,可以删除该文件;
2. 日志提示
严重: Error processing TLD files for context path /
javax.servlet.ServletException: Exception processing TLD at resource path /WEB-INF/webwork.tld in context /
原因: WEB-INF/webwork.tld 文件没找到,因 web.xml 有如下配置
<taglib>
<taglib-uri>webwork</taglib-uri>
<taglib-location>/WEB-INF/webwork.tld</taglib-location>
</taglib>
解决办法:找到 WEB-INF/lib/webwork-2.1.7.jar 这个文件(具体版本号可能有差异), 拷贝到 /tmp目录,unzip 解压该文件,将解压后META-INF/taglib.tld 文件改名
成 webwork.tld , 拷贝到 相应 WEB-INF目录 ,重启 tomcat 即可;
3. 日志提示
严重: Parse error in application web.xml file at
jndi:/admin.netfilm.cn//WEB-INF/web.xml
java.lang.IllegalArgumentException: Invalid <url-pattern> /*.jsp in filter mapping
原因: tomcat 的 servlet 的实现遵守严格的servlet mapping 规范,该mapping规则不符合规范,故报错
解决办法:将 <url-pattern>/*.jsp</url-pattern> 改成<url-pattern>*.jsp</url-pattern>
参考: specs 目录下的 servlet-2_4-pfd3-spec.pdf 中的 Specification of Mappings 相关内容
4. 使用类似 <%@ include file="/inc/page_charset.jsp"%> 方式来指定页面charset , 外层的 jsp 中文显示乱码问题
原因: tomcat编译该2个jsp文件时编码选择错误(未真正将2个文件合并成一个文件来处理)
解决办法: 升级 相应应用的 web.xml
将 web.xml 升级为支持 Servlet2.5规范,声明如下:
<?xml version="1.0" ?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
并在web.xml <web-app>元素下添加配置信息,如下所示(其中gbk就是指定的编码):
<!-- 注:该声明从Servlet2.4才支持,故需先升级web.xml声明 -->
<jsp-config>
<jsp-property-group>
<display-name>JSPConfiguration</display-name>
<url-pattern>*.jsp</url-pattern>
<url-pattern>*.html</url-pattern>
<url-pattern>*.htm</url-pattern>
<el-ignored>true</el-ignored>
<page-encoding>gbk</page-encoding>
<scripting-invalid>false</scripting-invalid>
</jsp-property-group>
</jsp-config>
5. 日志提示
严重: Parse error in application web.xml file at jndi:/adf.netmovie.com.cn//WEB-INF/web.xml
部分原因: Servlet规范中 web.xml 中 init-param 元素是没有storePath等属性的, 故报错
解决办法:
将 <init-param storePath="/data/jsp/adf.netmovie.com.cn/skin/ROOT/WEB-INF/xml/" />
改成
<init-param>
<param-name>storePath</param-name>
<param-value>/data/jsp/adf.netmovie.com.cn/skin/ROOT/WEB-INF/xml/</param-value>
</init-param>
即可
参考: web.xml 声明文件 http://java.sun.com/dtd/web-app_2_3.dtd 相关内容
6. 目前用到的Tomcat版本: apache-tomcat-6.0.20
tomcat 已经包含的库文件清单 :
annotations-api.jar
catalina-ant.jar
catalina-ha.jar
catalina.jar
catalina-tribes.jar
el-api.jar
jasper-el.jar
jasper.jar
jasper-jdt.jar
jsp-api.jar
jta-1.1.jar
mysql-connector-java-3.1.14-bin.jar
ojdbc6.jar
orai18n.jar
servlet-api.jar
tomcat-coyote.jar
tomcat-dbcp.jar
tomcat-i18n-es.jar
tomcat-i18n-fr.jar
tomcat-i18n-ja.jar
7. 数据源配置在web.xml 中的问题, 如下所示:
<resource-ref>
<res-ref-name>jdbc/proxy</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<init-param driver-name="oracle.jdbc.driver.OracleDriver"/>
<init-param url="jdbc:oracle:thin:@oracleserver:1521:orcl"/>
<init-param user="username"/>
<init-param password="xyz"/>
<init-param max-connections="100"/>
<init-param max-idle-time="120s"/>
<init-param connection-wait-time="180s"/>
<init-param max-active-time="120s"/>
</resource-ref>
该类配置是resin数据源的配置方法之一(和配置在resin.conf中类似),但是tomcat将不认这种配置方法,故系统将提示无法连接数据库之类的错误,如下所示:
net.sf.hibernate.util.JDBCExceptionReporter 58 2009-12-17 11:28:04104 Cannot create JDBC driver of class '' for connect URL 'null'
net.sf.hibernate.util.JDBCExceptionReporter 57 2009-12-17 11:28:04105 SQL Error: 0, SQLState: null
解决办法: 在tomcat server.xml 中配置该数据源
建议: 除非有特别要求,所有数据源配置,均在server.xml中进行, 方便统一管理
注:server.xml 的配置:
[resin@gzjspsf1 logs]$ cat /opt/jsites/korea.sx.netfilm.cn/conf/server.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- edited with XML Spy v4.2 U (http://www.xmlspy.com) by ttdown.com (ttdown.com) -->
<Server port="10008" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on"/>
<Listener className="org.apache.catalina.core.JasperListener"/>
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
<GlobalNamingResources/>
<Service name="Catalina">
<Connector port="8008" protocol="AJP/1.3" redirectPort="8443" maxThreads='300' useBodyEncodingForURI="true"/>
<Engine name="Catalina" defaultHost="korea.sx.netfilm.cn">
<Host name="korea.sx.netfilm.cn">
<Context path="/"
docBase="/data/jsp/korea.sx.netfilm.cn/skin/ROOT"
workDir="/data/jsp/korea.sx.netfilm.cn/skin/ROOT/WEB-INF/work"
reloadable="true">
<Resource name="jdbc/coonetmovie" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="600000"
username="coonetmovie" password="GVL6IqeN8iDEf" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://121.14.2.202:3306/coonetmovie?useUnicode=true&characterEncoding=utf-8&jdbcCompliantTruncation=false&autoReconnect=true"/>
<Resource name="jdbc/cpdb" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="600000"
username="resin_adm" password="48bpejg63KD" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://cpmmysql:3306/cpdb?useUnicode=true&characterEncoding=utf-8&jdbcCompliantTruncation=false&autoReconnect=true"/>
<Resource name="jdbc/cpdb_ro" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="600000"
username="resin" password="ZGuM218HrLt" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://cpsmysql:3306/cpdb?useUnicode=true&characterEncoding=utf-8&jdbcCompliantTruncation=false&autoReconnect=true"/>
<Resource name="jdbc/netmovie3" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="600000"
username="resin" password="47182388" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://mmysql:3306/netmovie3?useUnicode=true&characterEncoding=utf-8&jdbcCompliantTruncation=false&autoReconnect=true"/>
<Resource name="jdbc/netmovie3_ro" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="600000"
username="resin_ro" password="47182388" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://smysql:3306/netmovie3?useUnicode=true&characterEncoding=utf-8&jdbcCompliantTruncation=false&autoReconnect=true"/>
<Resource name="jdbc/union_movie" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="600000"
username="union_movie" password="1qazxdr56yhn" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://uniondb:3306/union_movie?useUnicode=true&characterEncoding=utf-8&jdbcCompliantTruncation=false&autoReconnect=true"/>
<Resource name="jdbc/netmovie_news" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="600000"
username="resin_news" password="62768851286n" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://mysql-netmovie:3306/netmovie_newse?useUnicode=true&characterEncoding=utf-8&jdbcCompliantTruncation=false&autoReconnect=true"/>
</Context>
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="/data/jsp/korea.sx.netfilm.cn/logs"
prefix="access.log."
suffix=".txt"
pattern="common"
resolveHosts="false"/>
</Host>
</Engine>
</Service>
</Server>
分享到:
相关推荐
在IT领域,尤其是在软件开发和系统管理中,升级导航是一个...此外,保持系统和软件的定期更新,以及维护良好的备份习惯,可以帮助减少升级过程中遇到的问题。当遇到复杂问题时,及时寻求专业人员的帮助也是明智的选择。
Win8.1 升级 Win10 遇到 0xc1900101-0x40017 ...* 如果升级过程中遇到问题,请不要 panic,尝试按照上述方法解决问题。 通过遵循这些步骤和技巧,您可以成功升级到 Win10,并且避免了 0xc1900101-0x40017 错误的出现。
LabVIEW是一款广泛应用于机器视觉和人工智能领域的图形化编程软件,其安装过程中可能遇到的问题和解决办法是关键。本文主要探讨了在安装LabVIEW时遇到的硬件、软件、环境和操作系统兼容性等方面的问题,并提供了相应...
### Office Word 遇到问题需要关闭解决方法 在日常工作中,我们经常使用Microsoft Office Word进行文档编辑与处理。然而,在使用过程中难免会遇到各种各样的问题,比如Word程序无响应、频繁崩溃或是无法正常打开...
5. **升级过程**:一旦磁盘空间问题解决,升级过程可能需要较长时间,通常持续数小时。在此期间,系统会显示百分比进度,耐心等待直到完成。 6. **空间占用分析**:升级完成后,C盘的使用量会显著增加,主要是由于`...
以下是一些常见的计算机问题以及解决方法,主要集中在操作系统层面: 1. **系统启动问题**:如果你的电脑无法正常启动,可能是因为操作系统损坏、BIOS设置错误或硬件故障。尝试进入安全模式修复系统,或者使用系统...
- `新建文本文档 (2).txt` 很可能包含了安装指南或常见问题解答,用户在遇到问题时应首先查阅该文件,以找到解决方案。 6. **日志分析**: - 当安装出现问题时,查看安装日志是诊断问题的重要步骤。安装过程中...
本文将针对网件路由器的升级过程中常见的问题提供解决方案。 首先,升级过程中可能会遇到的是**乱码问题**。当通过Console口连接路由器时,如果超级终端显示乱码,这可能是由于波特率设置不正确导致的。通常,波特...
在使用用友财务软件的过程中,升级是一个常见的需求,但升级过程中可能会遇到各种问题。这份PPT学习教案主要涵盖了用友软件不同版本升级的流程、特殊处理手段以及常见问题的解决方案。 一、各版本升级流程 1. DOS...
另一方面,`关于918升级6.23报错文件可能已经毁损的解决办法.docx`文档很可能提供了详细的步骤指导,包括如何安全地运行上述脚本,以及在升级过程中应该注意的事项。用户在执行任何操作前,都应该仔细阅读这份文档,...
在本文中,我们将深入探讨CefSharp从7.3版本升级至117.2.4版本时可能遇到的问题及解决方法。CefSharp是一个.NET框架的Chromium嵌入式浏览器库,它允许开发者在Windows Forms(WinForms)应用程序中集成Web浏览器功能...
以下是一些常见问题的详细解析及解决办法。 首先,我们来看“sa 登录失败,错误18456”的问题。这个问题通常出现在数据库升级或系统环境变动后,特别是当sa用户的密码策略发生变化时。在SQL Server 2005及以上版本...
然而,在系统升级过程中,可能会遇到各种问题,这直接影响到企业的运营效率和数据安全性。以下是对U8升级常见问题的详细解析: 1. **从8.1X升级到8.2X的常见问题**: - 错误信息:-2147217873 FK_currentst_cinve_...
在日常使用计算机的过程中,我们可能会遇到各种各样的小问题,这些问题虽然看似简单,但如果不了解解决方法,可能会浪费不少时间。本文将针对一些常见的计算机问题,提供详细的解决策略,帮助你更好地理解和处理这些...
然而,在使用 Tomcat 的过程中,开发者经常会遇到一些常见的问题,本文将列举一些常见的问题和解决方法,旨在帮助开发者更好地使用 Tomcat。 1. 如何加载一个属性文件? 加载属性文件是 Tomcat 中的一项常见操作,...
以下为Cognos 8 BI PowerPlay 8.4.1版本安装配置和使用过程中可能遇到的常见问题以及对应的解决方法。 #### 产品信息与版本适用性 - Cognos 8 BI PowerPlay 版本8.4.1相关的自述文件和更新信息是针对IBM Cognos 8...
然而,在使用过程中,用户可能会遇到一些常见问题。以下是一些具体的问题及其解决方法: 1. 手机连接不上助手: - 解决方法:尝试重启手机,通常可以解决问题。如果是米3、米4、红米系列,可能是因为ROM的bug,...
### J-LINK可能遇到的问题及解决方法汇总 #### 一、J-Link指示灯不亮,USB无法识别到CPU **问题描述**:在使用J-Link仿真器时,可能会遇到电源...通过上述方法,可以有效地解决使用J-Link仿真器过程中常见的问题。