3.Servlet介绍

本文详细介绍了Java Servlet的静态和动态资源发布,特别是Servlet的实现方式和服务方法。深入讨论了Servlet的生命周期,强调了其线程不安全性及其解决方案。此外,还涵盖了Servlet的多种映射方式及其优先级,以及在实际场景中的多映射应用。最后,探讨了Servlet的创建时机和默认Servlet的作用。
摘要由CSDN通过智能技术生成

1-web发布:
      1-1.静态资源发布,<welcome-file-list>标签可修改默认主页
      1-2.动态资源发布
            Servlet 的介绍:
            Servlet是运行在Java服务器端的程序,用于接收和响应来自客户端基于HTTP协议的请求。
            1-2-1.如果想要实现Servlet的功能,可以通过实现javax.servlet.Servlet接口或者继承它的实现类。
            1-2-2.核心方法: service(), 任何客户端的请求都会经过该方法。


2-Servlet :   
    2-1.Servlet继承实现方法
           1-1-2.通过继承GenericServlet和HttpServlet重写servlet+doGet、doPost方法实现Servlet。
    2-2.Serclet生命周期
           图片.jpg
    2-3.Servlet线程安全
            2-3-1.由于Servlet采用的是单例模式,也就是整个项目只能有一个实例对象,需要分析
                   唯一的该对象的类成员是否线程安全。
            结论:一个浏览器代表一个线程,多个代表多个,每个浏览器应该查看的是自己的类成员
                      结果2个浏览器出现的数据混乱,因此Servlet线程是不安全的。
               解决:如果类成员是共用的,并且只在初始化时赋值,其他时间都是获取,则没问题
            如果不是共用的,就有考虑线程安全问题,可在doGet内设置成局部变量解决,原理(浏览器访问
            进该方法局部变量就是新的变量) 非要用到成员变量,可使用synchronized (this){}方法体解决
    2-4.Servlet映射方式
               2-4-1.第一种:具体的方式。访问的资源路径必须和配置的映射完全相同
                         第二种:/开头 + 通配符的方式。只要符合目录结构即可,不用考虑结尾 (目录结构sb/*)
                         第三种:通配符 + 固定格式结尾。只要符合固定结尾格式就行,不用考虑前面路径。(.do)
                         优先级:越是具体的越高,越是模糊通用的优先级越低。第1种->2->3  
    2-5.Servlet多映射使用场景
           2-5-1.xml配置好映射,在doGet方法内,1.设置变量金额-->2.获取访问资源路径(req.getRequestURI();
                 作用获取请求路径)、path.substring  作用截取 (path.lastIndexOf("/")); 作用寻找/后的路径 。
                 -->3.根据条件判断作出不同的操作。
    2-6.Servle创建时机
        2-6-1.        
           图片.jpg 
    2-7.默认Servlet
          2-7.1默认 Servlet是由服务器提供的一个 Servlet。它配置在Tomcat的conf目录中的web.xml中。
                 它的映射路径是<url-pattern>/<url-pattem>,我们在发送请求时,
                 首先会在我们项目中的web.xml中查找映射配置,找到则执行。当找不到对应的Servlet路径时
                 就去找默认的 Servlet,由默认 Servlet处理。 所以,一切都是 Servlet。


        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值