获取IllegalStateException:没有这样的servlet:访问已部署的Spring应用程序到Google



我一直在尝试在Google App Engine应用程序上部署Spring MVC Java Web应用程序,但没有运气。我正在使用App Engine Java SDK从我的计算机中部署它。当我执行部署时,我可以通过URL访问资源(例如图像,JS等)。但是,当我尝试访问主页时,我会收到500个状态代码的响应,服务器上的错误如下: java.lang.IllegalStateException: No such servlet: jsp at org.eclipse.jetty.servlet.ServletHandler.updateMappings (ServletHandler.java:1535) at org.eclipse.jetty.servlet.ServletHandler.doStart (ServletHandler.java:157) ...

我试图查找"没有这样的servlet:jsp"错误,但我对发现的不同建议没有任何运气。PS:使用App Engine命令在本地开发环境中测试Web服务器时,Web服务器按预期运行。

希望您能给我任何建议,必须做错什么。

谢谢

当我们尝试从GAE上从Java 7到8迁移时,此问题首次出现。我们有Spring MVC Apache Tiles,我们正在提供Legacy JSP页面。由于这指出了JSP问题,所以我开始使用相关选项。其中之一是在 web.xml 中定义的:

<jsp-property-group>
			<url-pattern>*.jsp</url-pattern>
			<trim-directive-whitespaces>true</trim-directive-whitespaces>
</jsp-property-group>

我只是简单地删除了此 JSP-Property-group 定义,而GAE服务器开始再次将JSP返回。现在,我们能够使用Spring MVC和Apache Tiles在GAE上使用Java 8,但是现在我们必须与此处所述的JSP额外生成的Whitespaces一起生活:如何从JSP页面中修剪空格,这不是针对JDK时的交易破坏者1.8是绝对的要求...希望这会有所帮助。

最新更新