IntelliJ IDEA上创建Maven Spring MVC项目

目前开发主流的IDE有eclipse系列和IntelliJ IDEA系列的。IDEA号称是最好用的收费的 IDE,用了一段时间感觉比eclipse要方便不少。由于网上大多数的教程都是基于eclipse的,或者是低版本的idea,所以有以下这篇博客,在 IntelliJ IDEA上创建maven Spring MVC项目,可以给一些刚入门的一个参考。
IntelliJ IDEA版本图

各软件版本

  • IntelliJ IDEA 2016.1
  • jdk1.8
  • maven3.0.5
  • tomcat或jetty

idea和maven的基本使用这里就不细讲了。有需要请移步.

利用maven骨架建立一个webapp

  • 选择create new project-Maven-Create from archetype。找到maven-archetype-webapp这个骨架,然后next。
    udast
  • 输入GroupId和ArtifactId后下一步。
    填写maven信息
  • 填写本地的maven环境,这里可以选择自己本地的环境,也可以用idea自带的maven3.0.5。配置相应的配置文件,idea自带的maven是没有配置文件的,需要单独配置的可以在相应的目录中添加setting.xml文件,例如需要配置jdk版本或者maven mirror的。
    填写本地的maven环境
    由于maven骨架和一些jar需要去maven的仓库下载,所以创建项目的时候速度会非常慢(外国的服务器你懂得),因此我们可以直接访问https://repo1.maven.org/maven2/archetype-catalog.xml,把这个xml下载下来放到本地的maven目录中,然后在添加一个参数archetypeCatalog=internal就可以了。
  • next 填写名称,finish即可。

建立相应的目录

