HttpServlet类
Posted 你要永远相信光z
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HttpServlet类相关的知识,希望对你有一定的参考价值。
HttpServlet类
javax. servlet. http包中定义了使用HTTP协议创建的Servlet所需要的接口和类。其中某些接口和类扩展了javax. servlet包中对应的接口和类来实现对HTTP协议的支持。
- HttpServlet 抽象类: 它用于创建支持HTTP协议的Servlet。
- HttpServletRequest接口: 是基于HTTP协议的请求对象,它继承了ServletRequest接口。
- HttpServletResponse接口: 是基于HTTP协议的响应对象,它继承了ServletResponse接口。
- HttpSession接口: 实现会话管理的接口,也用来存储用户信息。.
- Cookie类: 创建Cookie对象的一个实现类。
HttpServlet抽象类
HttpServlet抽象类扩展了GenericServlet类,它用来实现针对 HTTP协议的Servlet,在HttpServlet类中增加了一个新的service(),格式如下:
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
该方法是Servlet向客户请求提供服务的一个方法﹐我们编写的Servlet可以覆盖该方法。
此外,在HttpServlet中针对不同的HTTP请求方法定义了不同的处理方法,如处理GET请求的doGet()格式如下:
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
通常,我们编写的Servlet需要继承HttpServlet类并覆盖doGet()或doPost()方法。
HttpServletRequest接口
HttpServletRequest接口继承了ServletRequest接口并提供了针对HTTP请求的操作方法,如定义了从请求对象中获取HTTP请求头,Cookie等信息的方法。
HttpServletResponse接口
HttpServletResponse接口继承了ServletResponse接口并提供了针对 HTTP的发送响应的方法。它定义了为响应设置如HTTP头,Cookie信息的方法。
代码演示
在我们用idea创建javaweb项目时,项目已经自动给我们创建一个默认的HttpServlet类,如下所示
下面对代码进行修改
package com.example.DemoTest;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.time.LocalDate;
import java.time.LocalTime;
@WebServlet(name = "helloServlet", value = "/hello-servlet")
public class HelloServlet extends HttpServlet {
/* 重写父类方法 */
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
resp.setContentType("text/html; charset = utf-8"); //接口调用抽象方法设置响应的内容类型
PrintWriter out = resp.getWriter(); //接口调用抽象方法获得输出流对象
/* 向浏览器写出html数据*/
out.print("<html>");
out.print("<body><title>Hello Servlet</title>");
out.print("<h1 style = 'color: # 00f'>Hello,World!</h1>");
out.println("今天的日期:" + LocalDate.now() + "<br>");
out.println("今天的时间:" + LocalTime.now() + "<br>") ;
out.println("</body>");
out.println("</html>");
}
}
运行结果
以上是关于HttpServlet类的主要内容,如果未能解决你的问题,请参考以下文章
Servlet接口GenericServlet类HttpServlet类