关于java:IntelliJ + Spring Web MVC

IntelliJ + Spring Web MVC

我对Intellij2016.1.3和SpringWebMVC集成有问题。我所做的步骤:

  • 文件->新建->项目…->Maven(无原型)
  • groupid=test artifactid=app
  • 项目名称=应用和完成。
  • 我添加到pom.xmlwar
  • 我添加到pom.xml依赖项

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    &ltdependency&gt
            &ltgroupId&gtorg.springframework&lt/groupId&gt
            &ltartifactId&gtspring-webmvc&lt/artifactId&gt
            &ltversion&gt4.1.6.RELEASE&lt/version&gt
    &lt/dependency&gt
    &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&gt
            &ltartifactId&gtjavax.servlet-api&lt/artifactId&gt
            &ltversion&gt3.1.0&lt/version&gt
            &ltscope&gtprovided&lt/scope&gt
    &lt/dependency&gt
  • 接下来,我将模块添加到项目中(右键单击项目名称->添加框架支持…).I选择了Spring MVC并下载(配置…-已选择所有项目)。

  • 我创建了控制器类homecontroller.class

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    package test.app;

    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;

    @Controller
    public class HomeController {
        @RequestMapping(value="/")
        public String test()
        {
            return"test";
        }
    }

  • 我创建了webappWEB-INF并将web.xml放在那里。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    &ltweb-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             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.servlet.DispatcherServlet&lt/servlet-class&gt
            &ltinit-param&gt
                &ltparam-name&gtcontextConfigLocation&lt/param-name&gt
                &ltparam-value&gt/WEB-INF/dispatcher-servlet.xml&lt/param-value&gt
            &lt/init-param&gt
        &lt/servlet&gt

    [cc lang="java"]&ltservlet-mapping&gt
        &ltservlet-name&gtWebServlet&lt/servlet-name&gt
        &lturl-pattern&gt/&lt/url-pattern&gt
    &lt/servlet-mapping&gt

    </Web应用程序[/cc]

  • 在webappWEB-INF中,我放入dispatcher-servlet.xml

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    &lt?xml version="1.0" encoding="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


    [cc lang="java"]&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

    </豆子>[/cc]

  • 最后,我将test.jsp文件添加到webappweb-infviews中。此外,我还必须添加模块依赖项(f4->modules->dependencies->library->from maven->typed javax.servlet:jstl:1.2)

  • 下一步应该是运行应用程序。我必须编辑配置(绿色箭头旁边的向下箭头)->+->TomcatServer->Local,并且我得到警告:没有标记为要部署的工件。不幸的是,我不能解决这个问题。我有"修复"按钮,但按下此按钮后,我得到"部署"选项卡,不知道该怎么做。
  • 请帮助我进行部署配置,并告诉我是我用IntellijGood创建SpringWeb应用程序的方法,还是您有其他更好的方法。我需要一步一步的指导,因为我在YouTube上看了一些电影,我看到了我的Intellij中没有的选项,或者它们是隐藏的,我找不到它们。顺祝商祺!


    如果您已经以正确的方式配置了所有内容,那么您应该在部署选项卡的右上角有一个加号。按下后,您将看到一个工具提示,其中包含1-2个选项:

    • 工件…
    • 外部源…

    您通常会通过选择"artifact…"来选择当前项目的部署工件。

    高温高压


    在步骤11中。当你收到警告时

  • 转到"部署"选项卡,按"+"按钮。
  • 显示带有选项"artifact…"和"external source…"的上下文菜单。
  • 选择"工件…",将显示一个对话框,其中显示两个选项"项目名称:战争"和"项目名称:战争分解"。
  • 选择"项目名称:战争爆发"选项,警告将得到解决。

  • 关于如何在Intellij中创建SpringWebMVC项目,有完整的分步教程。

  • 文件->新建->项目->Maven(取消选中"从原型创建")->下一步。
  • 键入groupid和artifactid。例如groupid='test',artifactid='app'并单击Next。
  • 键入项目名称。例如,project name='webapp'并单击"完成"。
  • 右键单击项目名称并选择"添加框架支持…"。然后选择"Spring MVC"和"Download"选项。单击"确定"。
  • 在pom.xml文件中添加新的依赖项和打包属性,如下面的代码中所示

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    &lt?xml version="1.0" encoding="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

    [cc lang="java"]&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

    </项目>[/cc]

  • 在Intellij窗口的右上角,您将看到信息面板"需要导入Maven项目"。单击"导入更改"。

  • 在SRC/Meave/Java中创建新的包,例如"Test.app",并将新的Java文件TestController。Java与您的控制器(以下代码)放置在一起。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    package test.app;

    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;


    @Controller
    public class TestController {
        @RequestMapping(value="/")
        public String test()
        {
            return"index";
        }
    }
  • 在web/web-inf/dispatcher-servlet.xml文件中,在下面粘贴代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    &lt?xml version="1.0" encoding="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


    [cc lang="java"]&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

    。</豆子>[/cc]

  • 在WEB/WEB-INF目录中创建新目录"VIEWS",并将文件index.jsp从WEB目录移到那里。

  • 在index.jsp文件中,将一些HTML代码粘贴到body部分。例如,index.jsp文件代码放在下面

    1
    2
    3
    4
    5
    6
    7
    8
    9
    &lt%@ page contentType="text/html;charset=UTF-8" language="java" %&gt
    &lthtml&gt
      &lthead&gt
        &lttitle&gt$Title$&lt/title&gt
      &lt/head&gt
      &ltbody&gt
        &ltp&gtHELLO WORLD&lt/p&gt
      &lt/body&gt
    &lt/html&gt

  • 在web.xml文件中,将url pattern属性值从*.form更改为/。现在web.xml文件应该包含如下代码。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    &lt?xml version="1.0" encoding="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/param-name&gt
            &ltparam-value&gt/WEB-INF/applicationContext.xml&lt/param-value&gt
        &lt/context-param&gt
        &ltlistener&gt
            &ltlistener-class&gtorg.springframework.web.context.ContextLoaderListener&lt/listener-class&gt
        &lt/listener&gt
        &ltservlet&gt
            &ltservlet-name&gtdispatcher&lt/servlet-name&gt
            &ltservlet-class&gtorg.springframework.web.servlet.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
    &lt/web-app&gt

  • 现在右键单击项目名称并选择"打开模块设置…"。选择modules(模块)->your application name(应用程序名称)->web,然后在WebResourceDirectory窗口中将web资源目录更改为directorywebappweb,其中directory是您的intellij项目在计算机上的位置。然后单击应用并确定。

  • 现在我们必须编辑运行配置。按下绿色箭头旁边的向下箭头并选择编辑配置…然后是青柠。选择Tomcat服务器->本地。在"应用服务器"部分,选择您的主Tomcat目录。您将在窗口的底部看到警告。单击"修复",然后选择"webapp:war eploded"或类似的内容。这取决于您的应用程序名。然后单击应用并确定。
  • 仅此而已:)现在,您可以按绿色箭头,在您最喜爱的Web浏览器中看到您的第一个Web应用程序站点。祝你好运!