文章目录
Maven 创建 Servlet 项目的过程
一、创建maven项目,引入web-app模板,创建项目源代码目录
maven搭建项目,使用web-app模板
初始目录结构
添加项目的源文件的根目录java
二、根据Tomcat 版本添加对应版本的servlet依赖,引入Tomcat插件
加入smart Tomcat 插件,配置本地的tomcat到项目中
在pom.xml文件中加入 servlet依赖
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
三、配置servlet配置文件和路由文件
下面是配置servlet的两种方式,任选其一即可
1、在web.xml中定义servlet类以及映射路由,下面是模板
<?xml version="1.0" encoding="UTF-8" ?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1"
metadata-complete="true">
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
2、使用注解 @WebServlet(“/hello”) 定义映射路由
<?xml version="1.0" encoding="UTF-8" ?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1"
metadata-complete="false">
</web-app>
四、写servlet类的代码
继承HttpServlet,重写doGet方法,确定返回的resp的类型、编码、状态码
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("/hello")
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//1.获取参数(参数校验)
String name = req.getParameter("name");
// 2.访问数据库
// 伪代码不写了
//3.将组装好的数据返回给前端
resp.setContentType("text/html");
resp.setStatus(200);
resp.setCharacterEncoding("utf8");
resp.getWriter().write(name);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req, resp);
}
}