servlet基础知识学习

【Java基础知识】Servlet学习之创建Servlet程序 Servlet是一个用Java语言编写的、实现Servlet接口的类,它在Servlet容器中运行,由Servlet容器管理Servlet的整个生命周期,所以,也常常称Servlet是Servlet容器上运行的服务器小程序。 从Servlet实现上讲,Servlet可以响应任何类型的请求,但绝大多数情况下,Servlet只用来扩展基于HTTP协议的WEB应用功能。 在WEB应用程序中,Servlet有两个主要用途: (1)实现动态网页 (2)作为前端页面与后台数据库或者后台服务器程序之间的中间件。 一、WE 阅读详情

Servlet=Server + let,表示小的服务程序,它是运行在Web服务器上的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载和调用。

    Servlet接收客户端浏览器发送过来的请求,并为这些请求完成相应的处理、产生相应的响应结果送回到客户端的浏览器上进行显示。

Servlet有着完备的规范,开发一个Servlet就是说开发一个遵守规范中各项规定、满足各种特征的Java类,该类接收用户Web形式的输入进行相关的处理并以Web的形式给出响应结果。

 

 

Servlet容器

    Servlet的运行需要Servlet容器的支持,Servlet容器即Servlet运行时所需的运行环境。

    Servlet容器接收客户的Servlet调用请求,调用相应的Servlet执行,并把执行结果返回给客户。Servlet容器一般由Java Web Server进行实现。

 

 

Servlet的工作过程

² Servlet引擎解析并载入一个Servlet

² Servlet引擎对Servlet进行初始化

³javax.servlet.Servlet接口的init()方法提供了Servlet的初始化信息

²servlet处理来自客户端的请求

³Servlet引擎传递给Servlet一个ServletRequest对象和一个ServletResponse对象

³Servlet也可以执行ServletRequest接口和ServletResponse接口

²服务器关闭或删除应用时,调用destroy()

 

    一个Java servlet具有一个生命周期,这个生命周期定义了一个Servlet如何被载入并被初始化,如何接收请求并做出对请求的响应,如何被从服务中清除。

    Servlet的生命周期被javax.servlet.Servlet这个接口所定义。

    Servlet的运行状态完全由Servlet容器维护和管理,一个Servlet的生命周期一般有初始化、提供服务和销毁三个阶段。

当Servlet容器接收到客户的Servlet调用请求时,容器首先判断Servlet是否是第一次被访问,如果是第一次被访问,容器创建Servlet对象并调用Servlet的init()方法对Servlet进行初始化,而后调用service()方法为客户提供服务。

    Servlet实质上是以单例的形式被实现的,它在被初始化之后将一直在内存中活动,后续的客户请求Servlet服务时将不再创建该Servlet的新的对象,只是新建一个线程调用service()方法提供服务。

当服务器重新启动时,所有已经创建的Servlet对象需要被销毁,这时候容器会调用Servlet的destroy()方法,然后把内存中的Servlet对象销毁。

 

 

 

²ServletRequest接口

public interface ServletRequest;   

    定义一个Servlet引擎产生的对象,通过这个对象,Servlet可以获得客户端请求的数据。这个对象通过读取请求体的数据提供包括参数的名称、值和属性以及输入流的所有数据。

1、getAttribute

public Object getAttribute(String name);  

    返回请求中指定属性的值,如果这个属性不存在,就返回一个空值。

    这个方法允许访问一些不提供给这个接口中其他方法的请求信息以及其他Servlet放置在这个请求对象内的数据。

2.

getParameter

public String getParameter(String name);  

    以一个String返回指定的参数的值,如果这个参数不存在返回空值。例如,在一个HTTP Servlet中,这个方法会返回一个指定的查询语句产生的参数的值或一个被提交的表单中的参数值。如果一个参数名对应着几个参数值,这个方法只能返回通过getParameterValues方法返回的数组中的第一个值。

3. getParameterValues

public String[] getParameterValues(String name);  

    通过一个String对象的数组返回指定参数的值,如果这个参数不存在,该方法返回一个空值。

 

 

Servlet的部署(映射与发布)

    配置Servlet的方法有两种,一种是使用xml文件进行配置,另一种是使用标注的方式进行配置。

1、使用web.xml文件配置Servlet类

    传统的配置方法是使用web应用中WEB-INF文件夹下的web.xml部署描述文件来进行。配置Servlet类需要在web.xml文件的<webapp></webapp>元素之间添加:

