位置: IT常识 - 正文

JavaWeb之Servlet

编辑:rootadmin
Service 1. Service的概述 1.1 Service是什么 Servlet是Java提供的一门动态web资源开发技术 Servlet是JavaEE 规范之一,其实就是一个接口,将来我们需要定义Servlet类实现Servlet接口,并由web服务器运行Servlet 1.2 Servi ... Service1. Service的概述1.1 Service是什么Servlet是Java提供的一门动态web资源开发技术Servlet是JavaEE 规范之一,其实就是一个接口,将来我们需要定义Servlet类实现Servlet接口,并由web服务器运行Servlet1.2 Service怎么使用(快速入门)创建web项目,导入Servlet依赖坐标<dependency><groupId>javax.servlet</groupld><artifactId>javax.servlet-api</artifactld><version>3.1.0</version><!--运行环境中排除这个jar包,因为tomcat里自带了这个jar包,不然运行时会报错--><scope>provided</scope></dependency>创建: 定义一个类,实现Servlet接口,并重写接口中所有方法,并在 service方法中打印输出一句话,用以测试是否访问成功,如果成功访问会在控制台中打印出hello servlet!@WebServlet("/")public class ServletTest implements Servlet { @Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { System.out.println("hello servlet!"); } @Override public void init(ServletConfig servletConfig) throws ServletException { } @Override public ServletConfig getServletConfig() { return null; } @Override public String getServletInfo() { return null; } @Override public void destroy() { }}配置:在类上使用@WebServlet注解,配置该Servlet的访问路径@WebServlet("/demo1")public class ServletDemo1 implements Servlet{访问:启动Tomcat,浏览器输入URL访问该Servlethttp://localhost:8080/web-demo/demo1

推荐整理分享JavaWeb之Servlet,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

注解@WebServlet()里面的访问路径开头记得加"/"

2. Servlet执行流程及生命周期2.1 执行流程

可以看到上方的快速入门案例,我只创建了Servlet接口的实现类,并没有new任何一个对象,反而在运行tomcat时控制台上却打印了service()方法里的内容。

Servlet由谁创建?servlet方法由谁调用?Servlet由web服务器创建,servlet()方法由web服务器调用。服务器怎么知道servlet种一定有service方法?因为我们自定义的servlet,必须实现servlet接口并复写其方法,而servlet接口中有service方法。2.2 生命周期

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

Servlet运行在Servlet容器(web服务器)中,其生命周期由容器来管理,分为4个阶段:JavaWeb之Servlet

加载和实例化:默认情况下,当Servlet第一次被访问时,由容器(Tomcat)创建Servlet对象。

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

也就是说就算多次访问该Servlet对象,init()方法也只会调用一次。而不像service()方法一样,每访问一次Servlet对象就执行一次service()里的程序。

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

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

可以在注解@WebServlet()里添加属性loadOnStartup来设置何时创建Servlet对象@WebServlet(urlPatterns = "/demo", loadOnStartup = 1)//此时Servlet对象就会在启动tomcat服务器时就会被创建,而不是等到被人访问时才创建@WebServlet("/")public class ServletTest implements Servlet {......}负整数:第一次被访问web页面时创建Servlet对象0或正整数:服务器启动时创建Servlet对象,数字越小优先级越高3. Servlet体系结构以及方法使用

我们将来开发B/S架构的web项目,都是针对HTTP协议,所以我们自定义的servlet,会继承HttpServlet。

3.1 HttpServlet概述

HttpServlet类是servlet.http包中定义了采用HTTP通信协议的Servlet接口实现类。

因为HTTP不同的请求方式拥有不同的请求数据的格式,因此HttpServlet里有两种方法:

doGet(HttpServletRequest req, HttpServletResponse resp):获取get请求,进行处理doPost(HttpServletRequest req, HttpServletResponse resp):获取post请求,进行处理3.2 怎么使用创建自定义类并继承HttpServlet,然后实现方法@WebServlet("/servletTest2")public class ServletTest2 extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("doGet ..."); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("doPost ..."); }}在webapp目录下创建html文件,并创建表单以post方式访问上边继承HttpServlet的子类<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <h3>用以测试HttpServlet的不同请求方式和不同的数据请求格式</h3> <!--action表单提交的URL,这里的值是 “项目的上下文根 + 需要访问的Servlet头部注解
本文链接地址:https://www.jiuchutong.com/zhishi/304142.html 转载请保留说明!

上一篇:python带你采集桌游、剧本杀游戏店数据信息~(python 数据采集卡)

