部分业务从Tomcat6升级到Tomcat7后,访问部分jsp报错

升级tomcat后,访问jsp报错500,错误信息如下:
org.apache.jasper.JasperException: … … The JSP specification requires that an attribute name is preceded by whitespace
问题原因:Tomcat7增加了个参数 org.apache.jasper.compiler.Parser.STRICT_WHITESPACE ,表示是否严格校验这种空格,默认为true,问了兼容之前的jsp,在tomcat/conf/catalina.properties中设置org.apache.jasper.compiler.Parser.STRICT_WHITESPACE=false 来兼容


另可能有2个EL表达式的错误,如"${new.title}"因包含关键字new就会导致解析出错,
解决方法:修改tomcat属性,忽略对EL表达式的关键字检查。修改$CATALINA_BASE/conf/catalina.properties 文件,添加 org.apache.el.parser.SKIP_IDENTIFIER_CHECK=true 选项。


value="<%=view.getItems("SendAcctList")%>"因为双引号包含双引号,可能导致解析出错
解决方法:可以修改为单引号包含双引号,也可以修改tomcat属性,org.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false 来跳过严格的引号校验
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,您遇到了在启动jsp的问题。问题可能涉及到多个方面,下面是一些可能的解决方法: 1. 首先,根据引用所描述的情况,您可能遇到了servlet包版本不匹配的问题。尝试更新您的servlet包版本与您正在使用的Tomcat版本相匹配。 2. 根据引用所提到的误信息,您可能遇到了"java.lang.ClassNotFoundException: org.apache.jsp.test_jsp"。这表示Tomcat无法找到所需的jsp文件。请确保您的jsp文件位于正确的位置,并且与您的项目设置一致。 3. 根据引用所提到的误信息,您可能遇到了"The method getDispatcherType() is undefined for the type HttpServletRequest"。这可能是由于使用了不兼容的servlet API版本导致的。请检查您正在使用的servlet API版本,并确保它与您的Tomcat版本兼容。 4. 如果您使用的是NetBeans自带的Tomcat,考虑重新下载并安装Tomcat,以确保您使用的是最新版本的Tomcat。 5. 如果以上方法都没有解决您的问题,建议您检查Tomcat的日志文件,以获取更详细的误信息。根据误信息,您可以尝试搜索相关的解决方案或在Tomcat的官方网站寻求帮助。 总结起来,要解决jsp启动Tomcat的问题,您可以尝试更新servlet包版本,确保jsp文件位于正确的位置,检查并确保您正在使用的servlet API版本与Tomcat版本兼容,并考虑重新下载并安装Tomcat。如果问题仍然存在,请查看Tomcat的日志文件以获取更多详细的误信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值