<webapp>

  <servlet>

  <servlet-name>servletname</servlet-name>

  <servlet-class>servletclass</servlet-class>

  </servlet>

  <servlet-mapping>

  <servlet-name> servletname </servlet-name>

   <url-pattern>url-pattern</url-pattern>

  </servlet-mapping>

</webapp>

2、标注方式配置Servlet

     Servlet3.0中加入了新增的标注支持,用于简化 Servlet、过滤器(Filter)和监听器(Listener)的声明,这使得 web.xml 部署描述文件从该版本开始不再是必选的了。

采用标注方式配置Servelt类是在通过在Servlet类文件中类定义之前的位置添加标注信息来实现的,类的其它部分不变。

@WebServlet(

  urlPatterns = { "/SayHello" },

  initParams = {

   @WebInitParam(name = "language",

  value = "english")

  }

)

Servlet的访问

    调用Servlet类的基本方法有两种:一种是直接使用Servlet的URL对Servlet进行访问。这种方式Web容器将调用Servlet的doGet()方法为请求提供服务。

    另一种是在表单中设置提交目标位Servlet的URL,这种方式Web容器将调用Servlet的doPost()方法为请求提供服务。

5. Servlet高级

a)数据的作用域

    在servlet中进行变量的共享可以通过Servlet容器中存在的ServletContext 、HttpSession 和HttpServletRequest 的实例来实现。

    这几种方式共享变量和获得变量的方法都是一致的,只是在变量的作用域,也就是共享的范围上有所不同。

这三种方式共享变量的方法是使用Context、Session或Request类型的实例调用setAttribute(“varName”,obj)方法将需要共享的变量存储到对象当中。

    然后在需要使用该共享变量的地方再通过,再通过实例的getAttribute(“varName”)方法来获得变量。

ServletContext范围最大,应用程序级别的,整个应用程序都能访问。HttpSession次之,会话级别的,在当前的浏览器中都能访问。HttpServletRequest范围最小,请求级别,请求结束,变量的作用域也结束。

 

 

 

 

 

 

 

 

Servlet基础知识总结 对Servlet基础知识进行总结,适合新手入门用,里面详细的介绍了Servlet运行原理以及如何创建等 立即下载

相关推荐

用rsl_rl训练四足机器人走梅花桩:PPO算法调参实战与避坑指南

本文详细介绍了如何使用rsl_rl框架和PPO算法训练四足机器人在梅花桩上行走的实战经验。通过分析梅花桩场景的独特挑战,提供PPO算法关键参数配置策略、奖励函数设计方法以及常见问题的解决方案,帮助开发者高效实现机器人平衡控制。文章特别强调了仿真到实机的过渡技巧,最终实现98%的过桩成功率。

weixin_29103191的博客 220

每章一篇博客带你拿下吉林大学JAVAEE期末(二)

javaee复习第二章

stn54999的博客 2369

电力电子技术复习笔记

通常在开关过程前后加入谐振,使开关开通前电压先降到0,关断前电流先降到0,消除开关过程电压、电流的重叠,降低它们的变化率,从而大大减小甚至消除开关损耗。小信号线性化模型的原理:忽略开关频率分量和开关频率谐波分量及其边频分量,建立占空比、输入电压等的低频扰动对变换器中的电压、电流影响的模型。解:可以利用变压器的变比改变输出电压大小,避免控制过程的占空比过小或过大,提高控制精度,同时有利于减轻输出电路中电力电子器件的耐压要求。驱动电路:用于控制功率半导体器件的开关,从而控制电路的电流和电压。

Miracle Fan的博客 1万+

Servlet基础知识

Servlet生命周期 package com.yc.web.servlets; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse

weixin_51699336的博客 1791

ThinkPad X230魔改指南:从博通网卡驱动到1080P屏显全攻略(附Sonoma避坑清单)

本文详细介绍了ThinkPad X230的全面改造方案,包括博通网卡驱动(BCM94352HMB)的安装与调试、1080P屏幕改装技术以及macOS Sonoma系统的适配优化。通过硬件升级和软件调优,使这台经典商务本焕发新生,适合DIY爱好者和技术极客参考实践。

weixin_30379531的博客 585

Sigrity SystemSI仿真分析教程文件路径

为了方便读者能够快速上手和学会Sigrity SystemSI 的功能,将Sigrity SystemSI仿真分析教程专栏所有文章对应的实例文件上传至以下路径。

weixin_54787054的博客 710

Java Web

