【问题标题】:IntelliJ + Spring Web MVCIntelliJ + Spring Web MVC
【发布时间】:2016-10-25 12:38:12
【问题描述】:

IntelliJ 2016.1.3 和 Spring Web MVC 集成有问题。 我已经采取的步骤:

  1. 文件 -> 新建 -> 项目... -> Maven(无原型)
  2. GroupId = 测试 ArtifactId = 应用程序
  3. 项目名称 = 应用并完成。
  4. 我在pom.xml中添加了war
  5. 我添加到 pom.xml 依赖项

    &lt依赖&gt &ltgroupId&gtorg.springframework&lt/groupId&gt &ltartifactId&gtspring-webmvc&lt/artifactId&gt &ltversion&gt4.1.6.RELEASE&lt/version&gt &lt/依赖&gt &lt依赖&gt &ltgroupId&gtjavax.servlet&lt/groupId&gt &ltartifactId&gtjstl&lt/artifactId&gt &lt版本&gt1.2&lt/版本&gt &lt/依赖&gt &lt依赖&gt &ltgroupId&gtjavax.servlet&lt/groupId&gt &ltartifactId&gtjavax.servlet-api&lt/artifactId&gt &lt版本&gt3.1.0&lt/版本&gt &ltscope&gt提供&lt/scope&gt &lt/依赖&gt
  6. 接下来我将模块添加到项目中(右键单击项目名称 -> 添加框架支持...)。我选择了 Spring MVC 并下载(配置... - 选择了所有项目)。

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

    包test.app; 导入 org.springframework.stereotype.Controller; 导入 org.springframework.web.bind.annotation.RequestMapping; @控制器 公共类 HomeController { @RequestMapping(value="/") 公共字符串测试() { 返回“测试”; } }
  8. 我创建了 webapp\WEB-INF 并将 web.xml 放在那里

    &ltweb-app 版本="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 名称&gtWebServlet&lt/servlet 名称&gt &ltservlet-class&gtorg.springframework.web.servlet.DispatcherServlet&lt/servlet-class&gt &ltinit 参数&gt &ltparam-name&gtcontextConfigLocation&lt/param-name&gt &ltparam-value&gt/WEB-INF/dispatcher-servlet.xml&lt/param-value&gt &lt/初始化参数&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/网络应用&gt
  9. 进入 webapp\WEB-INF 我将 dispatcher-servlet.xml 放入

    &lt?xml 版本="1.0" 编码="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/豆子&gt
  10. 最后我将 test.jsp 文件添加到 webapp\WEB-INF\views 中。另外我必须添加模块依赖项(F4 -> 模块 -> 依赖项 -> + -> 库 -> 来自 maven -> 键入 javax.servlet:jstl:1.2)

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

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

