java:springmvc:deploy

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
java:springmvc:deploy [2018/11/18 15:11] jcheronjava:springmvc:deploy [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1
Ligne 17: Ligne 17:
  
   * Redémarrer le serveur   * Redémarrer le serveur
-  * Accéder au Manager App à partir de <nowiki>http://127.0.0.1:8080</nowiki> +  * Accéder au Manager App à partir de l'adresse <nowiki>http://127.0.0.1:8080</nowiki> en cliquant sur le bouton <wrap skills>Manage app</wrap>
  
 +==== Configuration de l'application Spring-boot ====
  
 +Dans le fichier **pom.xml**, modifier :
 +
 +Pour déployer un fichier **war** et non un classique **jar**
 +<sxh xml:gutter:false>
 +<packaging>war</packaging>
 +</sxh>
 +
 +Pour que le nom du war reste le même, sans intégrer le numéro de version
 +
 +<sxh xml;gutter:false;highlight:[2]>
 + <build>
 +     <finalName>${project.artifactId}</finalName>
 + <plugins>
 + <plugin>
 + <groupId>org.springframework.boot</groupId>
 + <artifactId>spring-boot-maven-plugin</artifactId>
 + </plugin>
 + </plugins>
 + </build>
 +</sxh>
 +
 +
 +Ajout de la dépendance Tomcat dans dependencies
 +<sxh xml;gutter:false>
 +<dependency>
 +   <groupId>org.springframework.boot</groupId>
 +   <artifactId>spring-boot-starter-tomcat</artifactId>
 +   <scope>provided</scope>
 +</dependency>
 +</sxh>
 +
 +
 +Modifier la classe de l'application Spring-boot pour qu'elle hérite de **SpringBootServletInitializer** :
 +
 +<sxh java;title:ParisH2Application.java>
 +@SpringBootApplication
 +public class ParisH2Application extends SpringBootServletInitializer {
 +
 + public static void main(String[] args) {
 + SpringApplication.run(ParisH2Application.class, args);
 + }
 +
 + @Override
 + protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
 +     return builder.sources(ParisH2Application.class);
 + }
 +}
 +</sxh>
 +
 +
 +
 +==== Context-path ====
 +
 +Le **context-path** correspond à la partie de l'url située après l'adresse du serveur et correspondant à une application.\\
 +Dans l'url **<nowiki>http://127.0.0.1:8080/paris-h2/joueurs</nowiki>**, le context-path est **/paris-h2**
 +
 +=== Prise en compte pour les requêtes statiques en HTML ===
 +
 +Dans le fichier template principal **header.html**, définir la base des urls :
 +
 +<sxh html;title:resources/templates/header.html>
 +<head>
 + ...
 + <base href="http://127.0.0.1:8080/paris-h2/">
 + ...
 +</head>
 +</sxh>
 +
 +
 +Il est ensuite possible d'intégrer les ressources en spécifiant un chemin ne tenant pas compte de ce contexte :
 +
 +<sxh html;gutter:false>
 + <link rel="stylesheet" href="css/style.css">
 + <script src="vueJS/button.js"></script>
 +</sxh> 
 +
 +=== Prise en compte pour les requêtes dynamiques en java ===
 +
 +Il est possible de récupérer le context-path dans les contrôleurs :
 +
 +<sxh java;title:Exemple de contrôleur>
 +@Controller
 +public class TestController {
 +    @Value("#{servletContext.contextPath}")
 +    private String servletContextPath;
 +}
 +</sxh>
 +
 +===== Intégration de vue JS =====
 +
 +En production, utiliser la version compressée de la librairie :
 +
 +<sxh html;gutter:false>
 + <script src="https://unpkg.com/vue/dist/vue.min.js"></script>
 +</sxh>
 +
 +Générer à nouveau les composants VueJS, et copier les dans le dossier **WEB-INF/classes/static/vueJS**
  
  
  • java/springmvc/deploy.1542550302.txt.gz
  • Dernière modification : il y a 6 ans
  • (modification externe)