`

tomcat5升级为tomcat6遇到的问题

 
阅读更多
最近着手将tomcat5升级为tomcat6,目前发现以下的几个小问题需要改正
1、登陆框验证码生成报错,但是可以使用,
错误
java.lang.IllegalStateException: getOutputStream() has already been called for this response错误
解决方法:
增加下面的第一句
out.clear();
out=pageContext.pushBody();

2、双引号改单引号问题
错误:
Attribute value ("XXX") is quoted with " which must be escaped when used within
解决方法
只要打开在${tomcat}/conf下面的catalina.properties,在最后面添加一行
org.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false 

3、某些路径无法找到的问题
某些相对路径在tomcat下运行良好,在tomcat6下无法识别,
这样的需在测试中一一找到修改
目前测试发现这些问题。
4
5
分享到:
评论
9 楼 rensanning 2012-10-10  
傲世凡尘 写道
rensanning 写道
最好是在${tomcat}/bin/catalina.sh中追加
引用
CATALINA_OPTS="-Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false"


为什么呢


Tomcat是在org.apache.jasper.compiler.AttributeParser中是通过System.getProperty方法来获取STRICT_QUOTE_ESCAPING的值。
引用
private static final boolean STRICT_QUOTE_ESCAPING = Boolean.valueOf(System.getProperty("org.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING", "true")).booleanValue();

所以只要放在系统属性就有效,而java的-D参数本身就是设置系统属性的。

再说说catalina.properties,Tomcat的启动入口类是org.apache.catalina.startup.Bootstrap,通过这个类加载catalina.properties后调用org.apache.catalina.startup.Catalina的start方法来启动Tomcat。catalina.properties主要用于配置class loader,配置哪些类可以运行,当不能运行的报java.security.AccessControlException,实质就是给Tomcat和我们的应用配置classpath。当然在load这个配置文件的时候同时也调用了System.setProperty方法将每个配置放入了系统属性,所以也能配置所有其他的Property,有兴趣可以看看org.apache.catalina.startup.CatalinaProperties类。catalina.properties默认的文件在#{tomcat_home}\lib\catalina.jar“org.apache.catalina.startup.catalina.properties”中,conf下的是扩展用的。
以下是catalina.properties配置内容:
(1)package.access
    Tomcat默认不允许任何应用加载Tomcat的内部类,如果想让应用加载Tomcat的内部类就需要修改catalina.policy
    比如: permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.util";
(2)package.definition
    定义在我们的应用中不能将类放在这些有限制的package下
(3)common.loader
    任何放在这个定义下的class都能被Tomcat的自身类或者我们的应用调用
(4)server.loader
    定义只能被Tomcat的自身类调用的类
(5)shared.loader
    定义只能被我们的应用调用的类
(6)其他任意系统属性配置
其中前两项在org.apache.catalina.security.SecurityConfig中使用。

但不管使用$JAVA_OPTS或者$CATALINA_OPTS还是catalina.properties都可以实现。说的有些多,不知道是否明白!
8 楼 傲世凡尘 2012-10-09  
rensanning 写道
最好是在${tomcat}/bin/catalina.sh中追加
引用
CATALINA_OPTS="-Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false"


为什么呢
7 楼 rensanning 2012-10-09  
最好是在${tomcat}/bin/catalina.sh中追加
引用
CATALINA_OPTS="-Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false"

6 楼 傲世凡尘 2012-10-09  
zhukewen_java 写道
好多问题是由于代码不规范引起的

这个没法啊,谁也不敢保证100%规范,往往是写着写着就把规范忘了,何况这个系统已经跑了好几年了
5 楼 zhukewen_java 2012-10-09  
好多问题是由于代码不规范引起的
4 楼 傲世凡尘 2012-10-09  
lyy3323 写道
双引号改单引号问题?

哪里有问题?

就是页面上一些value=""之类的用的是双引号,在tomcat6中默认是有错误的
3 楼 lyy3323 2012-10-09  
双引号改单引号问题?

哪里有问题?
2 楼 傲世凡尘 2012-10-08  
wxt_java 写道
tomcat总是问题太多

但是不用花钱啊,花钱的问题少呵呵
1 楼 wxt_java 2012-10-08  
tomcat总是问题太多

相关推荐

    tomcat 升级到8.5.99后,系统启动不起来问题(修复 CVE-2024-24549 拒绝访问漏洞)

    标题中的“tomcat 升级到8.5.99后,系统启动不起来问题”涉及到的是一个关于Apache Tomcat服务器升级过程中遇到的问题。Apache Tomcat是Java Servlet和JavaServer Pages(JSP)的开源应用服务器,常用于构建和部署...

    tomcat8升级https.zip

    如果遇到问题,可以查阅官方文档或在线社区获取帮助。 总之,从HTTP升级到HTTPS是提升Web服务安全性的必要步骤,而Tomcat 8提供了简单且灵活的方式来实现这一目标。理解并掌握这个过程对任何IT专业人员来说都是一个...

    webServer tomcat5 / tomcat6 / tomcat7 / tomcat8

    标题中的"webServer tomcat5 / tomcat6 / tomcat7 / tomcat8"涉及到的是Apache Tomcat服务器的不同版本。Tomcat是一款开源的Java Servlet容器,主要用于实现Java Web应用程序的运行环境。它支持Servlet和JSP标准,由...

    tomcat10 迁移工具

    5. **问题排查**:如果遇到兼容性问题,可能需要查看官方文档、社区论坛或使用调试工具定位并解决。这可能涉及到更新依赖库、调整配置或者代码修复。 6. **性能优化**:利用Tomcat 10的新特性,如HTTP/2,对应用...

    RHEL5升级jdk6+安装Tomcat6

    以上就是RHEL5升级到JDK6并安装Tomcat6的详细步骤,这个过程虽然看似简单,但在实际操作中可能遇到各种问题,因此需要对Linux系统管理和Java环境有深入理解。通过熟练掌握这些技能,你可以有效地维护和升级老旧的IT...

    tomcat6 64位 tomcat6 32位

    由于内存限制,如果应用需要的内存超过了32位系统所能提供的4GB,可能会遇到性能瓶颈,此时就需要考虑升级到64位操作系统并使用64位的Tomcat。 而64位Tomcat则在64位操作系统上运行,能够更好地支持大内存应用和多...

    tomcat6异常问题

    在这种情况下,可以尝试回退到与Tomcat 6.0兼容的jar版本,或者升级Tomcat到支持新jar的版本。 在处理“tomcat6异常jar包版本问题”时,以下步骤可能有所帮助: 1. **分析日志**:仔细阅读Tomcat的`catalina.out`...

    将tomcat5.5 admin部署到 Tomcat7.0上

    如果遇到问题,检查日志文件(如`logs/catalina.out`)以获取错误信息,根据错误信息进行调试和修复。 9. **安全和性能优化**:考虑使用Tomcat 7.0的新特性进行安全和性能优化,比如调整线程池大小、启用HTTP/2支持...

    Tomcat5.x汉化版

    6. **安全性**:尽管Tomcat5.x是一个功能强大的服务器,但其安全补丁可能不如最新版本及时,因此在生产环境中使用时,需要关注安全风险并采取额外的安全措施。 7. **社区支持**:由于Tomcat是开源项目,其社区活跃...

    tomcat6下载

    9. **更新与维护**: 由于Tomcat6已经不再接收安全更新,为了系统的安全性,建议升级到更现代的版本,如Tomcat8或9。更新时,可以考虑备份现有配置和应用,然后在新版本上重新部署。 10. **社区支持**: Apache ...

    tomcat问题解决

    5. **版本更新**:如果问题与Tomcat的某个版本有关,考虑升级到较新且稳定版本。 最后,对于复杂的系统问题,有时候需要采用“分治法”,将大问题分解为小问题逐个解决,或者使用“排除法”,逐步排除可能的原因,...

    tomcat常见问题及解决方法

    6. 在 Tomcat 下使用 JNI 时我遇到了类装载器的问题 在 Tomcat 中使用 JNI 时,需要了解类装载器的问题。不能将本地库或者他们的 JNI 接口放在应用程序的 WEB-INF/lib 或者 WEB-INF/classes 目录下,否则可能会导致...

    tomcat常见问题分析

    在分析Tomcat常见问题时,我们经常会遇到各种各样的错误,这些错误可能涉及到服务器配置、依赖库、系统环境以及应用程序本身。以下是一些常见的问题及其解决方案: 首先,Jdk版本不匹配是导致Tomcat无法正常运行的...

    RHEL5.5 安装HTTP2.2、TOMCAT6、JDK1.6、MYSQL5.5、PHP5详细步骤和遇到的问题

    在本文中,我们将详细探讨如何在RHEL5.5系统上安装HTTP服务器(Apache HTTPD 2.2)、Java开发工具包(JDK 1.6)、Tomcat 6应用服务器、MySQL 5.5数据库以及PHP 5,并解决安装过程中可能遇到的问题,如MySQL远程访问...

    apache-tomcat-11.0.0-M17-windows-x64.zip

    10. **故障排除**:当遇到问题时,应检查`logs`目录下的日志文件,寻找错误信息。同时,官方文档和社区论坛(如Apache Tomcat邮件列表)也是寻求帮助的好资源。 总的来说,Apache Tomcat 11.0.0-M17提供了一个稳定...

    window tomcat项目迁移到linux

    除此之外,迁移过程中可能会遇到的问题包括: - 文件路径差异:Windows与Linux的路径表示方式不同,需要检查项目中的所有硬编码路径。 - 文件权限:Linux对文件权限有严格控制,确保所有运行所需的文件都有正确的...

    springboot入门示例可运行在tomcat6容器

    - 在较旧版本的Tomcat上运行SpringBoot可能无法充分利用其所有特性,建议升级Tomcat版本。 总结,虽然SpringBoot通常建议使用内嵌的Servlet容器,但通过特定的配置,我们仍能在Tomcat6这样的较旧容器中运行...

    apache-tomcat-7.0.96

    - 当遇到问题时,检查日志、堆栈跟踪和服务器状态信息。 - 及时更新到最新安全补丁版本,如从7.0.96升级到更高版本,以保持安全性。 总结,Apache Tomcat 7.0.96是一个强大的Web服务器,用于运行基于Java的Web...

    tomcat8.0服务容器

    如果你遇到任何与Tomcat相关的技术问题,都可以通过这个标签寻求帮助或查找相关信息。 在Windows环境中使用Tomcat,你可能需要关注以下知识点: 1. 环境变量设置:确保`JAVA_HOME`指向正确的Java JDK安装路径,...

Global site tag (gtag.js) - Google Analytics