【问题讨论】:

    标签: java spring maven spring-mvc intellij-idea


    【解决方案1】:

    有完整的分步教程如何在 IntelliJ 中创建 spring web mvc 项目。

    1. 文件 -> 新建 -> 项目 -> Maven(取消选中“从原型创建”)-> 下一步。
    2. 键入您的 GroupId 和 ArtifactId。例如 GroupId = 'test', ArtifactId = 'app' 然后点击下一步。
    3. 键入项目名称。例如 Project name = 'WebApp' 并点击 Finish。
    4. 右键单击您的项目名称并选择“添加框架支持...”。然后选择“Spring MVC”和“下载”选项。点击确定。
    5. 在 pom.xml 文件中添加新的依赖项和打包属性,如下面的代码所示

      &lt?xml 版本="1.0" 编码="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/项目&gt
    6. 在 IntelliJ 窗口的右上角,您将看到信息面板“需要导入 Maven 项目”。点击“导入更改”。

    7. 在 src/main/java 中创建新包,例如 'test.app' 并将新的 java 文件 TestController.java 与您的控制器一起放在那里(代码如下)。

      包test.app; 导入 org.springframework.stereotype.Controller; 导入 org.springframework.web.bind.annotation.RequestMapping; @控制器 公共类 TestController { @RequestMapping(value="/") 公共字符串测试() { 返回“索引”; } }
    8. 在web/WEB-INF/dispatcher-servlet.xml文件下面粘贴代码

      &lt?xml 版本="1.0" 编码="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/豆子&gt
    9. 在 web/WEB-INF 目录中创建新目录 'views' 并将文件 index.jsp 从 web 目录移到那里。

    10. 在文件 index.jsp 中将一些 html 代码粘贴到正文部分。比如index.jsp文件代码放在下面

      &lt%@ page contentType="text/html;charset=UTF-8" language="java" %&gt &lthtml&gt &lt头&gt &lttitle&gt$Title$&lt/title&gt &lt/头&gt &lt身体&gt &ltp&gt你好世界&lt/p&gt &lt/身体&gt &lt/html&gt
    11. 在 web.xml 文件中,将 url-pattern 属性值从 *.form 更改为 /。现在 web.xml 文件应该包含如下代码。

      &lt?xml 版本="1.0" 编码="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" 版本="3.1"&gt &lt上下文参数&gt &ltparam-name&gtcontextConfigLocation&lt/param-name&gt &ltparam-value&gt/WEB-INF/applicationContext.xml&lt/param-value&gt &lt/上下文参数&gt &lt监听器&gt &ltlistener-class&gtorg.springframework.web.context.ContextLoaderListener&lt/listener-class&gt &lt/听众&gt &ltservlet&gt &ltservlet 名称&gt调度程序&lt/servlet 名称&gt &ltservlet-class&gtorg.springframework.web.servlet.DispatcherServlet&lt/servlet-class&gt &lt启动时加载&gt1&lt/启动时加载&gt &lt/servlet&gt &ltservlet 映射&gt &ltservlet 名称&gt调度程序&lt/servlet 名称&gt &lturl-模式&gt/&lt/url-模式&gt &lt/servlet 映射&gt &lt/网络应用&gt
    12. 现在右键单击您的项目名称并选择“打开模块设置...”。选择 Modules -> your application name -> Web 并在 WebResourceDirectory 窗口中将您的 Web 资源目录更改为 directory\WebApp\web ,其中目录是您计算机上 IntelliJ 项目的位置。然后点击应用和确定。

    13. 现在我们必须编辑运行配置。按绿色箭头旁边的向下箭头并选择编辑配置...然后单击绿色 +。选择 Tomcat 服务器 -> 本地。在“应用程序服务器”部分选择您的主 Tomcat 目录。您将在窗口底部看到警告。单击修复并选择“WebApp:war eploded”或类似内容。这取决于您的应用程序名称。然后点击应用和确定。

    就是这样 :) 现在您可以按绿色箭头并在您最喜欢的 Web 浏览器中查看您的第一个 Web 应用程序站点。 祝你好运!

    【讨论】:

      【解决方案2】:

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

      • 神器...
      • 外部来源...

      您通常会通过选择“工件...”来选择当前项目的部署工件。

      HTH

      【讨论】:

      • 感谢您的回答。选择“+”后,我只有“外部源...”选项。我应该怎么做才能拥有“工件...”选项?
      • 您是否已经成功构建了您的项目?构建工件 (.war) 是否在正确的文件夹中?
      • 我选择了:View -> Tool Windows -> Maven Projects,然后展开我的应用程序树,下一个 Lifecycle -> clean -> 鼠标右键 -> Run Maven Build。
      • 可以吗?我想没有,因为我在任何地方都没有找到任何神器。
      • 对于我的简单问题,我很抱歉,但我是 Intellij 的新手。
      【解决方案3】:

      在第 11 步中。当您收到警告时

      1. 转到部署选项卡 按“+”按钮。
      2. 显示带有选项“工件...”和“外部源...”的上下文菜单。
      3. 选择“Artifact...”,将显示一个对话框,其中包含两个选项“project_name:war”和“project_name:war exploded”。
      4. 选择“project_name:war exploded”选项,警告将得到解决。

      【讨论】:

      • 感谢您的回答。选择“+”后,我只有“外部源...”选项。我应该怎么做才能拥有“工件...”选项?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-02
      • 2015-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多