Servlet学习-1

一、Servlet生命周期

  • Servlet通过调用init()方法进行初始化。
  • Servlet调用service()方法来处理客户端请求。
  • Servlet通过调用destroy()方法终止(结束)。
  • 最后,Servlet是由JVM的垃圾回收器进行垃圾回收的。

1.init()方法
init()方法被设计成只调用一次。它在第一次创建Servlet时被调用,在后续每次请求时不再调用。
Servlet创建于用户第一次调用对应于该Servlet的URL时;
当用户调用一个Servlet时,就会创建一个Servlet实例,每一个用户请求都会产生一个新的线程,适当的时候移交给doGet或doGet方法。

2.service()方法
service()方法是执行实际任务的主要方法。Servlet容器(即Web服务器)service()方法来处理来自客户端(浏览器)的请求,并把格式化的响应写回给客户端。
每次服务器接收到一个Servlet请求时,服务器会产生一个新的线程并调用服务。service()方法检查HTTP请求类型(GET、POST、PUT、DELETE等),并在适当的时候调用doGet、doPost、doPut、doDelete等方法。
doGet()和doPost()方法时每次服务请求中最常用的方法。

3.destroy()方法
destroy()方法只会被调用一次,在Servlet生命周期结束时被调用。destroy()方法可以让您的Servlet关闭数据库连接、停止后台线程、把Cookie列表或点击计数器写入到磁盘,并执行其他类似的清理活动。
在调用destroy()方法之后,servlet对象被标记为垃圾回收。

二、Servlet表单数据
1.GET方法
GET方法向页面请求发送已编码的用户信息。
GET方法时默认的从浏览器向Web服务器传递信息的方法,它会产生一个很长的字符串,出现在浏览器的地址栏中。如果你要向服务器传递的是密码或其他的敏感信息,请不要使用GET方法。GET方法有大小限制:请求字符串中最多只能由1024个字符。

2.POST方法
另一个向后台程序传递信息的比较可靠的方法时POST方法。POST方法打包信息的方式与GET方法基本相同,但是POST方法不是把信息作为URL中?字符后的文本字符串进行发送,而是把这些信息作为一个单独的消息。消息以标准输出的形式传到后台程序,您可以解析和使用这些标准输出。Servlet使用doPost()方法处理这种类型的请求。

二、使用Servlet读取表单数据
Servlet处理表单数据,这些数据会根据不同的情况使用不同的方法自动解析:

  • getParameter():你可以调用resquest.getParameter()方法来获取表单参数的值。
  • getParameterValues():如果参数出现一次以上,则调用该方法,并返回多个值,例如复选框。
  • getParameterNames():如果你想得到当前请求中的所有参数的完整列表,则调用该方法。

三、Servlet客户端HTTP请求
当浏览器请求网页时,它会向Web服务器发送特定信息,这些信息不能被直接读取,因为这些信息是作为HTTP请求头的一部分进行传输的。
以下是来自于浏览器端的重要头信息,您可以在 Web 编程中频繁使用:
在这里插入图片描述

读取HTTP头的方法
下面的方法可用在 Servlet 程序中读取 HTTP 头。这些方法通过 HttpServletRequest 对象可用。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

HTTP Header请求实例

使用 HttpServletRequest 的 getHeaderNames() 方法读取 HTTP 头信息。该方法返回一个枚举,包含与当前的 HTTP 请求相关的头信息。

一旦我们有一个枚举,我们可以以标准方式循环枚举,使用 hasMoreElements() 方法来确定何时停止,使用 nextElement() 方法来获取每个参数的名称。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值