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

  • 车辆购置税退税计算
  • 初装费包括什么
  • 计提存款利息
  • 高新企业申报指南
  • 食堂没有发票怎么做账
  • 企业所得税预缴后亏损
  • 研发人员的社保也要进入研发费用吗
  • 居间费用超过3%剩余的怎样能拿到手
  • 标准成本法核算方法
  • 批发商税率
  • 企业所得税减免政策2023
  • 绿化支出如何做会计处理?
  • 不是公司股东的投资者可以提前拿走投资款吗
  • 水利事业单位基建并账分录怎么写?
  • 人身意外伤害险保障范围
  • 文体活动费用计入什么科目
  • 办公室设计费取费标准一览表
  • 外国常驻代表机构经费支出
  • 委托加工白酒的计税依据
  • 奖金收入纳税
  • 股东其他应付款可以转为实收资本文本格式
  • 包装物及其押金的消费税的注意事项
  • 跨年得退货还用开负数发票吗?
  • 劳务报酬个税计算公式表
  • 个人所得税专项扣除子女教育标准
  • 总分类账和明细账
  • winspool.drv病毒
  • 月末结转营业外支出有余额吗
  • 存货包括哪些会计账户
  • 物业费可以分期付款吗
  • 会计核算的职能主要是从什么方面综合反映
  • 微信小程序用电脑怎么打开
  • egi脑电数据处理
  • 会计中利得的定义
  • 有形动产租赁个税是经营所得吗
  • 什么叫呆账损失
  • 一般纳税人怎样申请简易计税
  • 进口关税和增值税怎么做账
  • 公司租用员工的车需要发票吗
  • 研发企业所得税税率
  • access中宏的操作
  • 工商企业年报网上申报流程
  • mysql删除表中某个字段
  • mysql如何做优化
  • 工程附加税税率
  • 增值是什么意思解释
  • 制造费用怎么摊销到成本?
  • 高新技术企业的税收优惠政策
  • 冲销销售收入分录
  • 资产负债表本期没有发生额怎么填
  • 给个人的销售返现合法吗
  • 会务费发票开普票还是专票
  • 新税法和新准则的关系
  • 锁mysql
  • mysql的分页语句
  • 怎么彻底卸载visual
  • freebsd11.3安装教程
  • ubuntu sudo apt
  • ubuntu 10.04安装
  • win7开机后网络一直转圈怎么回事
  • OS X10.10.5 Yosemite beta2发布 os x10.10.5yosemite beta2官网下载地址
  • yosemite 10.10.5升级
  • 史上最详细的mrtg(Multi Router Traffic Grapher)设置说明
  • windows8消费预览版中图片密码使用教程
  • linux 去除换行
  • 为wdcp面板的lnmp服务器添加ipv6支持的方法介绍
  • win8.1 安装
  • win10的帮助系统在哪
  • flask开发实例
  • Android网络(4):HttpClient必经之路----使用线程安全的单例模式HttpClient,及HttpClient和Application的融合
  • 轻轻松松学习JavaScript
  • 每天一篇小练笔30字
  • 临沂市有哪些国企央企
  • 个税更正申报如何导出大厅申报表
  • 张江税务所地址
  • 票表比对不通过代码999
  • 阁楼交取暖费吗合法吗
  • 公司员工开始摆烂怎么办
  • 市中区税务局办税大厅上班时间
  • 企业所得税年报什么时候开始申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设