位置: 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年在中国不能用了吗)

  • 荣耀magic3pro怎么设置语音唤醒(荣耀magic3pro怎么清理垃圾)

    荣耀magic3pro怎么设置语音唤醒(荣耀magic3pro怎么清理垃圾)

  • 快手怎样不让别人看到我点赞的作品(快手怎样不让别人看到我的浏览记录)

    快手怎样不让别人看到我点赞的作品(快手怎样不让别人看到我的浏览记录)

  • qq聊天怎么触发特效(qq聊天怎么实现)

    qq聊天怎么触发特效(qq聊天怎么实现)

  • 苹果手机来电声音小怎么调(苹果手机来电声音没有了怎么弄)

    苹果手机来电声音小怎么调(苹果手机来电声音没有了怎么弄)

  • 苹果手机界面变黑色改成白色怎么办(苹果手机界面变成搜索怎么办)

    苹果手机界面变黑色改成白色怎么办(苹果手机界面变成搜索怎么办)

  • 255255255192是多少位掩码(25525500是多少位)

    255255255192是多少位掩码(25525500是多少位)

  • 抖音创作者服务中心在哪里(抖音创作者服务中心平台网页版)

    抖音创作者服务中心在哪里(抖音创作者服务中心平台网页版)

  • 搜狗输入法怎么设置键盘壁纸(搜狗输入法怎么换行)

    搜狗输入法怎么设置键盘壁纸(搜狗输入法怎么换行)

  • 魔百盒密码是多少(魔百盒设置的密码是多少)

    魔百盒密码是多少(魔百盒设置的密码是多少)

  • ios13.5什么时候更新(ios13.5什么时候更新推送)

    ios13.5什么时候更新(ios13.5什么时候更新推送)

  • vivo屏幕刷新率设置(vivo屏幕刷新率智能切换有用吗)

    vivo屏幕刷新率设置(vivo屏幕刷新率智能切换有用吗)

  • 新注册的抖音号多久可以发作品(新注册的抖音号,养号需要几天)

    新注册的抖音号多久可以发作品(新注册的抖音号,养号需要几天)

  • 三星手机怎么看是不是国行(三星手机怎么看版本)

    三星手机怎么看是不是国行(三星手机怎么看版本)

  • 小米手机电量显示不准(小米手机电量显示不准确怎么校准?)

    小米手机电量显示不准(小米手机电量显示不准确怎么校准?)

  • 苹果手机下载微信为什么要付费(苹果手机下载微信分身版怎么下载)

    苹果手机下载微信为什么要付费(苹果手机下载微信分身版怎么下载)

  • 镜头主要分为哪几类(镜头的分类包括四个)

    镜头主要分为哪几类(镜头的分类包括四个)

  • 快手通过说说添加什么意思(快手说说可以设置为私密或自己看吗)

    快手通过说说添加什么意思(快手说说可以设置为私密或自己看吗)

  • 怎么删除手机使用痕迹(怎么删除手机使用记录华为)

    怎么删除手机使用痕迹(怎么删除手机使用记录华为)

  • 华为手机如何投屏到电视(华为手机如何投屏到电视上播放)

    华为手机如何投屏到电视(华为手机如何投屏到电视上播放)

  • xr 3d touch是什么

    xr 3d touch是什么

  • 朋友圈怎么发不被折叠(朋友圈怎么发不出去视频了)

    朋友圈怎么发不被折叠(朋友圈怎么发不出去视频了)

  • 闲鱼小法庭在哪(闲鱼小法庭在哪里看)

    闲鱼小法庭在哪(闲鱼小法庭在哪里看)

  • p10有熄屏时钟吗(p10plus灭屏显示怎么设置)

    p10有熄屏时钟吗(p10plus灭屏显示怎么设置)

  • 清晰度3mp5mp是什么意思(清晰度3mp5mp哪个好)

    清晰度3mp5mp是什么意思(清晰度3mp5mp哪个好)

  • 液态纳米膜怎么去除(液态纳米膜怎么取下来)

    液态纳米膜怎么去除(液态纳米膜怎么取下来)

  • 简述程序访问的局部性原理(访问程序存储器时,在程序中应使用何种指令 ( ))

    简述程序访问的局部性原理(访问程序存储器时,在程序中应使用何种指令 ( ))

  • 苹果x有前置呼吸灯吗(苹果x前置呼吸灯怎么设置)

    苹果x有前置呼吸灯吗(苹果x前置呼吸灯怎么设置)

  • Seurat | 强烈建议收藏的单细胞分析标准流程(基础质控与过滤)(一)(强烈的建议)

    Seurat | 强烈建议收藏的单细胞分析标准流程(基础质控与过滤)(一)(强烈的建议)

  • 三七粉的价格(豹七三七粉的价格)

    三七粉的价格(豹七三七粉的价格)

  • BootStrap(栅格系统)(bootstrap 栅格)

    BootStrap(栅格系统)(bootstrap 栅格)

  • 什么情况下不能做近视激光手术
  • 固定资产怎么确定是否减值
  • 养殖合作社属于什么行业
  • 未确认融资费用和长期应付款
  • 期末未缴税额为负数怎么办
  • 个人独资企业有股权吗
  • 期末留抵税额退税怎么做分录
  • 非上市公司自然股权转让
  • 无形资产报废会计科目
  • 公司代扣代缴的个人所得税怎么做账
  • 应付职工薪酬账务处理例题
  • 接受股权转让要交什么税
  • 公司债权转让如何处理
  • 一次性发20万元个税如何算
  • 机打发票要不要税号
  • 减税真的能有效推动经济增长吗?
  • 直接成本和间接成本差异
  • 发票入账后还能冲红吗
  • 低于账面价值出售固定资产时下列哪项会下降
  • 企业购买固定资产要交印花税吗
  • 其他业务收入借贷方向会计分录
  • 无经营零申报公司注销要交印花税吗
  • 组织员工出游注意事项
  • win10用户头像错误 设置用户头像失败,请再试一次
  • 交易性金融资产的交易费用计入哪里
  • php代码自动生成
  • 企业以租代购的利弊分析
  • macos使用方法
  • php是基于
  • 支付临时工的工资怎么做账
  • php官方微信接口有哪些
  • 我国中小企业成本管理现状
  • 新能源产业发展历程
  • vue3+ts+vite
  • echarts y轴设置
  • php100 jquery教程
  • 增值税附加税减免政策2022年
  • 驱动开发做得长久吗
  • 通讯补贴算福利费吗
  • 购买铝材会计分录
  • 小规模小于30万之前计提的税金及附加税
  • 年终奖不属于工资有法律依据吗
  • 哪些进项税不允许从销项税额中抵扣
  • MySQL进阶SELECT语法篇
  • mysql更新语句
  • 小规模没收入怎么报税
  • 会计凭证借贷方哪个是收入
  • 汇算清缴补缴税款会计分录
  • 账户外币转人民币
  • 积分兑换如何做表格分析
  • 买一赠一销售额的确定
  • 专门从事研发的公司
  • 计算不含税金额
  • 如何理解会计中的借贷? 知乎
  • 企业发生装修费就计入长期待摊费用吗还是
  • 在建工程转长期待摊费用是什么意思
  • 停薪留职社保怎么算
  • mysql数据库优化方案
  • 数据库分页存储方法
  • 在一台服务器上安装软件
  • 屏幕右下角显示A2
  • 通透Windows 2008系统状态变化
  • win 7操作系统安装
  • window10用久了都会慢吗
  • win7启动应用程序的方式
  • window7系统中的桌面指什么
  • 笔记本自带的win8
  • 贪心算法编程题
  • nodejs assert
  • 常用at命令集
  • javascript字符串操作函数
  • 微信公众号开发多少钱
  • 批处理 重命名
  • python编写下载器
  • javascript详细介绍
  • javascript中变量的命名规则有哪些?
  • 企业之间无偿借款是否交税
  • 增值税进项发票如何做账
  • 国家税务局增值税发票平台
  • 重庆纳税申报流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设