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

  • 呼叫转移设置方法(呼叫转移设置方法oppo)

    呼叫转移设置方法(呼叫转移设置方法oppo)

  • vivoiqooz1指纹在哪里(vivoiq00z1指纹解锁)

    vivoiqooz1指纹在哪里(vivoiq00z1指纹解锁)

  • kindle登录不了账户(kindle账号登陆不了)

    kindle登录不了账户(kindle账号登陆不了)

  • 黑解的iphone可以升级ios13吗(黑解的iphone可以扩容吗)

    黑解的iphone可以升级ios13吗(黑解的iphone可以扩容吗)

  • 华为mate30怎么分屏操作(华为mate30与mate30pro的区别)

    华为mate30怎么分屏操作(华为mate30与mate30pro的区别)

  • 怎么查看抖音是否在线(怎么查看抖音是否免流)

    怎么查看抖音是否在线(怎么查看抖音是否免流)

  • 商品拒收后怎么退款(商品拒收后怎么操作退款)

    商品拒收后怎么退款(商品拒收后怎么操作退款)

  • 手机剩余多少电量充电合适(手机剩余多少电充电)

    手机剩余多少电量充电合适(手机剩余多少电充电)

  • 收藏店铺就是关注吗(收藏店铺什么意思)

    收藏店铺就是关注吗(收藏店铺什么意思)

  • 发起拼单怎么取消(发起的拼单如何取消)

    发起拼单怎么取消(发起的拼单如何取消)

  • 腾讯会议检测到回声(腾讯会议检测到音频设备无响应)

    腾讯会议检测到回声(腾讯会议检测到音频设备无响应)

  • 红米手机网络慢是什么原因(红米手机网络慢是什么问题)

    红米手机网络慢是什么原因(红米手机网络慢是什么问题)

  • 三星exynos980相当于麒麟多少(三星EXynos980相当于骁龙多少)

    三星exynos980相当于麒麟多少(三星EXynos980相当于骁龙多少)

  • 手机热点怎么看谁连接(手机热点怎么看用了多少流量)

    手机热点怎么看谁连接(手机热点怎么看用了多少流量)

  • 手机txt文件怎么创建

    手机txt文件怎么创建

  • 手机黑屏怎么打开usb调试(手机黑屏怎么打开开发者模式)

    手机黑屏怎么打开usb调试(手机黑屏怎么打开开发者模式)

  • 黑鲨语音助手叫什么(黑鲨语音助手叫啥)

    黑鲨语音助手叫什么(黑鲨语音助手叫啥)

  • 苹果11pro max为什么会发烫(苹果11pro max为什么屏幕发黄)

    苹果11pro max为什么会发烫(苹果11pro max为什么屏幕发黄)

  • 华为gt2怎么下载音乐(华为gt2怎么下载软件)

    华为gt2怎么下载音乐(华为gt2怎么下载软件)

  • 结构化设计的基本原则(结构化设计的基本步骤)

    结构化设计的基本原则(结构化设计的基本步骤)

  • 怎么看和谁聊天最频繁(怎么看和谁聊天记录多少g)

    怎么看和谁聊天最频繁(怎么看和谁聊天记录多少g)

  • 苹果xr如何切换主副号(苹果xr如何切换卡)

    苹果xr如何切换主副号(苹果xr如何切换卡)

  • 小米手机莫名其妙震动是什么原因(小米手机莫名其妙黑屏)

    小米手机莫名其妙震动是什么原因(小米手机莫名其妙黑屏)

  • 2600x超频能超到多少(2600x超频设置教程)

    2600x超频能超到多少(2600x超频设置教程)

  • vivoz3虚拟按键哪里可以调整(vivo虚拟按键怎么设置)

    vivoz3虚拟按键哪里可以调整(vivo虚拟按键怎么设置)

  • 电脑系统如何安装系统win7?(电脑系统如何安装字体)

    电脑系统如何安装系统win7?(电脑系统如何安装字体)

  • 销售企业进货会计分录
  • 企业所得税的计提
  • 实收款比应收账款少3万怎么处理
  • 发票开错抬头做红字发票的账务处理
  • 预付款可以抵扣进度款吗
  • 固定资产分期付款会计处理
  • 现金日记账划线更正法
  • 不含税劳务报酬怎么交税的
  • 工会经费滞纳金是多少
  • 付城镇土地使用税是多少
  • 采购退回的分录
  • 律师行业税务如何做账
  • 为什么要抵消损益
  • 凭证可以部分冲销吗
  • 机票上的exemptcny这个是什么意思?
  • 即征即退收入是否计入所得税
  • 没有发生关联交易需要关联申报吗?
  • 房地产开发成本占比
  • 资本公积要交印花税账簿税吗
  • 房地产开发企业预收款预缴增值税
  • 小规模收到增值税专用发票咋处理
  • 商业承兑汇票申请流程
  • 资产相关的递延收益
  • 对方公司税务注销了发票没有开给我怎么办
  • 电子税务局首次申请专票
  • 投资收益亏损
  • 存货跌价准备的分录
  • 成本的分类有哪些如何分类
  • 异地增值税预交可以网上缴纳吗
  • html前端技术
  • 转出未交增值税会计科目
  • 总部资产减值测试例题
  • url传变量
  • 还在用夸克?这3款能安装插件的手机浏览器不香吗_Via_
  • 【swinUnet官方代码测试自己的数据集(已训练完毕)】
  • uniapp面试题必问的坑
  • 猿创部落科技有限公司
  • 工程结算结算gbq文件怎么做
  • yolov8训练自己的数据集 Windows
  • 完美怎么用
  • php对象是什么类型的数据
  • 浅析企业坏账产生的原因及对策
  • 资本化利息支出现金流量表计入哪里
  • 房地产转让条例最新
  • 个税申报不成功,累计减除费用60000审核不通过
  • 代扣代缴完税凭证抵扣期限
  • 园林绿化企业属于什么行业
  • 利息收入算什么会计科目
  • mysql数据数据库
  • 暂估入库的库存商品转成本吗
  • 应付账款属于外币货币性项目吗
  • 预收账款和预付账款科目都是资产类科目
  • 出售子公司股权合并报表的会计处理
  • 给员工买的手机能抵扣税吗
  • 进项大于销项如何做分录
  • 劳务费属于哪个会计科目
  • 低值易耗的管理制度
  • windowsold文件夹在哪里
  • ubuntu server怎么样
  • windowsxp如何创建宽带连接
  • mac怎么连接打印机设备
  • linux codec
  • keyword是啥
  • linux用yum
  • unity中英文对照
  • jQuery+PHP+MySQL二级联动下拉菜单实例讲解
  • 个人简历
  • cocos2dx2.2.5在iOS下加入Google AdMob可能会遇到的问题
  • javascript ES6 新增了let命令使用介绍
  • 初识年岁尚温柔 小说 免费
  • mongodb python
  • JavaScript html5 canvas画布中删除一个块区域的方法
  • 网页中实现浏览的快捷键
  • python 字典的字典
  • 浏览器兼容性问题是什么意思
  • python ntlk
  • 济南槐荫税务局办税大厅电话
  • 上海市浦东新区公租房
  • 无锡第三税务分局
  • 土地增值税清算管理规程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设