webentwicklung-frage-antwort-db.com.de

IntelliJ + Spring Web MVC

Ich habe Probleme mit IntelliJ 2016.1.3 und Spring Web MVC-Integration. Schritte, die ich gemacht habe:

  1. Datei -> Neu -> Projekt ... -> Maven (kein Archetyp)
  2. GroupId = test ArtifactId = app
  3. Projektname = App und Fertig.
  4. Ich habe zu pom.xml <packaging> war </ packaging> hinzugefügt
  5. Ich habe pom.xml Abhängigkeiten hinzugefügt 

    & ndash; & lt; Abhängigkeit & gt 
     & & lt; gtorg.springframework &. ] & ltdependency & gt 
     & ltgroupId & gtjavax.servlet & lt/groupId & gt 
     & ltartifactId & gtjstl & lt/artifactId & gt 
     & ltversion & gt1.2 & lt/version & gt 
     & lt/dependency & gt 
     & ltdependency & gt 
     & ltgroupId & gtjavax Servlet & lt/groupId 
     & ltartifactId & gtjavax.servlet-api & lt/artefaktId 
     & ltversion & gt3.1.0 & lt/version 
     & amp;
  6. Als nächstes habe ich Module in das Projekt eingefügt (Rechtsklick auf Projektname -> Framework-Support hinzufügen ...). Ich habe Spring MVC und Download ausgewählt (Konfigurieren ... - Alle Elemente ausgewählt).

  7. Ich habe die Controller-Klasse HomeController.class erstellt

     Paket test.app; 
     
     import org.springframework.stereotype.Controller; 
     import org.springframework.web.bind.annotation.RequestMapping; [.____. .] 
     @ Controller 
     Öffentliche Klasse HomeController {
     @RequestMapping (Wert = "/") 
     Public String test () 
     {
     Rückgabe "Test"; 
    } 
    } 
    
  8. Ich habe webapp\WEB-INF erstellt und dort web.xml eingefügt

     & ltweb-app version = "3.0" xmlns = "http://Java.Sun.com/xml/ns/javaee" 
     xmlns: xsi = "http: //www.w3. org/2001/XMLSchema-Instanz "
     xsi: schemaLocation =" http://Java.Sun.com/xml/ns/javaee
     http://Java.Sun.com/xml/ ns/javaee/web-app_3_0.xsd "& gt 
     & ltservlet & gt 
     & ltservlet-name & gtWebServlet & lt/servlet-name & gt 
     & ltservlet-class & gtorg.springframework.web. .____.] & ltinit-param & gt 
     & ltparam-name & gtcontextConfigLocation & lt/param-name & gt 
     & ltparam-value & gt/WEB-INF/Dispatcher-Servlet.xml & lt/param-value & gt 
     & lt /. param & gt 
     & lt/servlet & gt 
     
    
    &ltservlet-mapping&gt
        &ltservlet-name&gtWebServlet&lt/servlet-name&gt
        &lturl-pattern&gt/&lt/url-pattern&gt
    &lt/servlet-mapping&gt
    
    & lt/web-app & gt
  9. In webapp\WEB-INF stelle ich dispatcher-servlet.xml ein

     & lt? xml version = "1.0" coding = "UTF-8"? & gt 
     & ltbeans xmlns = "http://www.springframework.org/schema/beans" 
     xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" 
     xmlns: context = "http://www.springframework.org/schema/context" 
     xmlns: mvc = "http://www.springframework.org/schema/mvc" 
     xsi: schemaLocation = "http://www.springframework.org/schema/beans http: //www.springframework. org/schema/beans/spring-beans.xsd 
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd 
     http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"&gt[.____.(
     
    
    &ltmvc:annotation-driven /&gt
    &ltcontext:component-scan base-package="test.app" /&gt
    
    &ltbean class="org.springframework.web.servlet.view.InternalResourceViewResolver"&gt
        &ltproperty name="prefix" value="/WEB-INF/views/" /&gt
        &ltproperty name="suffix" value=".jsp" /&gt
    &lt/bean&gt
    
    & lt/Bohnen & gt
  10. Schließlich habe ich die Datei test.jsp unter webapp\WEB-INF\views hinzugefügt. Außerdem musste ich Modulabhängigkeit hinzufügen (F4 -> Module -> Abhängigkeiten -> + -> Bibliothek -> von Maven -> typisierte javax.servlet: jstl: 1.2)

  11. Der nächste Schritt sollte die Anwendung ausführen. Ich musste Konfigurationen bearbeiten (Pfeil nach unten neben grünem Pfeil) -> + -> TomcatServer -> Local und ich bekam Warnung Keine Artefakte für die Bereitstellung markiert. Leider kann ich dieses Problem nicht beheben. Ich habe den Fix-Button, aber nachdem ich diesen gedrückt habe, erhalte ich die Registerkarte "Bereitstellung" und nicht, was ich tun soll.

