1. JDK介绍
JDK,全称Java SE Development kit(JDK),即java标准版开发包,是Oracle提供的一套用于开发java应用程序的开发包,它提供编译,运行java程序所需要的各种工具和资源,包括java编译器,java运行时环境,以及常用的java类库等。
2.JRE
JRE,全称Java Runtime Environment即Java运行环境。它是Java语言程序运行所需的软件环境。
JDK中包含了JRE。
3. Servlet
Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。
比如,我们打开一个网站有个注册功能,在填写完信息后,点击提交,所填写的信息传输到后端,根据所指向的路径,来匹配对应的servlet,专门用于处理注册流程
4.Servlet生命周期
Servlet生命周期就是从创建到毁灭的过程。
大致是四个阶段。
- init():初始化阶段,只被调用一次,也就是在第一次创建Servlet时被调用。
- service():服务阶段,主要处理来自客户端的请求,并可以根据HTTP请求类型来调用对应的方法,
比如 doGet(),doPost(),doPut() 等等。 - doGet(),doPost():处理阶段,将主要代码逻辑写在此处。根据不同HTTP请求对应不同方法。
- destroy():毁灭阶段,该方法只会被调用一次,即在Servlet生命期结束时被调用。
5.Servlet项目新建
新建项目
选择 archetype 可以简单理解为选择模板,选择不同的模板会有各自的规范
在 pom.xml 中引入servlet的依赖,写在
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version><scope>compile</scope>
</dependency>
</dependencies>
6.环境配置Tomcat
下载地址:https://tomcat.apache.org/
下载任意版本的即可
进入IDEA配置tomcat
选择刚刚下载解压的tomcat
先apply再ok
7.编写Servlet并运行
新建项目
创建一个java的主目录,以后的代码都写在此处
main -> new -> Diretory
创建class文件,并命名为FirstServlet
代码书写
import javax.servlet.ServletException; // 导入 ServletException 类,用于处理 Servlet 的异常
import javax.servlet.http.HttpServlet; // 导入 HttpServlet 类,提供处理 HTTP 请求的基础功能
import javax.servlet.http.HttpServletRequest; // 导入 HttpServletRequest 类,表示 HTTP 请求
import javax.servlet.http.HttpServletResponse; // 导入 HttpServletResponse 类,表示 HTTP 响应
import java.io.IOException; // 导入 IOException 类,用于处理输入输出异常
import java.io.PrintWriter; // 导入 PrintWriter 类,用于向客户端输出字符流
// 定义一个名为 FirstServlet 的类,继承自 HttpServlet
public class FirstServlet extends HttpServlet {
// 重写 doGet 方法,处理 GET 请求
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 设置响应内容类型为 HTML
resp.setContentType("text/html");
// 获取 PrintWriter 对象,用于向响应输出数据
PrintWriter out = resp.getWriter();
// 向客户端发送一段 HTML 内容
out.println("<h1>hello, first blood</h1>");
}
// 重写 doPost 方法,处理 POST 请求
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 调用 doGet 方法,以便对 POST 请求进行相同的处理
doGet(req, resp);
}
}
在web.xml 中注册servlet
在servlet中,需要根据URL路径匹配映射到对应的servlet。即在 web.xml 中注册servlet,如下图所
示:
<?xml version="1.0" encoding="UTF-8"?>
<web-app
version="4.0"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:javaee="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xml="http://www.w3.org/XML/1998/namespace"
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_4_0.xsd">
<display-name>Archetype Created Web Application</display-name>
<servlet> <!-- 定义一个 Servlet -->
<servlet-name>FirstServlet</servlet-name> <!-- Servlet 的名称 -->
<servlet-class>FirstServlet</servlet-class> <!-- Servlet 的类名 -->
</servlet>
<servlet-mapping> <!-- 定义 Servlet 的映射 -->
<servlet-name>FirstServlet</servlet-name> <!-- 绑定的 Servlet 名称 -->
<url-pattern>/FirstServlet</url-pattern> <!-- 请求 URL 模式 -->
</servlet-mapping>
</web-app>
8.映射匹配流程
/FirstServlet 路径绑定的 Servlet-name为FirstServlet ,而 FirstServlet绑定的 class是FirstServlet ,最终访问 /FirstServlet ,调用的类也就是 FirstServlet.class 。
9.启动项目,并访问
http://localhost:1919/FirstServlet
10.总结
Servlet 提供了一种强大的机制,用于构建动态 Web 应用,处理业务逻辑,并生成响应内容。
标签:java,Servlet,FirstServlet,import,HTTP,servlet From: https://www.cnblogs.com/lx-limit/p/18630318