1、问题的现象
使用Eclipse与Tomcat插件部署maven的web程序到tomcat7中,可以正常启动。访问的时候抛出了一个异常,异常的内容就是解析jsp异常,具体的异常情况如下:
2、问题产生的原因
在tomcat7种这是一个bug,测试的时候使用tomcat8没出现这个问题。产生这个问题的前置条件就是项目的路径不规范,带了一个"-"。就是存在这种非法字符导致的问题,应该在tomcat8种修复了。
具体原因参考:https://bz.apache.org/bugzilla/show_bug.cgi?id=53257
3、如何解决
在测试的时候发现,如果是部署到webapps下,那么即使项目带了"-"也不会出现这个问题,如果使用的部署方式是Context节点式部署,那么就会出现这个问题。而且是项目名带了"-"才会出现。
例如:上面的项目路径使用web-jsp在tomcat7中就是异常的,tomcat8就是正常的。如果把web-jsp更换成webjsp就可以正常访问了。
4、另外一种可能引发该异常的情况
从网盘中下载项目之后,因为文件的时间戳发生了变化,例如,创建时间变成了未来的某个时间点或者过去几十年的时间点等。这个时候就看看你访问的jsp时间是不是正确的就行了。