Servlet笔记

本文详细介绍了Servlet的概念,从Servlet的创建、ServletConfig和ServletContext的区别到Servlet的生命周期,涵盖了request和response对象、过滤器Filter的使用以及Session和Cookie在会话管理中的应用。通过实例解析了doGet()、doPost()、请求转发与重定向,同时探讨了FilterConfig和监听器Listener的作用,为读者提供了全面的Servlet知识框架。
摘要由CSDN通过智能技术生成

Servlet简介

Servlet是什么?

Servlet是Java Servlet的简称,Servlet即Server Applet,Java服务程序。
Java Servlet是运行在Web服务器或应用服务器上的程序,它是作为来自Web浏览器或其他HTTP客户端的请求和HTTP服务器上的数据库或应用程序之间的中间层。
简单点说,Servlet的作用就是负责接收和响应客户端的请求。
Servlet可以使用javax.servlet和javax.servlet.http包创建。

创建Servlet

在这里插入图片描述
Servlet接口是Servlet的基类,其中的service()方法负责接收和响应客户端发来的请求。
GenericServlet类实现了Servlet接口,并将Servlet接口中的方法做了空实现,只将service()方法作为抽象方法。可以继承GenericServlet类,并重写service()方法,从而创建一个Servlet。
HttpServlet类继承了GenericServlet类,其中service()方法处理了doGet()和doPost()等方法。所以继承HttpServlet类时,只需要重写doGet()和doPost()方法。
实现HttpServlet类,重写doGet()和doPost()方法。

package com.zyz.servlet;

import javax.servlet.*;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class MyServlet extends HttpServlet {
   
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
   
        super.doGet(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
   
        super.doPost(req, resp);
    }
}

继承HttpServlet类后,还需要在web.xml文件中配置该Servlet处理那些请求。

<servlet>		
	<servlet-name>myServlet</servlet-name>
	<servlet-class>com.zyz.servlet.MyServlet</servlet-class>
	<init-param>
		<param-name>key</param-name>
		<param-value>value</param-value>
	</init-param>
	<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
	<servlet-name>myServlet</servlet-name>
	<url-pattern>/</url-pattern>
</servlet-mapping>

配置说明如下:

标签 描述
<servlet> 注册一个servlet
<servlet-name> 该servlet的名称
<servlet-class> 该servlet对应的类
<init-param> 初始化参数,key-value形式
<load-on-startup> 加载优先级
<servlet-mapping> 该servlet映射的路径
<url-pattern> 访问路径,必须以/开头

除了在web.xml中配置以外,还可以使用@WebServlet注解配置Servlet。

@WebServlet(name = "servlet名称",
        description = "该servlet的描述",
        urlPatterns = {
   "/映射地址1", "/映射地址2"},
        loadOnStartup = 1,
        initParams = {
   @WebInitParam(name = "键"
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值