Est-il possible avec Spring Boot pour servir des pages Jsp avec un POT de l'emballage
Je suis familier avec le Printemps de Démarrage JSP exemple d'application
Cependant cet exemple utilise la WAR
emballage. Est-il possible de faire la même chose avec <packaging>JAR</packaging>
?
Mon objectif est de mettre JSP
s sous src/main/resources/jsp
de simplifier la structure de mon application.
La raison pour laquelle nous mettre des pages Jsp dans WEB-INF est qu'il est protégé. Déplaçant signifie que vous serez en mesure d'accéder à la page JSP, code brut à l'aide d'un navigateur. Est-ce mauvais d'un aspect de la sécurité. Cependant, je crois que vous pouvez le faire. Vous devez configurer votre application ViewResolver (C'est un Printemps de la classe) pour lire vos fichiers à partir de votre /ressources/jsp dossier au lieu de partir du WEB-INF.
OriginalL'auteur checketts | 2014-01-20
Vous devez vous connecter pour publier un commentaire.
@Andy Wilkinson dit, il y a des limites liées à la JSP. Veuillez package de votre application comme
war
et exécuter en tant quejar
. Ceci est documenté au printemps site.Obsolète, vieux répondre
Oui, c'est possible avec Spring Boot.
Prendre regardez cet exemple: https://github.com/mariuszs/spring-boot-web-jsp-example.
Pour ce faire, utilisez spring-boot-maven-plugin ou gradle équivalent.
Avec ce plugin jar exécutable et peut servir des fichiers JSP.
ou tout simplement
href="http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-jsp-limitations" >docs.printemps.io/spring-boot/docs/current/reference/htmlsingle/...
ne fonctionne pas. cet exemple ne fonctionne pas. toutes les pages 404
Ok, j'ai donc un fichier exécutable fichier war de travail maintenant. Si vous utilisez le printemps de démarrage démarreur parent, juste faire de l'emballage de type
war
et aussi référencespring boot maven plugin
avec configuration -> fichier exécutable mis àtrue
Je l'ai fait: struts2 + tuiles + jsp + tomcat intégré + docker m'a fallu 2 jours, mais je l'ai fait.
OriginalL'auteur MariuszS
Avec Tomcat il est aussi possible de mettre le contenu de votre
WEB-INF/jsp
à/src/main/resources/META-INF/resources
(à l'aide de Maven par exemple). META-INF/ressources est en fait traitée comme votre traditionnel webapps dossier.Pour plus de détails voir: http://hillert.blogspot.com/2016/03/spring-boot-with-jsp-in-executable-jar.html
Exemple de code: https://github.com/ghillert/spring-boot-jsp-demo
Ni lien de travail
OriginalL'auteur Gunnar Hillert
Votre meilleur pari est de changer le type d'emballage dans la guerre, et elle devrait fonctionner sans modification.
Comme mentionné dans les commentaires ci-dessus, il y a quelques limitations:
http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-developing-web-applications.html#boot-features-jsp-limitations
OriginalL'auteur aliwister
27.3.5 JSP limitations
Lors de l'exécution d'un Ressort de Démarrage de l'application qui utilise un intégré à conteneur de servlet (et est emballé comme un exécutable archive), il y a certaines limites dans la prise en charge de JSP.
Avec Tomcat cela devrait fonctionner si vous utilisez la guerre de l'emballage, c'est à dire un fichier exécutable guerre, et également d'être déployée à un conteneur standard (non limité à, mais y compris Tomcat).
Un exécutable jar ne fonctionnera pas à cause d'un fichier codé en dur modèle dans Tomcat.
Avec ponton cela devrait fonctionner si vous utilisez la guerre de l'emballage, c'est à dire un fichier exécutable guerre, et sera également déployable pour tout conteneur standard.
Ressac ne prend pas en charge les Jsp.
La création d'un message d'erreur personnalisé.page jsp ne pas surcharger la vue par défaut pour la gestion des erreurs, pages d'erreur personnalisées doivent être utilisés à la place.
OriginalL'auteur RBuser2769569
Je suis en utilisant JSP avec succès sur Printemps de Démarrage Application avec pot emballage, de mettre mes pages JSP sur src/main/webapp/WEB-INF/JSP répertoire et la configuration de mon Application comme ci-dessous
Mon Contrôleur est:
Et mon bonjour.jsp est
Mon pom.xml fichier est
J'espère que cela aide quelqu'un !
java -jar your_app.jar
? Peut-être que leWEB-INF
répertoire est manquant dans le fichier jar exécutable? Vous pouvez toujours exécuter avec succès à l'aide demvn spring:boot
ou de l'exécution de l'application principale directement. Mais je suis intéressé de savoir si vous pouvez l'exécuter en tant que fichier jar exécutable avec la ci-dessus.cela ne fonctionne pas si c'est jar emballé (et qui a été le principal sujet abordé ici)
OriginalL'auteur João Paraná
Printemps de Démarrage est très bonne avec JSP et il n'est pas facile aussi simplement vous avez besoin ci-dessous la configuration
1 - tomcat-embad-jasper dépendance
2 - Ajouter en dessous de la configuration de l'application.propriétés
Qui ont encore un doute alors check it out ci-dessous le lien
Printemps de Démarrage et JSP intégration
OriginalL'auteur jeet singh parmar
Si, pour quelque raison que ce soit, vous ne pouvez pas faire face à une guerre de l'emballage, il y a un hack. Crédit complet à cette mec pour le faire pour une ancienne version de spring-boot.
Une façon de le faire est de personnaliser tomcat et ajouter
BOOT-INF/classes
de tomcat ResourceSet. Dans tomcat, toutes les ressources numérisées sont mis dans quelque chose appelé un ResourceSet. Par exemple, le META-INF/ressources de l'application jar paquet dans la servlet 3.0 spécification est numérisé et mis dans le ResourceSet.Maintenant, nous devons trouver un moyen d'ajouter de la BOTTE-INF/classes répertoire de la graisse pot aux ResourceSet. Nous pouvons le faire par le biais de l'interface LifecycleListener de tomcat, dans le
Lifecycle.CONFIGURE_START_EVENT
cas, obtenir le BOOT-INF/classes URL, puis ajoutez cette URL à la WebResourceSet. Un exemple complet est ici, mais vous pouvez le faire comme ceci:Et ensuite utiliser le LifecycleListener comme suit:
OriginalL'auteur code4kix
Salut, je figer comment copier des jsp de pot tomcat intégré dossier
OriginalL'auteur Andrey Korkoshko