我对Servlet的理解

什么是Servlet

Servlet是运行在服务端的java小程序,是sum公司提供的一种规范(接口,servlet接收响应请求、filter过滤器、listener监听器),用来处理客户端请求、响应给浏览器的动态资源

Servlet的实质上就是java代码,通过java的API动态的向客户输出内容,以后写的程序就不在本地执行了,而是编译成字节码,放到服务器上来执行,编写程序时,不需要有main函数了。因为写完后,就把编写的程序编译成字节码,放到服务器上面。当前发送就一个请求的时候,服务器就会按照一定的规则调用编写的代码

Servlet生命周期

默认的情况下第一次访问的时候创建,可以通过配置文件设置服务器启动的时候就创建

init:serlvet对象创建的时候调用,默认第一次访问时创建

service:每次请求都会执行一次

destory:servlet对象销毁的时候执行,默认服务器关闭时销毁

load-on-startup:对象在服务器启动时就创建,值为数字代表优先级,数据越小,优先级越高,不能为负数

Serevlet配置信息

<init-params>

                       <init-name>值</init-name>

                       <init-value>值</init-value>

                       config参数:该servlet的配置信息

                                         获得web.xml当中的参数

                                         初始化参数,获取ServletContext对象

url-patten

                       完全匹配<url-patten>/firstServlet</url-patten>

                       目录匹配<url-patten>/my/xq/*</url-patten>

                       扩展名匹配<url-patten>*.myxq</url-patten>

缺省Servlet

                       访问的资源不存在时,就会找缺省的地址

                       <url-patten>/</url-patten>

全局的web.xml

                       对于部署在服务器上的所有应用都生效

                       先到自己工程当中找web.xml配置,再到全局的web.xml找配置,如果两个当中有相同的配置,自己工程当中的配置会生效

静态资源加载的过程

                       在path后面写的静态资源名称index.html或者其他的.hmtl它都会找ur-patten当中没有匹配的内容,如果有,就加载对应的servlet,如果没有就到自己配置中找缺省的url-patten,如果自己配置文件当中没有缺省的,就会找全局配置缺省的url-patten,在全局配置当中有一个缺省的url-patten 对应的是default的Servlet,defaultServlet内部会到当前访问的工程跟目录当中找对应的名称的静态资源,如果有,就把里面的内容逐行读出来,响应给浏览器,如果没有,就会报404错误

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值