概念:狭义的 Servlet 是指 Java 语言实现的一个接口,广义的 Servlet 是
指任何实现了这个 Servlet 接口的类,一般情况下,人们将 Servlet 理解为后者。
Servlet 运行于支持 Java 的应用服务器中。从原理上讲,Servlet 可以响应任何
类型的请求,但绝大多数情况下 Servlet 只用来扩展基于 HTTP 协议的 Web 服
务器
特点:
运行在支持 java 的应用服务器上
Servlet 的实现遵循了服务器能够识别的规则,也就是服务器会自动
的根据请求调用对应的 servlet 进行请求处理。
简单方便,可移植性强
servlet流程图
servlet中url-pattern的配置方式
配置方式一:精确配置
<url-pattern>/别名</url-pattern>
注意:
“/”是必须声明的,别名不可以为中文
此种配置方式可有配置多个
配置方式二:模糊配置
<url-pattern>* .后缀名</url-pattern>
注意:
所有以指定的后缀名结尾的请求都会调用servlet进行处理
作用:
进行模块化开发
配置方式三:拦截所有的请求
<url-pattern>/*</url-pattern>
注意:
会拦截所有类型的请求,包括静态资源请求(css、js、图片等)和jsp请求
配置方式四
<url-pattern>/one/*</uel-pattern>
注意:会拦截处理所有servlet的别名以one开头路径开头的请求
根据请求地址去找对应的servlet执行
一个servlet可以配置多个url-pattern
一个url-pattern只能对应一个servlet
如果一个地址对应多个servlet
服务器不知道执行哪一个servlet
servlet的声明周期
第一次调用到服务器关闭
如果在web.xml中配置load-on-starttup来设置servlet的加载
时机为服务器启动 那么servlet的生命周期变为从服务器开启到服务器关闭
Init方法;servlet被初始化创建的时候调用
Service方法:处理请求的时候
Destroy方法; servlet被销毁的时候
当服务器关闭的时候销毁servlet,触发destroy方法的执行
doGet和doPost和Service方法的区别
doGet处理get方式的请求
doPost处理post方式的请求
Service:无论是什么类型的请求方法,服务器都会优先执行service方法
servlet中方法调用的本质:
Tomcat服务器其实只认识service方法,如果我们自己声明的
servlet中没有覆写service方法,则会执行httpServlet中的service
方法,而httpservlet中的service方法会根据请求方法调用对应的doXX()
方法执行请求处理
网友评论