栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

servlet入门

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

servlet入门

文章目录

1.Servlet概述2.Servlet执行流程3.Servlet生命周期4.Servlet体系结构5.Servlet urlPattern配置

1.Servlet概述

概念:Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,用于接收和响应来自客户端基于 HTTP 协议的请求。

作用:用来处理客户端请求、响应给浏览器的动态资源。实质就是java代码,通过java的API动态的向客户端输出内容。

2.Servlet执行流程

补充说明:http://localhost:8080通过网址和端口号找到要访问的web服务器,然后再通过web-demo找到部署在服务器上的web项目,最后通过demo1路径找到要访问的是项目中的哪个Servlet类,根据@webservlet后面的路径进行匹配。

3.Servlet生命周期

对象的生命周期指一个对象从被创建到被销毁的整个过程。

Servlet运行在Servlet容器(web服务器)中,其生命周期由容器来管理,分为4个阶段:
1.加载和实例化:默认情况下,当Servlet第一次被访问时,由容器创建Servlet对象;

2.初始化:在Servlet实例化之后,容器将调用Servlet的init()方法初始化这个对象,完成一些如加载配置文件、创建连接等初始化的工作。该方法只调用一次;

3.请求处理:每次请求Servlet时,Servlet容器都会调用Servlet的service()方法对请求进行处理。

4.服务终止:当需要释放内存或者容器关闭时,容器就会调用Servlet实例的destroy()方法完成资源的释放。在destroy()方法调用之后,容器会释放这个Servlet实例,该实例随后会被Java的垃圾收集器所回收。

tips:servlet是单例多线程的, 尽量不要在servlet里面使用全局(成员)变量,可能会导致线程不安全
单例: 只有一个对象(init()调用一次, 创建一次)
多线程: 服务器会针对每次请求, 开启一个线程调用service()方法处理这个请求 4.Servlet体系结构

由于我们开发的web项目都是针对HTTP协议,所有自定义Servlet都会继承HttpServlet

HTTP实现doGet或doPost请求原理:

注意:
如果子类中已经覆盖了serivce,httpServlet中的service不会执行,而是直接执行子类中的同名方法,doget和dopost也不会执行,因为子类的serivce没有调用父类的 doXxxx;

5.Servlet urlPattern配置

​一个Servlet,可以配置多个urlPattern,但一个urlPattern只能对应一个Servlet

完全路径:以/开头的完整路径目录路径: 以/开头,以*结尾扩展名路径: 不能以/开头,格式为: *.xxx任意路径: /* 或者 /

优先级:精确路径 > 目录路径 > 扩展名路径 > /* > /

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/736399.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号