Bitte helfen Sie mir bei der Deployment-Konfiguration und sagen Sie mir, wie ich Spring-Webanwendungen in IntelliJ erstellen kann. Oder haben Sie einen anderen besseren Weg. Ich brauche ein schrittweises Tutorial, weil ich einige Filme auf youtube gesehen habe und Optionen gesehen habe, die ich nicht in meiner Intellij habe, oder sie sind versteckt und ich kann sie nicht finden. Mit freundlichen Grüßen 

13
kmmm

Wenn Sie alles richtig konfiguriert haben, sollten Sie oben rechts in Ihrem Deployment-Tab ein + -Symbol haben. Nachdem Sie es gedrückt haben, sollten Sie einen Tooltip mit 1-2 Optionen erhalten:

  • Artefakt...
  • Externe Quelle...

Sie wählen normalerweise das Bereitstellungsartefakt Ihres aktuellen Projekts aus, indem Sie "Artefakt ..." wählen.

HTH

3
Florian Stendel

In Schritt 11. erhalten Sie dann die Warnung 

  1. Wechseln Sie zur Registerkarte "Bereitstellung". Drücken Sie die Taste "+". 
  2. es erscheint ein Kontextmenü mit den Optionen 'Artifact ...' und 'External Source ..'. 
  3. wählen Sie 'Artefakt ...' und ein Dialog wird mit zwei Optionen 'Projektname: Krieg' und 'Projektname: Krieg explodiert' angezeigt.
  4. Wählen Sie die Option 'Projektname: Krieg explodiert'. Die Warnung wird aufgelöst.
2
Asif Khokhar

