位置: 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安装未知应用权限怎么解除)

    小米10安装未知来源怎么设置(小米10安装未知应用权限怎么解除)

  • ipad天气显示北京怎么改(为什么ipad天气显示不是所在地?)

    ipad天气显示北京怎么改(为什么ipad天气显示不是所在地?)

  • 收天猫积分是怎么回事(收天猫积分是怎么来的)

    收天猫积分是怎么回事(收天猫积分是怎么来的)

  • 微信聊天emm表情什么意思(微信emm表情包)

    微信聊天emm表情什么意思(微信emm表情包)

  • 机箱风扇进风要大于出风吗(机箱风扇进风和出风的区别)

    机箱风扇进风要大于出风吗(机箱风扇进风和出风的区别)

  • excel怎么设置文本类型(excel怎么设置文本型)

    excel怎么设置文本类型(excel怎么设置文本型)

  • 安装应用显示未安装(安装应用显示未安装是啥原因)

    安装应用显示未安装(安装应用显示未安装是啥原因)

  • 微星主板关闭uefi(微星主板关闭虚拟化)

    微星主板关闭uefi(微星主板关闭虚拟化)

  • 电信卡信号不好怎么办(电信卡信号不好 是不是卡的问题)

    电信卡信号不好怎么办(电信卡信号不好 是不是卡的问题)

  • pr打开很慢(pr打开特别慢)

    pr打开很慢(pr打开特别慢)

  • 有什么软件可以消视频水印(有什么软件可以把题目做成题库)

    有什么软件可以消视频水印(有什么软件可以把题目做成题库)

  • 抖音个人中心在哪里(抖音个人中心在哪里打开)

    抖音个人中心在哪里(抖音个人中心在哪里打开)

  • 苹果a1691是什么版本(苹果a1691是什么配置)

    苹果a1691是什么版本(苹果a1691是什么配置)

  • 在word中要选择全文应按什么键(在word中要选择光标所在段落)

    在word中要选择全文应按什么键(在word中要选择光标所在段落)

  • 淘宝退货时间一般多久(淘宝退货时间一般多长)

    淘宝退货时间一般多久(淘宝退货时间一般多长)

  • vivo怎么看销毁的闪照(vivo手机怎么看拆没拆过机)

    vivo怎么看销毁的闪照(vivo手机怎么看拆没拆过机)

  • 微信扫充电宝押金怎么退(微信扫充电宝押金怎么退回来)

    微信扫充电宝押金怎么退(微信扫充电宝押金怎么退回来)

  • 米兔定位电话怎么打电话(米兔定位电话怎么重置)

    米兔定位电话怎么打电话(米兔定位电话怎么重置)

  • iqoo如何屏蔽升级提示(如何禁止iqoopro系统升级)

    iqoo如何屏蔽升级提示(如何禁止iqoopro系统升级)

  • 荣耀10怎么才能熄屏显示时间(荣耀怎么才能开出shr)

    荣耀10怎么才能熄屏显示时间(荣耀怎么才能开出shr)

  • 电脑行间距在哪里设置(电脑行间距在哪找)

    电脑行间距在哪里设置(电脑行间距在哪找)

  • vivox20屏幕多少英寸(vivox20屏幕多大尺寸,厚度)

    vivox20屏幕多少英寸(vivox20屏幕多大尺寸,厚度)

  • windows7如何查看隐藏文件(windows7如何查看配置)

    windows7如何查看隐藏文件(windows7如何查看配置)

  • sessmgr.exe - sessmgr是什么进程 有什么用

    sessmgr.exe - sessmgr是什么进程 有什么用

  • 交个税步骤
  • 个税申报人员报送成功怎么删除
  • 机票抵扣进项只能在发生当月吗
  • u盘算固态吗
  • 员工团体意外保险怎么报销
  • 进项税额已抵扣转出会计分录
  • 没发票的费用怎么做账
  • 税务申报有什么技巧
  • 个人所得税哪里报税
  • 所得税汇算清缴分录怎么做
  • 销售商品货款未收
  • 存货造成的损失
  • 培训发生的差旅费的会计准则有哪些
  • 定货合同有法律效力吗?
  • 退回投标保证金分录
  • 建筑安装工程承包合同
  • 股票期权所得税率
  • 招待费怎么处理
  • 作废已开具的普通发票
  • 公司股东认缴资质末到位导致公司破产应承担什么责任
  • 酒店固定资产明细表范本
  • 环保税计入项目成本吗
  • 增值税纳税申报表在哪里打印
  • 发票作废什么时候生效
  • 减免增值税计入什么科目
  • 多系统设置
  • 在建工程预付款可以计入费用么
  • 消费税有减免政策吗
  • 安保费差额纳税是什么意思
  • PHP:Memcached::touchByKey()的用法_Memcached类
  • react最新教程
  • php实现数组排序,所有奇数在前偶数在后怎么排序
  • linux如何使用
  • python如何导入excel
  • 其他应收款包括应收利息吗
  • 如何利用口诀记住那字
  • 社会保险基数怎么办
  • 咨询公司业务流程
  • 小规模所得税怎么计算公式
  • 建筑工程发票来自哪里
  • 房屋租赁如何入账
  • 微信钱是不是现金
  • 出差自己开车去开会怎么报销交通费
  • mysql索引优化的方案
  • 修改mysql配置
  • 政府补助的界定
  • 国税申报流程怎么操作的
  • 拒收发票需要拒收证明么
  • 采购未到票如何入账
  • 实收资本现金入账怎么办
  • 如何理解出口退税的意义
  • 会计科目中其期末余额应列入资产负债表存货项目的有
  • 存货跌价准备转回和转销的区别
  • 公司增资怎么处理
  • 计提工资的凭证要附单据吗
  • 为什么零售业只进不出呢
  • 五证合一的办理流程是什么
  • 记账凭证制作流程
  • sqlserver字符串转换成数字
  • mysql怎么备份数据库命令
  • mysql 5.5 5.6
  • sql行变列有几种方法
  • macbookzen
  • winxp wifi 无法连接
  • mac使用命令行
  • linux xim
  • windows8的ie浏览器在哪
  • 如何解决win7系统转为xp系统出现蓝屏怎么办啊
  • win10桌面右键菜单变宽了
  • 对用药方案做合理性评估时
  • js函数重名
  • jQuery ajax的功能实现方法详解
  • vue-cli使用
  • jquery购物车商品价格计算
  • 音频资料下载
  • 建筑工程提前投入使用
  • 电子税务局在手机上能登录吗
  • 房屋维修是什么职业
  • 深圳交警的微博
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设