1.Servlet特点
按照Servlet规范开发的一个Java程序(类),由服务器调度执行。
----只要遵守开发规范编写出来的都叫Servlet,例如:tomcat下的Servlet,weblogic下的Servlet
使用时候需要添加servlet-api.jar(在tomcat/lib下) 到工程, 因为servlet.jar 不是jdk自带的, 要手动引入
------后面我们使用Maven来管理添加jar会更爽
2.Servlet的生命周期
init();初始化
service();服务-处理浏览器/客户端发来的http请求
destroy();销毁
3.Tomcat处理Http请求与调用service
关键:将servlet实例化(使用init();方法)加入到HashMap<id,Servlet>中
tomcat与servlet - ZitWang - 博客园 (cnblogs.com)
4.自动装载servlet的配置
Servlet 容器(Tomcat)启动时自动装载某些 servlet,实现这个需要在 web.xml 文件中添加
<load-on-startup>1</load-on-startup> 1 表示装载的顺序
5.redeploy 重新部署
servlet重新装载,会销毁所有的servlet实例,此时调用destroy方法
------当web 应用被终止,Servlet 容器终止运行,Servlet 类重新装载时,都会调用 destroy()方法
6.doget与dopost
用于对表单的get与post请求进行分发处理
servletRequest与HttpServletRequest
servletResponse与HttpservletResponse
会提供许多方法来实现相应的业务功能
对于每次访问请求,Servlet 引擎都会创建一个新的 HttpServletRequest 请求对象和一个
新的 HttpServletResponse 响应对象,然后将这两个对象作为参数传递给它调用的 Servlet
的 service()方法,service 方法再根据请求方式分别调用不同的方法
7.实际开发Servlet
我们通过继承HttpServlet来开发Servlet
8.idea开发进行web.xml配置时踩的坑
<servlet-mapping>
<servlet-name>DogServlet</servlet-name>
<url-pattern>/xxxx</url-pattern>
</servlet-mapping>
//配置文件时,这一部分不会自动生成,需要注意的是 <url-pattern>/xxxx</url-pattern>不要丢掉/
9.Servlet注解方式
一个servlet支持配置多个urlpattern: @WebServlet(urlPatterns = {"/aa1", "/aa2"})
10.Servlet urlPattern 配置-各种匹配
优先级DESC:
精确匹配 : /zitw
目录匹配 : /zitw/*
拓展名匹配:*.zitw --可以理解成尾缀,注意此时不可以带/,否则tomcat直接报错
任意匹配 : /* 与 / --一般避免使用,配置了/反而会覆盖 tomcat 的 DefaultServlet,导致请求静态资源受阻,我的理解是这样反而不如不配
defaultServlet : 请求静态资源其实就是走这个默认的匹配
标签:网页,请求,tomcat,Servlet,service,匹配,动态,servlet From: https://www.cnblogs.com/zitw/p/17023718.html