文章目录
一、Servlet 是什么
二、如何创建Servlet程序
1、创建项目
2、引入依赖
Maven 项目创建完后,会自动生成一个 pom.xml 的文件
我们需要在 pom.xml 中引入 Servlet API 所需要的 jar 包
下面的 jar 包我直接复制在这里,或者你也可以跟着下面的步骤自己查询
<!-- 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 API 所需要的 jar 包的步骤
-
在中央仓库 https://mvnrepository.com/ 中直接搜索 Servlet,一般第一个就是
-
选择版本 3.1.0
Servlet 版本要和 Tomcat 对应
如果我们使用 Tomcat 8.5,那么就需要使用 Servlet 3.1.0
可以在 http://tomcat.apache.org/whichversion.html 查询版本对应关系
- 把中央仓库中提供的 XML 复制到 pom.xml 中
修改后的 pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>hello_servlet</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<!-- 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>
</dependencies>
</project>
3、创建目录
当项目创建好之后,IDEA 会自动帮我们创建好一些目录;如:
但这些目录还不够,我们还需要创建一些其他的目录/文件:
(1)创建 webapp 目录
(2)创建 WEB-INF 目录
(3)创建 web.xml 文件
(4)编写 web.xml 文件
往 web.xml 文件中拷贝如下代码:
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
</web-app>
4、编写代码
在 java 目录中创建 HelloServlet 类,(直接在类中写 doGet 选择会出现如下代码,再修改一些代码,这是比较快捷的方式)
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 {
// 自动生成的调用父类的代码删除
//super.doGet(req, resp);
// 这个代码是打印在 Tomcat 的控制台上
System.out.println("hello world");
// 这个打印是打印在响应报文上,显示到页面上
// 就是把 hello world 字符串作为响应报文的 body 了, 浏览器就会把这个 body 显示在页面上
resp.getWriter().write("hello world");
}
}
5、打包程序
使用 Maven 打包,打开 Maven 窗口,一般在页面右侧(找不到可以通过 菜单 -> View -> Tool Window -> Maven 打开)
(1)Maven->s->package