配色: 字号:
servlet调用过程
2017-12-04 | 阅:  转:  |  分享 
  
ServletServlet概述什么是Servlet?Servlet是由SUN公司提供的动态web资源开发技术,本质上是一段java程序,
这段java程序无法独立运行,必须放在Servlet容器(比如:tomcat服务器)中,由容器调用才可以执行!开发Serv
let程序的步骤写一个类,实现一个Servlet接口,并添加未实现的方法将编译后类,放在WEB应用中,并在WEB应用web
.xml文件中配置Servlet对外访问的虚拟路径,将WEB应用部署到虚拟主机中即可使用记事本开发一个Servlet程序需求:
浏览器向服务器发送一个请求,访问FirstServlet,FirstServlet将表示当前时间的字符串发送浏览器.详细开发步
骤创建一个FirstServlet.java文件编写FirstServlet类,实现Servlet接口(或继承Servlet接口
的子类),并添加未实现的方法实现Servlet中提供的处理请求的方法service方法,将表示当前时间的字符串响应给浏览器细节
处理(添加servlet类的包路径和导入依赖包)打开CMD窗口,编译FirstServlet类通过命令编译会出现如下错误:原因是
javax.servlet这个包不存在,所有下面出现了很多找不到符号错误.在tomcat服务器的lib目录下有servlet的
jar包,可以设置包路径:接着再次进行编译:将FirstServlet类放在WEB应用中,并在web.xml文件中配置Serv
let对外访问的虚拟路径将编译好的class文件(包括包路径)放在web应用的classes目录下.在WEB应用的web.xml文
件中配置servlet对外访问的虚拟路径:将WEB应用部署到虚拟主机中,启动服务器,通过浏览器访问FirstServletSe
rvlet.Servlet继承结构Servlet接口–通用的Servlet接口,提供了一个Servlet应该具有的功能||-
--GenericServlet类,实现了Servlet接口,并实现了其中的大部分的方法,但是service方法没有实现,
这个方法需要开发人员自己来实现.||---HttpServlet类,继承了GenericServlet,并实现了servi
ce方法,在service方法中,判断请求方式,根据不同的请求方式xxx调用不同doXxx||--XxxServlet类,
在开发中,我们只需要写一个类(XxxServlet),继承HttpServlet,并覆盖doGet和doPost方法,来
处理GET请求和POST请求即可!!Servlet调用过程开发一个Servlet,放在WEB应用中,并将WEB应用部署在服务器
中,启动服务器,通过浏览器访问Servlet,可以访问到Servlet处理的结果,这个Servlet是如何被调用的,Se
rvlet又是如何执行的?参考<>servlet生命周期:Servlet在第一次被访问时创建Serv
let实例,创建之后服务器会立即调用init方法进行初始化的操作,创建之后,Servlet实例会一直驻留在服务器的内存中,
为后续的请求服务.只要有请求来访问这个Servlet,服务器就会调用service方法来处理请求,直到服务器关闭,或者WE
B应用被移出容器,随着WEB应用的销毁,Servlet实例也会跟着销毁,在销毁之前服务器会调用destroy方法进行善后的处
理.Servlet开发细节Servlet虚拟路径的配置Servlet在web.xml文件中虚拟路径的配置方式可以有两种方式:1.直
接写一个路径如:/SeondServlet后期需要通过/SecondServlet这个路径来访问该Servlet还可以使用星号
()匹配符来配置一个路径,配置的方式有两中:以斜杠(/)开头,以斜杠星(/)结尾.比如:/、/a/...以星点后缀(
.后缀)的形式比如:.html、.abc、.do使用星号匹配符可以使得路径的访问变得更加灵活,但是也可能会导致一个ur
l会被多个mapping所匹配。路径的优先级规则是什么?哪一个更接近(更精准、更像)哪一个起作用.后缀的优先级永远最低.示例:S
ervlet1映射到/abc/Servlet2映射到/Servlet3映射到/abcServlet4映射到
.do当请求URL为“/abc/a.html”,“/abc/”和“/”都匹配,哪个servlet响应servlet1将会
匹配当请求URL为“/abc”时,“/abc/”和“/abc”都匹配,哪个servlet响应servlet3将会匹配当请求URL
为“/abc/a.do”时,“/abc/”和“.do”都匹配,哪个servlet响应servlet1将会匹配当请求URL为“/a.do”时,“/”和“.do”都匹配,哪个servlet响应servlet2将会匹配
献花(0)
+1
(本文系金银宝100首藏)