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

  • 制作微信分栏的方法(怎么做分栏)

    制作微信分栏的方法(怎么做分栏)

  • 为什么电池容量掉的快(为什么电池容量100耗电还很快)

    为什么电池容量掉的快(为什么电池容量100耗电还很快)

  • 虎牙直播写作业是什么意思(虎牙直播写作业是什么意思还跟你要微信语音聊天)

    虎牙直播写作业是什么意思(虎牙直播写作业是什么意思还跟你要微信语音聊天)

  • 机箱rgb线怎么接(机箱rgb线怎么接电源)

    机箱rgb线怎么接(机箱rgb线怎么接电源)

  • 12的二进制是多少(12的二进制怎么算过程)

    12的二进制是多少(12的二进制怎么算过程)

  • iphone8home键失灵(iphone8home键无反应)

    iphone8home键失灵(iphone8home键无反应)

  • qq作业提交别人可以看见吗(qq作业提交别人可以看见提示吗)

    qq作业提交别人可以看见吗(qq作业提交别人可以看见提示吗)

  • ipadmini5运行内存(ipadmini5运行内存是多少)

    ipadmini5运行内存(ipadmini5运行内存是多少)

  • b站怎么删除自己发的视频(b站怎么删除自己的作品)

    b站怎么删除自己发的视频(b站怎么删除自己的作品)

  • 正在更新apple id设置要多久(正在更新apple id设置一直出现)

    正在更新apple id设置要多久(正在更新apple id设置一直出现)

  • realtek card reader能卸载吗

    realtek card reader能卸载吗

  • 抖音移除粉丝怎么恢复回来(抖音移除粉丝怎么还显示数量)

    抖音移除粉丝怎么恢复回来(抖音移除粉丝怎么还显示数量)

  • 微博视频总是加载失败(微博视频添加到稍后观看什么意思)

    微博视频总是加载失败(微博视频添加到稍后观看什么意思)

  • 手机剪贴板怎么打开(手机剪贴板怎么增加复制数量?)

    手机剪贴板怎么打开(手机剪贴板怎么增加复制数量?)

  • Mate30保时捷版怎么打开单手模式

    Mate30保时捷版怎么打开单手模式

  • 苹果11手电筒在哪里(苹果11手电筒在手机哪里打开)

    苹果11手电筒在哪里(苹果11手电筒在手机哪里打开)

  • 华为flatl10什么型号(华为fla tl10)

    华为flatl10什么型号(华为fla tl10)

  • vivo手机怎么录屏声音(vivo手机怎么录屏最简单的方法)

    vivo手机怎么录屏声音(vivo手机怎么录屏最简单的方法)

  • 华为mate30pro怎么调音量(华为mate30pro怎么样)

    华为mate30pro怎么调音量(华为mate30pro怎么样)

  • 苹果xs有指纹解锁吗(苹果xs指纹解锁在哪里设置)

    苹果xs有指纹解锁吗(苹果xs指纹解锁在哪里设置)

  • 微信怎么不显示手机号(微信怎么不显示手机号让别人看到)

    微信怎么不显示手机号(微信怎么不显示手机号让别人看到)

  • r22加氟压力标准(r22加氟压力是多少)

    r22加氟压力标准(r22加氟压力是多少)

  • vivox27升降摄像头怎么开(vivox27升降摄像头拆解安装)

    vivox27升降摄像头怎么开(vivox27升降摄像头拆解安装)

  • vivo怎么关闭sos紧急呼叫(vivo手机怎么关闭全局搜索)

    vivo怎么关闭sos紧急呼叫(vivo手机怎么关闭全局搜索)

  • 硬盘格式化类型(win10硬盘格式化类型)

    硬盘格式化类型(win10硬盘格式化类型)

  • 挂车交车船税吗
  • 缴纳印花税的会计凭证
  • etc扣费与发票不符
  • 小规模纳税人应交增值税怎么算
  • 长期待摊费用如何摊销计算
  • 财务上大写的元怎么写
  • 土地增值税筹划实战
  • 存货入账价值计算公式
  • 办公室租赁费计入什么科目
  • 企业承担个人所得税的规定
  • 房租增值税专用发票和普通发票的税率
  • 航天信息300元是什么费用
  • 对外投资公司经营范围
  • 活动策划费可以开专票吗
  • 有形动产经营租赁服务税率
  • 什么叫经济作物和粮食作物
  • 金税盘技术维护费可以抵扣吗
  • 微信获取用户id失败如何解决
  • 已付货款没有发票能做支出吗
  • PHP:oci_fetch_object()的用法_Oracle函数
  • 取得普通发票与专票区别
  • 高手成长礼包
  • mini program是什么
  • 企业是根据什么来分类的
  • php多任务
  • 46 个非常有用的成语
  • thinkphp post
  • 保安行业税率是多少
  • sql server2016使用
  • python集合的并集符号语言
  • 股东投资的钱要还给他吗
  • python创建ndarray
  • 摊余成本和账面价值
  • 简单的记账方法叫什么
  • 汇兑结算方式的会计分录例题
  • mysql修改表结构的关键字
  • 盈余公积提取是什么意思
  • 劳保用品费用计入什么科目
  • 业务招待费汇算清缴填哪个表
  • 简易征收需要勾选认证吗
  • 公司股东投资是什么意思
  • 会计工资标准
  • 公司法人转账到公司账户
  • 房地产开发公司是做什么的
  • 发工资摘要没写工资
  • 民间非盈利组织会计制度核算的基础
  • 补开以前年度发票
  • 维修费收入怎么结转销售成本
  • 关于合同履约成本的表述错误的有
  • 股东投入固定资产怎么做账
  • 小规模纳税人超过30万是全额纳税吗
  • 异地成立子公司能用母公司的名称吗?
  • 营改增后混凝土税率
  • 统计会计主要做什么
  • 物流运输公司的运营盈利模式
  • sql语句学习
  • 该卡已在其他账户中存在什么意思
  • 关机并重启是怎么回事
  • fedora19
  • 怎么添加第二个人脸识别
  • vim 多窗口启动以及相互切换
  • linux连接windows的服务redis
  • 手机ssh远程连接服务器
  • 用centos搭建服务器的详细教程
  • linux安装有几种方法
  • 画布canvas的基本步骤
  • linux -lc
  • 批处理技术有哪些
  • unity-
  • python抓取手机号软件
  • javascript教学视频
  • javascript编程软件
  • 税务系统跨区调动
  • 税务机关一案双查管理办法
  • 深圳电子税务局怎么查以前申报表
  • 国税账户密码在哪里能找到
  • 利润报表怎么填写
  • 济南高新区国家税务局
  • 绩效三级指标体系
  • 财务审计报告哪个位置可以看出是否亏损
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设