IntelliJ + Spring Web MVC

2022-09-03 07:44:02

我在IntelliJ 2016.1.3和Spring Web MVC集成方面遇到了问题。我所做的步骤:

  1. File -> New -> Project... -> Maven (no archetype)
  2. GroupId = test ArtifactId = app
  3. 项目名称 = 应用和完成。
  4. 我添加到pom.xml <包装>战争</包装>
  5. 我添加到 pom.xml 依赖项

    &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
    
  6. 接下来,我将模块添加到项目中(右键单击项目名称 ->添加框架支持... )。我选择了Spring MVC和下载(配置... - 选择了所有项目)。

  7. 我创建了控制器类 HomeController.class

    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";
        }
    }
    
  8. 我创建了webapp\WEB-INF并放在那里.xml

    &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
    
    
    &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. Into webapp\WEB-INF I put dispatcher-servlet.xml

    &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
    
    
    
    &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/beans&gt
  10. 最后,我将 test.jsp 文件添加到 webapp\WEB-INF\views 中。此外,我必须添加模块依赖关系(F4 ->模块 ->依赖关系 -> + ->库 -> 来自 maven -> 类型化的 javax.servlet:jstl:1.2)

  11. 下一步应该是运行应用程序。我必须编辑配置(绿色箭头旁边的向下箭头)->+ -> TomcatServer -> Local,我收到警告没有标记为部署的项目。不幸的是,我无法解决这个问题。我有“修复”按钮,但在我按下此按钮后,我得到“部署”选项卡,不知道该怎么办。

请帮助我进行部署配置,并告诉我在IntelliJ中创建春季Web应用程序的方式是好的还是你有另一个更好的方法。我需要一步一步的教程,因为我在youtube上看了一些电影,我看到了我的Intellij中没有的选项,或者它们被隐藏了,我找不到它们。此致敬意


答案 1

如果已以正确的方式配置了所有内容,则部署选项卡的右上角应有一个 +-Sign。按下它后,您应该会获得一个包含 1-2 个选项的工具提示:

  • 人工制品。。。
  • 外部源...

通常,可以通过选择“项目...”来选择当前项目的部署项目。

呵呵


答案 2

在步骤 11 中。当您收到警告时,则

  1. 转到“部署”选项卡,按“+”按钮。
  2. 上下文菜单与选项“工件...”并显示“外部源..”。
  3. 选择“神器...””并将显示一个对话框,其中显示两个选项“project_name:战争”和“project_name:战争爆炸”。
  4. 选择“project_name:战争爆炸”选项,警告将得到解决。

推荐