如何在IDEA2017创建Maven的Web工程
和Eclipse不一样,在IDEA中创建Maven的web工程相对来说麻烦一些,Eclipse只需要创建Maven工程的时候选个war包然后创建个WEB-INF和web.xml,再配置个javaee的依赖就完事了。IDEA则要多几个配置步骤,刚上手IDEA的新手容易掉坑,所以在此分享一下创建步骤。
我的环境如下:
- tomcat9.0
- jdk1.8
- IDEA2017
- maven3.5
1.创建新Project:
2.选择创建Maven工程,按照下图选择webapp骨架,注意这一步不要选错骨架了:
3.设置maven的信息:
4.更换maven,不使用自带的:
5.然后就会下载需要的依赖,点击 “import Changes”:
下载完成后控制台会显示 “BUILD SUCCESS”:
6.完成之后工程目录结构如下:
8.创建完工程之后还没完,得先创建个tomcat才能运行web工程:
9.设置服务器的一些基本信息:
10.配置工程到tomcat中:
11.配置服务器热部署,我个人感觉IDEA的热部署没有Eclipse的好:
12.启动服务器:
注意,需要使用debug模式启动才能支持热部署,普通模式启动是不生效的。
会自动打开默认的浏览器:
自带的index.jsp的内容如下:
代码语言:javascript复制<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
13.服务器能够正常启动并运行jsp后,重新配置一下工程自带的web.xml文件,将版本配置成你需要的版本,如果不需要使用web.xml的话不配置也可以,我这里配置的是3.0版本:
代码语言:javascript复制<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
</web-app>
14.在pom.xml中配置javaee的依赖才能写web代码:
代码语言:javascript复制<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
15.创建源码目录:
16.给创建的目录标记为源码目录之后才能在这个目录下创建java的包和类,不然的话是无法创建的:
17.编写一个简单的servlet测试一下: 目录结构如下:
代码如下:
代码语言:javascript复制package org.zero01.myweb;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/myweb")
public class MyWeb extends HttpServlet{
protected void doGet(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException {
System.out.println("Hello, I'm Servlet");
}
}
运行结果如下:
Hello, I'm Servlet
ok,没毛病,打完收工。