1.Servlet

1.Servlet 简介

Servlet是server applet的简写,是一个运行在Web服务器端的Java小程序,由服务器调用执行。在JavaEE中,Servlet就是一个接口,定义了Java类被tomcat识别和运行的规则,Servlet接口定义的方法如下

方法描述
void init(ServletConfig servletConfig)初始化方法,在servlet对象被创建的时候执行,只会执行一次
ServletConfig getServletConfig()获取servlet对象的配置对象
void service(ServletRequest servletRequest, ServletResponse servletResponse)提供服务的方法,每一次servlet被访问时执行
String getServletInfo()获取Servlet的信息。如版本,作者… …
void destory()销毁方法,只有在服务器正常关闭时,才会执行销毁方法且在Servlet被销毁之前执行,一般用于释放资源,只会执行一次

2.Servlet生命周期

(1)实例和初始化阶段
当请求到达服务器时,服务器会查找该servlet对象是否存在,如果不存在,则会通过反射创建实例并进行初始化
注:Servlet的init方法,只执行一次,说明一个Servlet在内存中只存在一个对象,Servlet是单例的。多个用户同时访问的时候,可能存在线程安全问题,尽量不要在Servlet中定义成员变量。即使定义了也不要修改值

(2)服务阶段
服务器调用servlet的service()方法,处理请求的方法在整个生命周期中可以被多次调用

(3)销毁阶段
服务器正常关闭时,将程序中的servlet实例进行销毁

3.Servlet的工作流程

(1)通过请求头获知浏览器访问的是哪个主机
(2)再通过请求行获取访问的是哪一个Web应用
(3)再通过请求行中的请求路径获知访问的是哪个资源
(4)通过获取的资源路径在配置中匹配到真实的路径
(5)服务器会创建Servlet对象(如果是第一次访问)
(6)调用service方法,并生成请求和响应对象,用来处理请求和响应
(7)调用service方法完毕后返回服务器,由服务器将响应缓冲区的数据取出,以http响应的格式发送给浏览器

4.Servlet的常用实现

@WebServlet("/demo")
public class MyServlet extends HttpServlet {

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 处理请求和响应
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码届艺术家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值