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依赖