In Schritt für Schritt wird beschrieben, wie Sie ein Spring-Web-MVC-Projekt in IntelliJ erstellen.

  1. Datei -> Neu -> Projekt -> Maven (deaktivieren Sie 'Aus Archetyp erstellen') -> Weiter.
  2. Geben Sie Ihre GroupId und ArtifactId ein. Zum Beispiel GroupId = 'test', ArtifactId = 'app' und klicken Sie auf Weiter.
  3. Geben Sie den Projektnamen ein. Beispiel: Projektname = 'WebApp' und klicken Sie auf Fertig stellen.
  4. Klicken Sie mit der rechten Maustaste auf Ihren Projektnamen und wählen Sie "Framework-Support hinzufügen ...". Wählen Sie dann 'Spring MVC' und 'Download' aus. OK klicken.
  5. Fügen Sie in der Datei pom.xml eine neue Abhängigkeits- und Verpackungseigenschaft hinzu, wie im folgenden Code

     & lt? xml version = "1.0" coding = "UTF-8"? & gt 
     & ltproject xmlns = "http://maven.Apache.org/POM/4.0.0" 
     xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" 
     xsi: schemaLocation = "http://maven.Apache.org/POM/4.0.0 http: //maven.Apache.org/xsd/maven-4.0.0.xsd"&gt
     & ltmodelVersion & gt4.0.0 & lt/modelVersion & gt 
     
    
    &ltgroupId&gttest&lt/groupId&gt
    &ltartifactId&gtapp&lt/artifactId&gt
    &ltversion&gt1.0-SNAPSHOT&lt/version&gt
    &ltpackaging&gtwar&lt/packaging&gt
    
    &ltdependencies&gt
        &ltdependency&gt
            &ltgroupId&gtorg.springframework&lt/groupId&gt
            &ltartifactId&gtspring-webmvc&lt/artifactId&gt
            &ltversion&gt4.2.5.RELEASE&lt/version&gt
        &lt/dependency&gt
    &lt/dependencies&gt
    
    & lt/Projekt & gt
  6. In der oberen rechten Ecke des IntelliJ-Fensters sehen Sie die Informationsleiste "Maven-Projekte müssen importiert werden". Klicken Sie auf "Änderungen importieren".

  7. Erstellen Sie in src/main/Java ein neues Paket, zum Beispiel 'test.app', und platzieren Sie dort die neue Java-Datei TestController.Java mit Ihrem Controller (Code unten).

     Paket test.app; 
     
     import org.springframework.stereotype.Controller; 
     import org.springframework.web.bind.annotation.RequestMapping; [.____. .] 
     
     @ Controller 
     Öffentliche Klasse TestController {
     @RequestMapping (Wert = "/") 
     Public String test () [.____. .] {
     geben "Index" zurück; 
    } 
    } 
    
  8. Fügen Sie in der Datei web/WEB-INF/dispatcher-servlet.xml den folgenden Code ein

     & lt? xml version = "1.0" coding = "UTF-8"? & gt 
     & ltbeans xmlns = "http://www.springframework.org/schema/beans" 
     xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" 
     xmlns: context = "http://www.springframework.org/schema/context" 
     xmlns: mvc = "http://www.springframework.org/schema/mvc" 
     xsi: schemaLocation = "http://www.springframework.org/schema/beans http: //www.springframework. org/schema/beans/spring-beans.xsd 
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd 
     http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"&gt[.____.(
     
    
    &ltmvc:annotation-driven /&gt
    &ltcontext:component-scan base-package="test.app" /&gt
    
    &ltbean class="org.springframework.web.servlet.view.InternalResourceViewResolver"&gt
        &ltproperty name="prefix" value="/WEB-INF/views/" /&gt
        &ltproperty name="suffix" value=".jsp" /&gt
    &lt/bean&gt
    
    & lt/Bohnen & gt
  9. Erstellen Sie im Verzeichnis web/WEB-INF ein neues Verzeichnis 'views' und verschieben Sie die Datei index.jsp aus dem Verzeichnis web.

  10. Fügen Sie in der Datei index.jsp HTML-Code in den Hauptabschnitt ein. Zum Beispiel wird index.jsp-Dateicode darunter platziert

     & lt% @ page contentType = "text/html; charset = UTF-8" language = "Java"% & gt 
     & lthtml & gt 
     & lt; $. $. $ $ $. $ & lt/title & gt 
     & lt/head & gt 
     & ltbody & gt 
     & ltp & gtHELLO WORLD & lt/p & gt 
     & lt/body & gt 
     & lt/htl. 
    .
  11. Ändern Sie in der Datei web.xml den Wert der Eigenschaft "url-pattern" von * .form in /. Jetzt sollte die web.xml-Datei den folgenden Code enthalten.

     & lt? xml version = "1.0" coding = "UTF-8"? & gt 
     & ltweb-app xmlns = "http://xmlns.jcp.org/xml/ns/javaee" 
     xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" 
     xsi: schemaLocation = "http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
     version = "3.1" & gt 
     & ltcontext-param & gt 
     & ltparam-name & gtcontextConfigLocation & lt/Parametername & gt 
     & ltparam-value & gt/WEB-INF/applicationContext.xml & lt/param-value & gt 
     & lt/context-param & gt 
     & ltlistener & gt; gtorg.spring. web.context.ContextLoaderListener & lt/listener-class 
     & lt/listener & gt 
     & ltservlet 
     & ltservlet-name & gtdispatcher & lt/servlet-name & gt 
     & lt. DispatcherServlet & lt/servlet-class & gt 
     & Ltload-on-startup & gt1 & lt/load-on-startup & gt 
     & Lt/servlet & gt 
     & ltservlet-mapping & gt 
     & ltservlet-name & gtdispatcher & lt/servlet-name & gt 
     & lturl-pattern & gt/& lt/url-pattern & gt 
     & lt/servlet-mapping & gt 
     
    
  12. Klicken Sie nun mit der rechten Maustaste auf Ihren Projektnamen und wählen Sie "Moduleinstellungen öffnen ...". Wählen Sie Module -> Ihr Anwendungsname -> Web und ändern Sie im WebResourceDirectory-Fenster Ihr Webressourcenverzeichnis in das Verzeichnis\WebApp\web, wobei das Verzeichnis das Verzeichnis Ihres IntelliJ-Projekts auf Ihrem Computer ist. Klicken Sie dann auf Übernehmen und auf OK.

  13. Jetzt müssen wir die Laufkonfigurationen bearbeiten. Drücken Sie den Abwärtspfeil neben dem grünen Pfeil und wählen Sie Konfigurationen bearbeiten ... aus. Dann drücken Sie grün +. Wählen Sie Tomcat Server -> Local. Wählen Sie im Abschnitt "Anwendungsserver" Ihr Tomcat-Hauptverzeichnis aus. Im unteren Teil des Fensters wird eine Warnung angezeigt. Klicken Sie auf Fix und wählen Sie 'WebApp: war eploded' oder ähnliches. Das hängt von Ihrem Anwendungsnamen ab. Klicken Sie dann auf Übernehmen und auf OK.

Das ist alles :) Jetzt können Sie den grünen Pfeil drücken und Ihre erste Webanwendungsseite in Ihrem bevorzugten Webbrowser anzeigen. Viel Glück! 

1
kmmm