JAVAWEB学习笔记之Servlet详解

本文详细介绍了Servlet的相关概念,包括Servlet的生命周期、Servlet接口的继承结构,以及在web.xml中注册Servlet的注意事项。文章还讨论了Servlet的线程安全问题和解决方法,以及ServletConfig和ServletContext的使用。此外,还讲解了如何处理请求和响应,特别是解决乱码问题的方法。通过对Servlet的深入理解,有助于提升Java Web开发能力。
摘要由CSDN通过智能技术生成

servlet是在服务器上运行的小程序。这个词是在Java applet的环境中创造的,Java applet是一种当作单独文件跟网页一起发送的小程序,它通常用于在客户端运行,结果得到为用户进行运算或者根据用户互作用定位图形等服务。


一、Servlet相关概念概述

1.Servlet的生命周期:通常情况下,servlet第一次被访问的时候在内存中创建对象,在创建后立即调用init()方法进行初始化。对于每一次请求都掉用service(req,resp)方法处理请求,此时会用Request对象封装请求信息,并用Response对象(最初是空的)代表响应消息,传入到service方法里供使用。当service方法处理完成后,返回服务器服务器根据Response中的信息组织称响应消息返回给浏览器。响应结束后servlet并不销毁,一直驻留在内存中等待下一次请求。直到服务器关闭或web应用被移除出虚拟主机,servlet对象销毁并在销毁前调用destroy()方法做一些善后的事情。

2.Servlet接口的继承结构
Servlet接口:定义了一个servlet应该具有的方法,所有的Servlet都应该直接或间接实现此接口

GenericServlet:对Servlet接口的默认实现,通用Servlet,这是一个抽象类,其中的大部分方法都做了默认实现,只有service方法是一个抽象方法需要继承者自己实现

HttpServlet:对HTTP协议进行了优化的Servlet,继承自GenericServlet类,并且实现了其中的service抽象方法,默认的实现中判断了请求的请求方式,并根据请求方式的不同分别调用不同的doXXX()方法。通常我们直接继承HttpServlet即可



3.web.xml注册Servlet的注意事项
3.1利用<servlet><servlet-mapping>标签注册一个Servlet
<servlet>
        <servlet-name>FreedomServlet</servlet-name>
        <servlet-class>com.freedom.FreedomServlet</servlet-class>  注意:此处要的是一个Servlet的完整类名,不是包含.java或.class扩展的文件路径
    </servlet>
    <servlet-mapping>
        <servlet-name>FreedomServlet</servlet-name>
        <url-pattern>/FreedomServlet</url-pattern>
    </servlet-mapping>
    3.2一个<servlet>可以对应多个<servlet-mapping>
    3.3可以用*匹配符配置<serlvet-mapping>,但是要注意,必须是*.do或者/开头的以/*结束的路径。
    ~由于匹配符的引入有可能一个虚拟路径会对应多个servlet-mapping,此时哪个最像找哪个servlet,并且*.do级别最低。
    3.4可以为<servlet>配置<load-on-startup>子标签,指定servlet随着服务器的启动而加载,其中配置的数值指定启动的顺序
    <servlet>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值