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

  • 手机密码忘了怎么办(手机密码忘了怎么解锁?华为)

    手机密码忘了怎么办(手机密码忘了怎么解锁?华为)

  • 怎么从qq音乐下载歌曲到手机(怎么从qq音乐下载到车载u盘)

    怎么从qq音乐下载歌曲到手机(怎么从qq音乐下载到车载u盘)

  • x分身怎么登录不了(x分身不能用了吗)

    x分身怎么登录不了(x分身不能用了吗)

  • 快手上怎么找到关注的人(快手上怎么找到微信好友)

    快手上怎么找到关注的人(快手上怎么找到微信好友)

  • 电脑钉钉的缓存文件路径(电脑钉钉的缓存在哪里清除)

    电脑钉钉的缓存文件路径(电脑钉钉的缓存在哪里清除)

  • 照片共享是什么意思(照片共享是什么意思是分享给别人吗?)

    照片共享是什么意思(照片共享是什么意思是分享给别人吗?)

  • 什么情况会被淘宝禁言(什么情况下会被淘宝拉入黑名单)

    什么情况会被淘宝禁言(什么情况下会被淘宝拉入黑名单)

  • 苹果耳机能免费换几次(苹果耳机免费畅听6个月找不到了)

    苹果耳机能免费换几次(苹果耳机免费畅听6个月找不到了)

  • 驱动总裁可以卸载吗(驱动总裁卸载了,对电脑有影响吗?)

    驱动总裁可以卸载吗(驱动总裁卸载了,对电脑有影响吗?)

  • 抖音钻卡怎么给别人(抖音钻卡怎么分红包)

    抖音钻卡怎么给别人(抖音钻卡怎么分红包)

  • 路由器optical亮红灯怎么办(路由器上的optical不亮)

    路由器optical亮红灯怎么办(路由器上的optical不亮)

  • 华为p40是直屏还是曲屏(华为p40是不是直屏)

    华为p40是直屏还是曲屏(华为p40是不是直屏)

  • 重低音耳机什么意思(重低音耳机的好处)

    重低音耳机什么意思(重低音耳机的好处)

  • 手机中了病毒能通过恢复出厂设置解决吗(手机中了病毒能充电吗)

    手机中了病毒能通过恢复出厂设置解决吗(手机中了病毒能充电吗)

  • 兄弟打印机error灯亮表示什么(兄弟打印机error灯一直闪)

    兄弟打印机error灯亮表示什么(兄弟打印机error灯一直闪)

  • iphonex什么时候上市的(iphoneX什么时候生产)

    iphonex什么时候上市的(iphoneX什么时候生产)

  • 全民k歌怎么录歌(全民k歌怎么录屏唱歌有声音的那种)

    全民k歌怎么录歌(全民k歌怎么录屏唱歌有声音的那种)

  • 手机无线功能在哪(手机无线网络功能在哪里)

    手机无线功能在哪(手机无线网络功能在哪里)

  • 苹果系统怎么删除软件(苹果系统怎么删除分区)

    苹果系统怎么删除软件(苹果系统怎么删除分区)

  • 腾讯视频如何投屏到电视(腾讯视频如何投影到电视上)

    腾讯视频如何投屏到电视(腾讯视频如何投影到电视上)

  • 提高Stable Diffusion十倍计算速度以及解决内存崩溃问题(提高stable diffusion速度)

    提高Stable Diffusion十倍计算速度以及解决内存崩溃问题(提高stable diffusion速度)

  • Vue项目实战——【基于 Vue3.x + Vant UI】实现一个多功能记账本(项目演示、涉及知识点、源码分享)(vue实例完整项目源码)

    Vue项目实战——【基于 Vue3.x + Vant UI】实现一个多功能记账本(项目演示、涉及知识点、源码分享)(vue实例完整项目源码)

  • vue实现文件上传(vue实现文件上传和下载)

    vue实现文件上传(vue实现文件上传和下载)

  • 自然人电子税务局
  • 小规模纳税人如何计算增值税
  • 公关支出是什么意思
  • 委托加工物资的消费税计入成本吗
  • 国际避税地是什么
  • 家具厂投入多少钱
  • 到期一次还本付息的债券投资摊余成本
  • 煤炭企业生产成本包括
  • 什么情况下增值税进项税额要转出
  • 个人房屋租金收入怎么交税
  • 安全费用中的固定资产如何写会计分录?
  • 企业购入投资性房地产
  • 三证合一不需要税务登记情况说明
  • 企事业单位承包承租经营
  • 一般纳税人为其他公司制作标书怎么缴税?
  • 个体户生产所得税怎么计算
  • Windows10如何切换中英文输入法
  • 出售固定资产增值税税率最新2022
  • 单位购买图书会计分录
  • 劳务费支出会计处理
  • PHP:oci_fetch_row()的用法_Oracle函数
  • createrectrgn
  • php完整教程
  • 最快的XQD存储卡是什么
  • 建筑企业跨区域还需预缴增值税吗
  • 出口零退税率商品目录
  • js对象数据类型有哪些
  • 前端基础知识总结
  • php跨域提交表单
  • tmux复制粘贴
  • 分公司可以开基本账户吗
  • 外贸企业上年的税收
  • 没开票的工程可以结转成本吗
  • 免税不可以开专票吗
  • 工会经费残保金怎么申报
  • 循环表是线性表吗
  • 公司注销后如何追缴税款
  • 月末库存商品成本计算
  • 购买银行短期理财产品的会计处理
  • 预缴所得税年底处理账务吗
  • 资产负债表期末余额是累计数吗
  • 存货和固定资产一经计提减值以后期间不得转回
  • mysql多表左连接查询
  • 自产产品用于职工福利按什么价格
  • 政府补助属于不征税金吗
  • 车船税应计入税金及附加吗
  • 平均资产总额与资产总额的关系
  • 免抵退税会计处理
  • 企业设置的坏账科目
  • 跨年更正错误记账凭证的方法
  • 代扣代缴预提所得税10%是什么意思
  • 其他应收款押金的现金流量
  • 购入研发设备可以抵扣吗
  • 应付账款一直挂着,怎么消掉
  • 复利年金终值计算器
  • 施工企业应收账款确认依据
  • 填写记账凭证内容摘要的三个要素
  • sql基本教程
  • linux服务器查找文件命令
  • 破解浏览器内网教程
  • linux promisc
  • 使用u盘安装win10
  • msoobe.exe是什么
  • kochsysteme
  • win7如何关闭ie浏览器
  • javascript ()
  • jQuery插件下载
  • ansi std
  • perl脚本函数
  • jquery width
  • shell脚本详解
  • 如何调试自己的情绪
  • js函数调用常用字符串
  • python如何获取
  • linux显示中文
  • 广州电子税务局财务报表在哪里查询
  • 江苏税务登记证查询
  • 考公务员国家税务局好吗
  • 改革的财税制度是什么
  • 教育用地性质可以更改么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设