servlet

servlet相当于项目中的control层,实现封装数据,传给后台,接收请求,返回响应。servlent本质是一个类,Servlet是 运行在服务端的Java小程序,是sun公司提供一套规范(接口),用来处理客户端请求、响应给浏览器的动态资源。但servlet的实质就是java代码,通过java的API 动态的向客户端输出内容。

我们来使用一下servlet,创建类实现servlet接口,重写里面的init service destroy方法,在web.xml文件进行配置,再使用浏览器进行访问,控制台就会出现我们重写的方法的体现,可以发现服务器创建了对象,调用了里面的方法。

首先客户端通过虚拟路径访问服务器资源,从web.xml文件里找所要的文件,看虚拟路径访问的是什么,根据名字查找,再从servlet 标签里找符合的,在找到与之对应的完整的包名加类名,服务器通过反射创建对象调用方法。

init方法在创建访问的时候调用,调用一次,service请求几次执行几次,destroy 正常关闭服务器时执行。前两个方法里都包含了对象,先看init方法里的对象,servletconfig封装servlet配置信息和初始化的参数,还可以获得servletContext对象;service方法中的对象 servletrequest封装了http协议的请求,所有该类的方法都是get方法,获取请求信息,servletresponse封装了响应信息,里面的方法都是set方法。 http请求发送,服务器接收请求,创建servlet对象,创建一个代表请求的req对象和一个代表响应的res对象,调用service方法,将res和req对象传入。

但在实际开发中,我们不会直接去实现Servlet接口,因为那样需要覆盖的方法太多, 我们一般创建类继承HttpServlet,实现servlet接口。1.创建类继承HttpServlet,2覆盖doget和dopost方法 3在web.xml文件进行servlet配置。

其中url-pattern的配置方式:

1)完全匹配 访问的资源与配置的资源完全相同才能访问到

2)目录匹配 格式:/虚拟的目录../*   *代表任意

 3)扩展名匹配 格式:*.扩展名

切记三种方式不能混合使用

posted @ 2021-03-08 21:33  Dyl啊  阅读(86)  评论(0编辑  收藏  举报