`

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总是问题太多

相关推荐

    window tomcat项目迁移到linux

    window tomcat项目迁移到linux上环境的配置及迁移过程中遇到问题的总结.

    tomcat6.0配置心得

    本文是本人在tomcat从4.0升级到6.0过程中遇到的问题以及最终解决方法,与大家共享。其中主要包括连接池配置、页面中文问题、中文文件名问题、taglib问题等的解决。

    java Tomcat 和前端用到的包

    2. 因为是刚学习servlet ,所以将Tomcat 升级到最新版本10,但这个版本遇到了很多坑,有很多还没有适配完成,后面降级回来了Tomcat 9 上传到的包目前有以下,后续慢慢进行补充,里面有包括Tomcat 10 jstl jar

    2024年Tomcat安装和配置(超详细)

    目标是帮助面试者更好地应对技术面试中可能遇到的Tomcat相关问题,提升面试成功率。 **其他说明:** 虽然本文提供了一系列实用的Tomcat教程,但真正的掌握还需要结合实际操作和项目经验。建议读者在准备面试的同时,...

    tomcat for 64 位操作系统

    64 位操作系统下安装tomcat服务的时候,往往回遇到,启动服务无效的问题,需要下载该压缩包得到两个文件,复制并粘贴到原tomcat安装目录 bin 文件夹下,重新启动tomca即可,正常运行。

    JBuilder2005开发Web应用程序

    本文给出了一个使用Tomcat环境下的数据库连接池Database Connection Pool (DBCP) 的例子,说明了用JBuilder开发Web应用的一般步骤,并回答了一些经常遇到的问题。 JBuilder2005所带JDK的版本是1.4.2_04-b05,其文件...

    commons-compress包

    翻译为中文:(Tomcat)不支持52.0版本的镜像 二、jdk与major.mijor version对应的关系如下 JDK 1.1 = 45 JDK 1.2 = 46 JDK 1.3 = 47 JDK 1.4 = 48 JDK 1.5 = 49 JDK 1.6 = 50 JDK 1.7 = 51 JDK 1.8 = 52 ————...

    spring3.0+struts2.1.8+hibernate3.2完整jar包

    请使用struts2.1.8,如果你已经在学习2.1.6版本,并且遇到类似xwork的异常,导致tomcat无法正常启动,可将struts2.1.8和xwork2.1.6两个包替换原来的那两个包,然后删除tomcat下的工程(非常重要,否则会继续报错),...

    轻量级Java EE企业应用实战(第3版)免费(分为3部分).part2.rar

    本书还全面介绍了Servlet 3.0的新特性,以及Tomcat 7.0的配置和用法,本书的示例应该在Tomcat 7.0上运行。 本书重点介绍如何整合Struts 2.2+Spring 3.0+Hibernate 3.6进行Java EE开发,主要包括三部分,第一部介绍...

    最新SpringBoot项目校园志愿者管理系统.zip

    - 附带详细的部署说明和技术答疑,帮助解决后期项目运行可能遇到的问题; - 包含PPT演示资料,可用于教学或作为毕业设计的参考材料。 综上所述,这个基于Spring Boot的校园志愿者管理系统不仅具有完善的功能和...

    轻量级Java EE企业应用实战 源码

    其中struts 2升级到2.2.1,spring升级到3.0.5,hibernate升级到了3.6.0。本书还全面介绍了servlet 3.0的新特性,以及tomcat 7.0的配置和用法,本书的示例应该在tomcat 7.0上运行。  本书重点介绍如何整合struts 2.2...

    DataGear数据可视化分析平台

    调试时,系统仅会在第一次启动时升级内置数据库(Derby),如果遇到内置数据库访问异常,需要查看 datagear-management/src/main/resources/org/datagear/management/ddl/datagear.sql 文件,从中查找需要更新的SQL...

    轻量级Java EE企业应用实战——Struts 2+Spring+Hibernate整合开发chap2

    其中Struts 2升级到2.1.2,Spring升级到2.5.5,Hibernate升级到3.2.6。本书保留《轻量级J2EE企业应用实战》里关于Tomcat、Jetty的介绍,新增了关于Ant、CVS的内容。 本书内容主要包括三部分,第一部分介绍Java EE...

    java 面试题 总结

    但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地...

    spring-microservices:具有Eureka Discovery,Zuul代理,OAuth2安全,Hystrix CircuitBreaker,Sleuth Zipkin,ELK Stack Logging,Kafka,Docker和许多新功能的Spring Cloud Micro Services

    是一种体系结构样式,将应用程序构造为一组松散耦合的服务,其中每个服务都实现业务功能。 微服务在其自己的进程中运行,并通过HTTP API传达其他服务。 每个微服务都可以独立于应用程序中的其他服务进行部署,升级,...

    超级有影响力霸气的Java面试题大全文档

    但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地...

    DataGear数据可视化分析平台-其他

    调试时,系统仅会在第一次启动时升级内置数据库(Derby),如果遇到内置数据库访问异常,需要查看 datagear-management/src/main/resources/org/datagear/management/ddl/datagear.sql 文件,从中查找需要更新的SQL...

    JAVA核心知识点整理(有效)

    1. 目录 1. 2. 目录 .........................................................................................................................................................1 JVM ........................

Global site tag (gtag.js) - Google Analytics