Intellij IDEA2019基于maven创建springMVC项目以及文件配置

Intellij IDEA2019基于maven创建springMVC项目以及文件配置

2019-10-27 21:45:13发布 浏览数:5715
概述:Intellij IDEA2019基于maven创建springMVC项目以及文件配置

工具:Intellij IDEA (我用的是2019.2.3版本)

一. 打开IDEA,Create New Project

Project SDK 不要用IDEA自带的JDK,点击New,选择自己电脑上配置好的JDK

选择Maven,将Create from archetype勾上,选择图中的3


这里的GroupId和ArtifactId随便填,但是ArtifactId最好和你的项目名一致(项目名在后面设置)


选择自己电脑上配置好的maven和settings.xml配置文件,如果settings.xml文件配置好了的话,Local repository会自动改成你配置好的仓库地址,不需要override。然后next。


这里的项目名跟前面设置的ArtifactId名一样,Project location是你的项目地址,都配置好就Finish啦


IDEA开始创建项目,这里可能要等一会儿,或许会有点慢。右下角会出现如下图所示的提示框,需要把Enable Auto-Import点上,这样maven就会开启自动导入了。


然后就等着maven创建成功吧,出现如下图所示就说明创建成功


二 完善项目

打开pom.xml文件,添加各类依赖,将下面的代码复制到标签中(这些是我添加的依赖,做个参考),添加完成之后,等待maven将这些jar下载完毕,下载完成后,可以看到External Library下多了很多文件

```java
<dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    <!--日志包-->
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.1.3</version>
    </dependency>
<!--springmvc所需要的包-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>4.0.0.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>4.0.0.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>4.0.0.RELEASE</version>
    </dependency>
      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-test</artifactId>
          <version>4.0.0.RELEASE</version>
      </dependency>
<!--servlet容器包-->
      <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>javax.servlet-api</artifactId>
          <version>3.1.0</version>
      </dependency>
      <dependency>
          <groupId>javax.servlet.jsp</groupId>
          <artifactId>jsp-api</artifactId>
          <version>2.2</version>
      </dependency>
      <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>jstl</artifactId>
          <version>1.2</version>
      </dependency>
  </dependencies>

添加springMVC框架,右击项目文件夹spring,选择Add framework support


将下图中的Spring和Spring下的Spring MVC都勾上,之前配置pom.xml文件时,已经自动下载了spring相关文件,所以这里就直接用之前下载好的就可以了,OK。(注意:点了Add framework support之后,在下图中有可能会找不到Spring,解决办法在下图的下方)


如果在Add framework support中找不到Spring,那是因为项目中可能已经存在Spring相关文件,但不一定是完善的。因此我们要将已经存在的Spring给删掉,重新添加,方法如下:

点击File,选择Project Structure,选择Facets,就会看到有一个Spring啦,右击它,点删除就行啦,然后再回到上面重新Add framework support,Spring就会出现啦。

先在src/main文件夹下创建java文件夹,建立Java所需要的包,resources是和java一样的文件夹,建好之后会自动变成有黄色长方形的样子,把需要的文件夹都创建好,文件结构如下图所示:


现在可以对SpringMVC进行设置了,首先配置web.xml

配置好的文件直接复制即可

<?xml version="1.0" encoding="UTF-8"?>
<web-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">
  <display-name>Archetype Created Web Application</display-name>
  <!--welcome pages-->
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <!--配置springmvc 前置控制器 DispatcherServlet-->
  <servlet>
    <servlet-name>springMVC</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <!--配置dispatcher.xml作为mvc的配置文件-->
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
    </init-param>
    <!-- servlet启动加载,servlet原本是第一次访问创建对象;
      load-on-startup:服务器启动的时候创建对象;值越小优先级越高,越先创建对象;
       -->
    <load-on-startup>1</load-on-startup>
    <async-supported>true</async-supported>
  </servlet>
  <servlet-mapping>
   
    <servlet-name>springMVC</servlet-name>
    <url-pattern>/</url-pattern>

  </servlet-mapping>
  <!--spring 中的配置文件
   把applicationContext.xml加入到配置文件中-->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext.xml</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
</web-app>

配置dispatcher-servlet.xml,负责mvc的配置

<?xml version="1.0" encoding="UTF-8"?>
<beans 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.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
    <!--此文件负责整个mvc中的配置-->
    <!--启用spring的一些annotation -->
    <context:annotation-config/>
    <!-- 配置注解驱动 可以将request参数与绑定到controller参数上 -->
    <mvc:annotation-driven/>
    <!--静态资源映射-->
    <!--本项目把静态资源放在了webapp的statics目录下,资源映射如下-->
    <mvc:resources mapping="/css/**" location="/statics/css/"/>
    <mvc:resources mapping="/js/**" location="/statics/js/"/>
    <mvc:resources mapping="/image/**" location="/statics/images/"/>
    <mvc:default-servlet-handler />  <!--这句要加上,要不然可能会访问不到静态资源,具体作用自行百度-->
    <!-- 对模型视图名称的解析,即在模型视图名称添加前后缀(如果最后一个还是表示文件夹,则最后的斜杠不要漏了) 使用JSP-->
    <!-- 默认的视图解析器 在上边的解析错误时使用 (默认使用html)- -->
    <bean id="defaultViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
        <property name="prefix" value="/views/"/><!--设置JSP文件的目录位置-->
        <property name="suffix" value=".jsp"/>
        <property name="exposeContextBeansAsAttributes" value="true"/>
    </bean>
    <!-- 自动扫描装配 -->
    <context:component-scan base-package="example"/>
</beans>

配置applicationContext.xml,负责一些非MVC组件的配置,暂时没有所以是空的,但也可以扫描一下

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:contest="http://www.springframework.org/schema/context"
       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.xsd">
<contest:component-scan base-package="example"/>
</beans>

以上全都配置好,就可以开始测试了,来试一个很简单的例子

在controller包里新建一个DemoController.java,代码如下

package example.controller;

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

@Controller
public class DemoController {
    @RequestMapping("/hellow")
    public String test(){
        System.out.println("收到了请求");
        return "success";
    }
}

在webapp文件下配置index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Index</title>
</head>
<body>
<a href="/hellow">hellow</a>
</body>
</html>

配置 Tomcat


我们先配置Deployment吧,点击绿色加号,选择Artifact…


选择第二个,一定要选择war exploded,要不然会报错,点击OK


然后来设置Server,可以给Tomcat取个名字,Configure 选择自己安装好的Tomcat,根据个人习惯设置一个默认的浏览器。


然后On ‘Update’ action 和 On frame deactivation两项都选择Update classes and resources,这是为了当我们修改了jsp、css、js等静态资源的时候,立即生效,不需要重启Tomcat,直接在页面上刷新就可以看到效果。之前之所以先配置Deployment,是因为要先配置里面的Artifact,这两项要依赖于exploded,要不然Update classes and resources是没有的,只是为了方便而已啦。设置完成后,OK

运行Tomcate 地址栏输入 http://localhost:8080/成功运行


点击hellow 服务器跳转成功

请先
登录
后评论
0 条评论
暂时没有评论
最新文章
更多