Servlet简介
Servlet(服务器端小程序)是使用Java语言编写的服务器端的程序,可以像JSP一样生成动态的Web网页,Servlet主要运行在服务器端,并由服务器调用执行,是一种按照Servlet标准开发的类。
Servlet采用了多线程的处理方式,并且保留了Java的可移植的特点,Servlet带给开发人员的最大好处是它可以处理客户端传来的HTTP请求,并返回一个响应。
Servlet 是 JavaEE 规范之一。Servlet 就 JavaWeb 三大组件之一。三大组件分别是:Servlet 程序、Filter 过滤器、Listener 监听器。 、Servlet 是运行在服务器上的一个 java 小程序,它可以接收客户端发送过来的请求,并响应数据给客户端。
Servlet的执行流程
- 客户端(我们常用的是Web浏览器)通过HTTP提出请求
- Web服务器接收该请求并将其发送给Servlet。如果这个Servlet未被加载,Web服务器将把它加载到Java虚拟机并执行
- Servlet程序将接收该HTTP请求,并执行某种处理
- Servlet会将处理后的结果向Web服务器返回应答
- Servlet服务器将从Servlet收到的应答发回给客户端
第一个Servlet程序
1、编写一个类去继承 HTTPServlet 类
2、实现 service 方法,处理请求,并响应数据
3、到 web.xml 中去配置 servlet 程序的访问地址
实例1:Servlet实例代码
package com.qwy.servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* @author qwy
* @create 2021-03-09 11:33
**/
public class HelloServlet extends HttpServlet {
/**
* service方 法 是 专 门 用 来 处 理 请 求 和 响 应 的
* @param req
* @param resp
* @throws ServletException
* @throws IOException
*/
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("HelloServlet.service");
}
}
实例2:在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_4_0.xsd"
version="4.0">
<!--将编写好的Servlet交给Tomcat容器-->
<servlet>
<!--servlet-name标 签Servlet程 序 起 一 个 别 名 ( 一 般 是 类 名 )-->
<servlet-name>HelloServlet</servlet-name>
<!--配置Servlet类的全部限定名称(包名+类名)-->
<servlet-class>com.qwy.servlet.HelloServlet</servlet-class>
</servlet>
<!--配置Servlet的访问路径-->
<servlet-mapping>
<!--引用Servlet的别名-->
<servlet-name>HelloServlet</servlet-name>
<!--配置访问路径:
斜 杠 在 服 务 器 解 析 的 时 候 , 表 示 地 址 为 : http://ip:port/ 工 程 路 径
/hello表 示 地 址 为 : http://ip:port/ 工 程 路 径 /hello-->
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
启动服务器,在地址栏输入:http://localhost:8080/servlet01/hello
控制会输出HelloServlet.service字样。