Servlet的生命周期就是servlet类对象什么时候创建?什么时候调用对应的方法,什么时候销毁。//创建对象// 使用对象// 使用对象// 销毁对象也就是说自定义对象的生命周期由我们程序员自己手动控制。但是!!!Servlet它不是一个普通的java类。是一个被tomcat服务器调用的。所以Servlet是生命周期是被tomcat服务器去控制的。

weixin_57445851的博客 469

如何在 FPGA 中做数学运算

FPGA 非常适合进行数学运算,但是需要一点技巧,所以我们今天就看看如何在 FPGA 中进行简单和复杂的数学运算。介绍由于FPGA可以对算法进行并行化,所以FPGA 非常适合在可编程逻辑中实现数学运算。我们可以在 FPGA 中使用数学来实现信号处理、仪器仪表、图像处理和控制算法等一系列应用。这意味着 FPGA 可用于从自动驾驶汽车图像处理到雷达和飞机飞行控制系统的一系列应用。因为 FPGA 寄存器...

OpenFPGA的博客 2918

Servlet入门必备知识

什么是Servlet 1、servlet是javaEE规范之一。规范就是接口 2、servlet就是javaweb三大组件之一。三大组件分别是:servlet程序、Filter过滤器、Listenter监听器。 3、servlet是运行在服务器上的一个java小程序,它可以接受客服端发送过来得请求,并响应数据给客服端。 ...

weixin_60719453的博客 2355

MIKE水动力笔记2_水动力基础理论知识

本文所讲内容是水动力基础理论知识,所参考的主要书籍是《水动力学和水质》(第二版,季振刚著,海洋出版社)。

晏长街的博客 1万+

51单片机 驱动有源/无源蜂鸣器+Proteus仿真