创建完成后,src-main下建立目录后,是无法在该目录下创建新的包和类等文件的。在idea中需要对目录进行标注。
IntelliJ IDEA上创建Maven Spring MVC项目

  • Sources 一般用于标注类似 src 这种可编译目录。有时候我们不单单的 src 目录要可编译,还有其他一些特别的目录也许我们也要作为可编译的目录,就需要对该目录进行此标注。只有 Sources 这种可编译目录才可以新建 类和包,这一点需要牢记。
  • Tests 一般用于标注可编译的单元测试目录。在规范的 maven 结构中,顶级目录是 src,maven 的 src 我们是不会设置为 Sources 的,而是在其子目录 main 目录下的 java 目录,我们会设置为 Sources。而单元测试的目录是 src – test – java,这里的 java 目录我们就会设置为 Tests,表示该目录是作为可编译的单元测试目录。一般这个和后面几个我们都是在 maven 下进行配置的,但是我这里还是会先说说。从这一点我们也可以看出 IntelliJ IDEA 对 maven 项目的支持是比较彻底的。
  • Resources 一般用于标注资源文件目录。在 maven 项目下,资源目录是单独划分出来的,其目录为:src – main -resources,这里的 resources 目录我们就会设置为 Resources,表示该目录是作为资源目录。资源目录下的文件是会被编译到输出目录下的。
    Test Resources 一般用于标注单元测试的资源文件目录。在 maven 项目下,单元测试的资源目录是单独划分出来的,其目录为:src – test -resources,这里的 resources 目录我们就会设置为 Test Resources,表示该目录是作为单元测试的资源目录。资源目录下的文件是会被编译到输出目录下的。
  • Excluded 一般用于标注排除目录。被排除的目录不会被 IntelliJ IDEA 创建索引,相当于被 IntelliJ IDEA 废弃,该目录下的代码文件是不具备代码检查和智能提示等常规代码功能。
  • 通过上面的介绍,我们知道对于非 maven 项目我们只要会设置 src 即可。
    (引用自https://wiki.jikexueyuan.com/project/intellij-idea-tutorial/eclipse-java-web-project-introduce.html)

标注完后,建立如下的目录。
IntelliJ IDEA上创建Maven Spring MVC项目

配置Maven和SpringMVC

配置Maven的pom.xml

完整的配置文件如下。

project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"         xsi:schemaLocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">    modelVersion>4.0.0modelVersion>    groupId>com.examplegroupId>    artifactId>maven-springmvcartifactId>    packaging>warpackaging>    version>1.0-SNAPSHOTversion>    name>maven-springmvc Maven Webappname>    url>https://maven.apache.orgurl>        dependencies>                dependency>            groupId>junitgroupId>            artifactId>junitartifactId>            version>3.8.1version>            scope>testscope>        dependency>        dependency>            groupId>org.slf4jgroupId>            artifactId>slf4j-log4j12artifactId>            version>1.7.21version>        dependency>                dependency>            groupId>javax.servletgroupId>            artifactId>javax.servlet-apiartifactId>            version>3.1.0version>        dependency>        dependency>            groupId>javax.servlet.jspgroupId>            artifactId>jsp-apiartifactId>            version>2.2version>        dependency>        dependency>            groupId>javax.servletgroupId>            artifactId>jstlartifactId>            version>1.2version>        dependency--mysql驱动包-->        dependency>            groupId>mysqlgroupId>            artifactId>mysql-connector-javaartifactId>            version>5.1.35version>        dependency>                dependency>            groupId>org.springframeworkgroupId>            artifactId>spring-webartifactId>            version>4.3.1.RELEASEversion>        dependency>        dependency>            groupId>org.springframeworkgroupId>            artifactId>spring-webmvcartifactId>            version>4.3.1.RELEASEversion>        dependency>                dependency>            groupId>org.apache.commonsgroupId>            artifactId>commons-lang3artifactId>            version>3.4version>        dependency>        dependency>            groupId>commons-fileuploadgroupId>            artifactId>commons-fileuploadartifactId>            version>1.3.1version>        dependency>    dependencies>    build>        finalName>maven-springmvcfinalName>        resources>                        resource>                directory>${basedir}/src/main/javadirectory>                includes>                    include>**/*.propertiesinclude>                    include>**/*.xmlinclude>                includes>            resource>            resource>                directory>${basedir}/src/main/resourcesdirectory>            resource>        resources>        plugins>                        plugin>                groupId>org.eclipse.jettygroupId>                artifactId>jetty-maven-pluginartifactId>                version>9.3.10.v20160621version>            plugin>        plugins>    build>project>

更新完pom.xml文件后,idea应该会自动下载相应的jar包(可能需要vpn),如果没有自动下载的话,可以点击“Reimport All Maven Projects”按钮进行项目的重新载入。如图所示。
IntelliJ IDEA上创建Maven Spring MVC项目
jar下载完成后,所有项目所需的依赖就已经添加完成了。

配置web.xml

maven默认生成的web.xml版本是2.3的,所以有些配置节点idea会识别不出来,因此我们重新添加一个3.0的。

web-app xmlns="https://java.sun.com/xml/ns/javaee"           xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"           xsi:schemaLocation="https://java.sun.com/xml/ns/javaee          https://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"           version="3.0">        welcome-file-list>        welcome-file>index.jspwelcome-file>    welcome-file-list>        servlet>        servlet-name>springMVCservlet-name>        servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>        init-param>            param-name>contextConfigLocationparam-name>            param-value>classpath:spring/spring-mvc.xmlparam-value>        init-param>        load-on-startup>1load-on-startup>        async-supported>trueasync-supported>    servlet>    servlet-mapping>        servlet-name>springMVCservlet-name>        url-pattern>/url-pattern>    servlet-mapping>web-app>

接收到的http请求通过DispatcherServlet进行分发。

配置contextConfigLocation文件

beans xmlns="https://www.springframework.org/schema/beans"       xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"       xmlns:context="https://www.springframework.org/schema/context"       xmlns:mvc="https://www.springframework.org/schema/mvc"       xsi:schemaLocation="https://www.springframework.org/schema/beans                        https://www.springframework.org/schema/beans/spring-beans-3.2.xsd                         https://www.springframework.org/schema/context                        https://www.springframework.org/schema/context/spring-context-3.2.xsd                        https://www.springframework.org/schema/mvc                        https://www.springframework.org/schema/mvc/spring-mvc.xsd">        context:annotation-config/>        context:component-scan base-package="com.zjut.ssm.controller">        context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>    context:component-scan>            mvc:resources mapping="/resources/**" location="/resources/"/>        mvc:annotation-driven/>            bean id="defaultViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">        property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>        property name="prefix" value="/WEB-INF/view/"/>        property name="suffix" value=".jsp"/>    bean>        bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">        property name="maxUploadSize" value="20971500"/>        property name="defaultEncoding" value="UTF-8"/>        property name="resolveLazily" value="true"/>    bean>beans>

配置log4j.properties

日志文件是debug中一个必不可少的工具,因此添加了log4j日志包。配置文件如下。

#配置根Logger 后面是若干个Appenderlog4j.rootLogger=DEBUG,A1,R#log4j.rootLogger=INFO,A1,R# ConsoleAppender 输出log4j.appender.A1=org.apache.log4j.ConsoleAppenderlog4j.appender.A1.layout=org.apache.log4j.PatternLayoutlog4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n# File 输出 一天一个文件,输出路径可以定制,一般在根路径下log4j.appender.R=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.R.File=log.txtlog4j.appender.R.MaxFileSize=500KBlog4j.appender.R.MaxBackupIndex=10log4j.appender.R.layout=org.apache.log4j.PatternLayoutlog4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n

controller和view的编写

在controller下新建一个“HomeController”。编写如下代码。

package com.zjut.ssm.controller;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;/** * @author Chingyu Mo * @create 2016-07-23-20:20 */// 注解标注此类为springmvc的controller,url映射为"/home"@Controller@RequestMapping("/home")public class HomeController {    //添加一个日志器    private static final Logger logger = LoggerFactory.getLogger(HelloController.class);    //映射一个action    @RequestMapping("/index")    public  String index(){        //输出日志文件        logger.info("the first jsp pages");        //返回一个index.jsp这个视图        return "index";    }}

在views文件夹下建立一个jsp文件,名为“index.jsp”

基本的代码编写就完成了。

servlet容器的配置和运行

servlet容器有两种配置方式。

  • 配置本地的tomcat服务器
  • 配置maven插件

配置本地的tomcat服务器

IntelliJ IDEA上创建Maven Spring MVC项目
根据上图配置tomcat服务器,如果用这种方法,本地需要下载tomcat并配置好环境变量。
IntelliJ IDEA上创建Maven Spring MVC项目
主要有以下几个要点

  • 1.选择本地的tomcat容器。
  • 2.可以选择修改访问路径。
  • 3.On Update action 当我们按 Ctrl + F10 进行容器更新的时候,可以根据我们配置的这个事件内容进行容器更新。其中我选择的 Update classes and resources 事件是最常用的,表示我们在按 Ctrl + F10 进行容器更新的时候,我们触发更新编译的类和资源文件到容器中。
  • 4.默认 Tomcat 的 HTTP 端口是 8080,如果你需要改其端口可以在这里设置。
  • 5.在 Deployment 选项卡中添加了 Artifact。

配置maven插件

maven插件的话有tomcat和jetty,两者都是servlet的容器。我这里配置的是jetty。插件已经在pom.xml中配置完成了。

 plugins>                        plugin>                groupId>org.eclipse.jettygroupId>                artifactId>jetty-maven-pluginartifactId>                version>9.3.10.v20160621version>            plugin>        plugins>

再在idea中配置jetty。
IntelliJ IDEA上创建Maven Spring MVC项目

运行第一个Spring MVC应用

点击Run,运行。

以上就是一个简单的Spring MVC应用在idea中的创建方式。

使用IntelliJ IDEA 13搭建

IntelliJ IDEA 12 创建Web项目图文详细教程

用IntelliJ IDEA开发Android程序图文教程

IntelliJ IDEA 12开发haXe NME应用配置指南

IntelliJ IDEA运行Play Framework的test mode

IntelliJ IDEA 12创建Maven管理的Java Web项目(图解)

IntelliJ IDEA 常用快捷键列表及技巧大全   

IntelliJ IDEA 的详细介绍

更多内容请长按二维码关注(更有不定期发红包活动吆^0^):
致儒先生

转载自:https://www.linuxidc.com/Linux/2016-08/133840.htm

声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 智乐兔
转载请注明:转自《IntelliJ IDEA上创建Maven Spring MVC项目
本文地址:https://www.zhiletu.com/archives-7968.html
关注公众号:智乐兔

赞赏

wechat pay微信赞赏alipay pay支付宝赞赏

上一篇
下一篇

相关文章

在线留言

你必须 登录后 才能留言!

在线客服
在线客服 X

售前: 点击这里给我发消息
售后: 点击这里给我发消息

智乐兔官微