使用IntelliJ创建spring mvc maven工程(图文)
这里将使用maven来构建
1. 新建maven工程
下一步 GroupId AtifactId等自行填写,直到结束finish,值得注意的是,要想快一点下载jar包,可以修改maven的settins.xml文件,添加阿里镜像库地址,如下:
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
2. 引入spring mvc所用jar包
工程创建后得到一个空的maven工程,在pom文件中加入spring大礼包,用啥自己就加啥吧
<dependencies>
<!--spring-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.3.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.3.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.3.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.2.7.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.3</version>
</dependency>
<!-- java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
3. 添加spring mvc的框架支持
先删除facets中的spring,这个是因为添加spring jar包生成的
删除后在工程右键,选择 Add framework support
选择spring的spring mvc
确认后,生成如下web文件夹
4.设置Tomcat服务器
在右上角的Add configrations里设置
没有tomcat的自己下载一个安装上
添加一个Artifacts
确定OK;
5. 解决一个找不到类的问题
此时run一下工程,是起不来的,报错如下:
05-Jul-2020 21:03:48.785 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.listenerStart 配置应用程序监听器[org.springframework.web.context.ContextLoaderListener]错误
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
说是ContextLoaderListener这个类找不到
原因:在部署到tomcat的时候没有把maven构建的项目中的jar包给构建进去
解决办法:在Artifacts中的Output Layout中,将jar包放入到output root中即可
6.工程正常运行
这个是默认用的xml配置的mvc,你也可以把相应的xml删除,使用注解进行配置,可以自由玩耍了,祝大家玩的愉快