下一篇:2022年可在苹果笔记本M1和M2芯片的Macos系统上运行的手机Alook浏览器-8倍速破解版-电脑学习网(苹果2021年在中国不能用了吗)

  • 全国企业信用信息公用系统

    全国企业信用信息公用系统

  • 企业微信能发朋友圈吗(企业微信能发朋友和社群吗吗)

    企业微信能发朋友圈吗(企业微信能发朋友和社群吗吗)

  • 拼多多运费险有限制次数吗(拼多多运费险有吗)

    拼多多运费险有限制次数吗(拼多多运费险有吗)

  • 微信密码是指什么呢(微信密码是啥)

    微信密码是指什么呢(微信密码是啥)

  • 小米10移动权益版手机什么意思(小米移动权益版手机是什么意思啊)

    小米10移动权益版手机什么意思(小米移动权益版手机是什么意思啊)

  • 候补购票下单多久出票(候补下单成功一般多久有票)

    候补购票下单多久出票(候补下单成功一般多久有票)

  • 为什么qq填写资料验证没有成功过(qq为什么填写资料不通过)

    为什么qq填写资料验证没有成功过(qq为什么填写资料不通过)

  • 钉钉为什么收不到视频会议(钉钉为什么收不到消息)

    钉钉为什么收不到视频会议(钉钉为什么收不到消息)

  • 路由器上sys灯一闪一灭咋回事(路由器sys灯一直闪烁)

    路由器上sys灯一闪一灭咋回事(路由器sys灯一直闪烁)

  • 京东退两次就不能退了吗(京东退两次就不退了吗)

    京东退两次就不能退了吗(京东退两次就不退了吗)

  • ps如何调图片整体颜色(ps 调整图片)

    ps如何调图片整体颜色(ps 调整图片)

  • windows系统中的桌面是指

    windows系统中的桌面是指

  • win10输完密码一直转圈(win10输完密码一直转圈圈安全模式进不去)

    win10输完密码一直转圈(win10输完密码一直转圈圈安全模式进不去)

  • win10为何只有一个c盘(w10电脑只有一个c盘怎么办)

    win10为何只有一个c盘(w10电脑只有一个c盘怎么办)

  • 手机抖屏怎么办(手机屏幕抖屏)

    手机抖屏怎么办(手机屏幕抖屏)

  • 如何取消手机设置的sos(如何取消手机设置的铃声)

    如何取消手机设置的sos(如何取消手机设置的铃声)

  • 手机ip地址查询定位(手机ip地址怎么切换)

    手机ip地址查询定位(手机ip地址怎么切换)

  • 未信任的app怎么设置(未信任的软件怎么信任)

    未信任的app怎么设置(未信任的软件怎么信任)

  • 8p重量多少克(苹果手机8p重量是多少)

    8p重量多少克(苹果手机8p重量是多少)

  • vivox21怎么屏蔽软件广告(vivox21怎么屏蔽陌生号码)

    vivox21怎么屏蔽软件广告(vivox21怎么屏蔽陌生号码)

  • 针式打印机怎么连接电脑(针式打印机怎么调整上下左右位置)

    针式打印机怎么连接电脑(针式打印机怎么调整上下左右位置)

  • 咸鱼消息提醒在哪设置(闲鱼消息短信提醒)

    咸鱼消息提醒在哪设置(闲鱼消息短信提醒)

  • 内存条时序如何查(内存条的时序有什么讲究吗)

    内存条时序如何查(内存条的时序有什么讲究吗)

  • 荣耀v20如何截屏(荣耀v20怎样截图)

    荣耀v20如何截屏(荣耀v20怎样截图)

  • oppo如何关机(oppo如何关机要密码)

    oppo如何关机(oppo如何关机要密码)

  • 猫鼬一家簇拥在一起 (© stefbennett/Shutterstock)(猫鼬家族风云)

    猫鼬一家簇拥在一起 (© stefbennett/Shutterstock)(猫鼬家族风云)

  • 柴油车尾气处理液会计分录
  • 国债 企业债
  • 二手车没有发票能过户吗
  • 基本账户转到一类卡
  • 个体工商户必须缴纳社保吗
  • 财务怎么算社保缴费
  • 委托加工物资属于企业资产吗
  • 为企业担保
  • 虚开增值税普通罪量刑标准
  • 企业所得税的税率
  • 股权投资类企业税收政策
  • 工业总产值填报原则
  • 增值税发票开票限额怎么申请?
  • 专票住宿费认证怎么操作
  • 重庆国税发票查询真伪查询系统
  • 小企业 企业所得税
  • 劳务公司差额征税账务处理
  • 我的初级备考经验,认真就有收获
  • 有形动产租赁服务和不动产租赁服务的区别
  • itunes无法链接
  • 怎么用苹果6splus
  • qqprotect.exe是什么进程?怎么结束此进程?
  • 非工资收入个人所得税税率
  • 巴蒂斯塔卡里
  • 再给我推荐几款
  • 电脑中毒之后怎么办
  • 计提安全费用含税还是不含税
  • 税前扣除是好事吗
  • 个人股份转让
  • 企业股权投资收益缴纳什么税
  • php代码提示
  • php的session
  • php获取本机ip地址
  • 雷斯岬国家海岸公园有信号吗
  • 传承古老文化
  • 消费积分如何做账
  • gcm文件
  • uname命令功能
  • python字符串多行
  • 利润分配和所有权的关系
  • c标准库pdf下载
  • druid数据库连接池
  • 冲红的发票怎么做账会计分录
  • 起征点税种
  • 生产企业出口退税申报流程操作
  • 劳务公司给包工头转账交税吗
  • 出口货物退货如何入账
  • 开办费账务处理实操案例
  • 工程材料增值税税率是多少
  • 新公司开户有几种类型
  • 存货报废会计账务处理
  • 为什么工程施工图纸不能泄露
  • 财务费用包括哪些费用
  • 用企业管理器创建一个备份设备
  • 数据库的常用语句
  • 设置ubuntu
  • linux svn操作
  • xp系统做完了进不去
  • mac快捷功能
  • win10怎么看电池寿命
  • 引发脚本异常
  • js判断手机浏览器设置了电脑版浏览
  • Android 使用mp4做礼物特效
  • Android游戏开发读后感
  • redis开机自动启动linux
  • js浅拷贝的方法
  • node:js
  • Open quote is expected for attribute "name" associated with an element type "item".
  • jquery.cookie.js用法实例详解
  • unity gui layer
  • echarts图表
  • python中字典怎么用
  • unity networking
  • 动态生成xml
  • 电子税务局申报密码怎么设置?
  • 门诊看病记录怎么查
  • 一般纳税人申请资格条件
  • 广东省电子税务局app下载官网
  • 内蒙古一般纳税人查询网
  • 电子就业协议签了还是应届生
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设