2017-09-24 4 views
2

J'ai essayé de déployer une application Web Spring MVC Java sur une application Google App Engine, mais sans succès. J'utilise App Engine Java SDK pour le déployer depuis ma machine. Lorsque j'effectue un déploiement, je peux accéder aux ressources (telles que les images, js, etc. via l'URL). Mais lorsque je tente d'accéder à la page d'accueil que je reçois une réponse avec 500 code d'état, et l'erreur sur le serveur est la suivante: 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) ...Obtention de IllegalStateException: aucune servlet: jsp lors de l'accès à l'application Spring déployée sur Google App Engine

J'ai essayé de rechercher le « No such servlet: jsp » erreur mais je n'a pas eu de chance avec les différentes suggestions trouvées. PS: lors du test du serveur Web dans l'environnement de développement local à l'aide de la commande App Engine, le serveur Web fonctionne comme prévu.

J'espère que vous pouvez me donner n'importe quelle suggestion à ce qui doit faire mal.

Merci

Répondre

4

Ce problème est apparu pour la première fois quand nous avons essayé de migrer de Java 7 à 8 sur GAE. Nous avons Spring MVC + Apache Tiles et nous servons des pages JSP héritées. Comme cela indiquait un problème de JSP, j'ai commencé à jouer avec des options connexes. L'un d'entre eux a été défini à l'intérieur web.xml comme suit:

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

J'ai simplement enlevé ce jsp-property-groupe définition et serveur GAE ont commencé à servir JSP à nouveau. Nous sommes maintenant capables d'utiliser Java 8 sur GAE avec Spring MVC et Apache Tiles mais nous devons maintenant vivre avec des espaces supplémentaires générés par JSP comme décrit ici: How to trim whitespaces from your JSP pages qui n'était pas un deal breaker pour nous alors que cibler JDK 1.8 était une exigence absolue. . J'espère que cela t'aides.