首页 > 其他分享 >动态网页技术-Servlet(1)

动态网页技术-Servlet(1)

时间:2023-01-03 23:44:42浏览次数:58  
标签:网页 请求 tomcat Servlet service 匹配 动态 servlet

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

相关文章