IntelliJ IDEA 2019 创建maven web项目
本文介绍使用IDEA创建不使用模板的web项目。
新建项目


配置项目
修改项目结构设置

添加web module
Project那边没有什么需要修改配置的地方,不过需要的话可以修改Project compiler output,这里我们使用默认就可以了。
此项目无任何适配服务组件(因为是手工创建Maven,没有选择任何Maven模板),因此需要我们进行添加。
这里选择一个Web组件就表示这是一个web project了

配置Web Resource Directories
这里要选择scr/main目录,并且在后面手动添加一个webapp目录。
点OK,Web的资源目录便设置好了。

配置Deployment Description
这一步是配置web.xml文件的位置,我们需要放在上一步webapp下面去。

修改完成的结果

到这里我们可以看到底部有一个警告,是我们还没有引入aftifact,接下来配置Aftifacts。
Aftifacts配置
这个Aftifacts描述了当前项目发布的信息。现在进行添加,从Modeles中选择。
选择Modules

弹出窗直接选择我们的这个module,然后点击ok就可以了

配置完成以后的结果

再回过头去看Modules菜单下的警告也没有了。
项目结构
这里我们就可以看到我们web项目必须要有的web.xml文件,并且我们在里面添加了一个welcome-file,当项目启动时打开我我们的index.html文件。

配置Tomcat
下载Tomcat
首先进入Tomcat官网,这里我们选择了一个Tomcat-9.0.3的版本进行下载。
配置Tomcat Server


配置Deployment


配置Server

运行web项目
在webapp目录下面新建index.html文件,项目结构如下。

接下来启动项目

然后我们访问http://localhost:8080/,就可以看到显示了我们`index.html`的内容了。
新建Servlet
package com.xiaozhangge.servlet;
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;
import java.nio.charset.StandardCharsets;
/**
* Created by xiaozhangge on 2020/2/26.
*/
@WebServlet("/index")
public class IndexServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 解决乱码
request.setCharacterEncoding(StandardCharsets.UTF_8.displayName());
response.setCharacterEncoding(StandardCharsets.UTF_8.name());
String name = request.getParameter("name");
request.setAttribute("name", name);
System.out.println(name);
response.getWriter().println(name);
}
}
然后重启项目我们在地址栏输入http://localhost:8080/index?name=哈哈哈就可以看到页面输出了哈哈哈
常见问题
无法使用
servlet包下面的类解决方案:在Modules加入Tomcat依赖