51单片机 驱动有源/无源蜂鸣器+Proteus仿真 相关篇《51单片机 Proteus仿真有源蜂鸣器始终不响原因及解决方法》 电路搭建 采用NPN管驱动有源蜂鸣器电路 采用PNP管驱动有源蜂鸣器电路 采用PNP管驱动无源蜂鸣器 采用NPN管驱动无源蜂鸣器 Proteus元器件列表 实例代码 /************************************************************************************* * 实验现象:下载程序

perseverance51博客 2万+

16. Servlet 知识点

目录一、动态页面 vs 静态页面二、Servlet1.编写一个Servlet代码2.web.xml3.在浏览器中输入127.0.0.1:8088/hello4.Tomcat内部的大概流程5.Servlet运行原理5.1接受请求5.2根据请求计算响应5.3返回响应三、HttpServletRequest 对象的使用1.读取请求信息2.读取请求体3.1按字节读取3.2按字符读取 四、HttpServletResponse 对象的使用1.读取网页中用户填写的信息1.1获取GET请求信息 --- form表单姓名密

qq_46235384的博客 965

uni-app 实现高德 / 百度 / 腾讯地图多端导航跳转(H5最全方案)

本文介绍了一套生产级可复用的多地图导航Hook封装方案。针对开发中常见的经纬度顺序混乱、中文乱码、参数不统一等问题,提供了统一解决方案。方案支持高德、百度、腾讯三大地图平台,封装了各平台的URI参数处理逻辑,包括坐标顺序转换、名称编码、导航模式适配等核心功能。通过组合式API设计,开发者只需调用统一入口即可实现多地图导航跳转,同时保留单独调用各平台的能力。文中还总结了6大常见坑点,并推荐默认使用高德地图作为最稳定的导航方案。该方案适用于车辆定位、物流配送等多种业务场景,可封装为可复用的Hooks组件。

专注于前端开发与实战技巧,记录从零到一的学习与项目经验。分享 Vue3 / JavaScript / TypeScript / Flutter /Uniapp等前端技术,以及 性能优化、工程化、最佳实践。 537

Servlet 基础知识学习

Servlet学习笔记Servlet学习笔记Servlet 简介重定向与转发生命周期与创建时机模糊映射过滤器session 超时监听器注解文件上传与下载jsp 安全模式 Servlet学习笔记 Servlet 简介 Servlet 是运行在 Web 服务器端的 Java 应用程序,它使用 Java 语言编写,具有 Java 语言的优点。与 Java 程序的区别是,Servlet 对象主要封装了对 HTTP 请求的处理,并且它的运行需要 Servlet 容器(tomcat)的支持,在 Java Web 应用方

菜鸟心声:学的不仅是技术,更是梦想! 1215

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Servlet基础知识学习

Servlet Servlet的介绍 Servlet是运行在java服务器端的程序,用于接收和响应来自客户端基于HTTP协议的请求 如果想要实现Servlet的功能,可以通过java.servlet.Servlet接口或者继承它的实现类 核心方法:service(),任何客户端请求都会经过该方法 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ivky8108-1642497460852)(/Users/heroma/Library/Application Supp

heromps的博客 984

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【学习记录】Servlet基础知识

Servlet基础知识学习记录,包含Servlet简介、构建HelloServlet项目、Servlet原理、Mapping、ServletContext对象。

木易RUN200的博客 155

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

[学习笔记]servlet基础知识整理

Java Servlet接触了也有一段时间了,总是记不住,零碎的很,今天看了一本Svervlet的书,感觉讲的很好,我还是菜鸟,有必要整理整理,帮助系统理解和记忆,对想学习servlet的后来者说不定有帮助,能快速入门,对大侠就没作用了,其实这些还不都是我从书上抄来的么,只是精简了许多.唉,看的书多了我才发现写书其实也不多难,很多书就是抄来抄去,增增减减又是一本新书,哈哈,赶明儿咱也出本书,哈哈,

墨乡的专栏 1487

JAVA学习【11】Servlet基础知识

Java Servlet是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。         Servlet优势:         跨平台;可调用Java类库;在 Web 服务器的地址空间内执行,不必像CGI那样为每个客户端请求创建单独的进程。 一、Servlet运行平台搭建

tiandawangliang的专栏 536

servlet容器_【Java基础知识】Servlet学习之Servlet API - javax.servlet软件包

Servlet是一个实现了Servlet接口的类,一个与访问协议和平台无关的、运行在Servlet容器中的Java程序。针对Servlet实现技术,SUN公司提供了一套标准的Java Servlet API以便于更快速、规范地开发Servlet程序。这套Servlet API中,最重要的两个软件包是:javax.servlet、javax.servlet.http。javax.servlet是一个...

weixin_39779530的博客 306

Java基础知识之Servlet学习之创建Servlet程序(二)

1、创建方式二 通过继承javax.servlet.GenericServlet抽象类,创建与访问协议无关的Servlet。 继承GenericServlet抽象类 在Servlet程序中,只需要重写为客户请求提供服务的service方法,在GenericServlet抽象类中,这是一个抽象方法。 代码示例如下: @WebServlet(description = “通过GenericServlet抽象类派生的Servlet程序”, urlPatterns = { “/shouhuola/Servlet02

qf2019的博客 274

Java Web基础知识(二)——Servlet学习

Java Web基础知识(二)——Servlet学习

m0_60845963的博客 246

【Java基础知识】Servlet学习之Servlet API - javax.servlet软件包(四)

5、HttpServlet类 public abstract class HttpServlet extends GenericServlet 由实现Servlet接口的抽象类GenericServlet派生的抽象子类,用于创建支持HTTP协议的Servlet程序。 针对HTTP1.1协议中定义的7种请求方法GET、POST、HEAD、PUT、DELETE、TRACE、OPTIONS,HttpServlet分别提供了7个处理方法: doGet(),doPost(),doHead(),doPut(),doDe

qf2019的博客 218

Tomcat和Servlet基础知识学习(一)

笔者对于Tomcat也是初学,写这篇文章的主要目的是方便自己去理解Tomcat的相关内容,所以有些描述并不是那么专业和全面,请多多包涵。 一、Tomcat概述 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache...

思 492

【Java基础知识】Servlet学习之Servlet API - javax.servlet软件包(三)

4、Cookie类 public class Cookie implements Cloneable 储存在用户本地客户端上的数据,可以由用户客户端计算机暂时或永久保存的数据信息。 (1)构造函数 public Cookie(String name, String value) 用一个“key-value键值对”定义一个Cookie对象。 (2)Cookie相关方法 public void setComment(String purpose) 设置Cookie注释,用来描述Cookie对象的作用。 publ

qf2019的博客 177

【Servlet和JSP-学习-1】基础知识

Servlet Session管理 Cookie 获取指定名称的Cookie 删除指定名称的Cookie JSP E...

chengti1867的博客 137

几个比较好的java学习网站(Struts,Servlet,jar源码,hibernate,java基础知识)

servlet与Struts action线程安全问题分析: http://hi.baidu.com/platon/blog/item/64a20ff3f96e7fce0b46e031.html  搜索java源码(当然也可以通过下载源码或是反编译的方式,但是这个网站方便对于不需要批量查看源码的朋友使用): http://kickjava.com/  jav

lstrue的专栏 1131
上一篇: HTML常用标签介绍
下一篇: 编程练习4:中缀表达式转后缀
coding_diamond
博客等级 码龄8年 8粉丝 131原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值