servlet核心技术

servlet核心技术,第1张

servlet核心技术 servlet API

servlet AP定义了若干接口和类,由四个包构成

  •  javax.servlet
  •  javax.servlet.http
  •  javax.servlet.annotation
  •  javax.servlet.descriptor

 

Servlet接口是Servlet API中的基本接口,每个Servlet必须直接或间接实现该接口。该接口定义了如下5个方法。      

1、void init(ServletConfig config)    

在 Servlet 的生命期中,仅执行一次 init() 方法,它是在服务器装入 Servlet 时执行的。

可以配置服务器,以在启动服务器或客户机首次访问 Servlet 时装入 Servlet。

2、void service(ServletRequest request ServletResponse response)    

service() 方法是 Servlet 的核心。每当一个客户请求一个HttpServlet 对象,该对象的service() 方法就要被调用,而且传递给这个方法一个"请求"(ServletRequest)对象和一个"响应"(ServletResponse)对象作为参数。 在 HttpServlet 中已存在 service() 方法。缺省的服务功能是调用与 HTTP 请求的方法相应的 do 功能。例如, 如果 HTTP 请求方法为 GET,则缺省情况下就调用 doGet() 。

3、void destroy()    

与init方法相类似,destroy() 方法仅执行一次,即在服务器停止且卸装Servlet 时执行该方法

4、ServletConfig getServletConfig()  

getServletConfig() 方法返回一个 ServletConfig 对象,该对象用来返回初始化参数和 ServletContext。ServletContext 接口提供有关 servlet 的环境信息

5、String getServletInfo()

GetServletInfo()方法是一个可选的方法,它提供有关servlet 的信息,如作者、版本、版权。

GenericServlet抽象类

GenericServlet实现了Servlet接口和ServletConfig接口。

它提供了Servlet接口中除了service()外的所有方法的实现,同时增加了支持日志的方法。

可以继承GenericServlet类并实现service()方法来创建任何类型的Servlet。

HttpServlet类

1、HttpServlet抽象类继承了GenericServlet类,它用来实现针对HTTP协议的Servlet,在HttpServlet类中增加了一个新的service()方法,格式如下:  

protected void service(HttpServletRequest request,HttpServletResponse  response)            throws ServletException, IOException

2、在HttpServlet中针对不同的HTTP请求方法定义了不同的处理方法,如处理GET请求的doGet()格式如下:    protected void doGet(HttpServletRequest request,HttpServletResponse  response) throws ServletException, IOException

3、还定义了处理其他请求的方法,如处理POST请求的方法是

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException

servlet生命周期

简单完整讲述Servlet生命周期_Turniper的博客-CSDN博客

HTTP请求结构

特征

GET方法

POST方法

资源类型

静态的或动态的

动态的

数据类型

文本

文本或二进制数据

数据量

一般不超过255个字符

没有限制

可见性

数据是URL的一部分,在浏览器的地址栏中对用户可见

数据不是URL的一部分而是作为请求的消息体发送,在浏览器的地址栏中对用户不可见

数据缓存

数据可在浏览器的URL历史中缓存

数据不能在浏览器的URL历史中缓存

 处理HTTP请求

HTTP方法

HttpServlet方法

HTTP方法

HttpServlet方法

GET

doGet()

DELETE

doDelete()

POST

doPost()

OPTIONS

doOptions()

HEAD

doHead()

TRACE

doTrace()

PUT

doPut()

检索请求参数 

通过HttpServletRequest中定义的方法检索参数

String getParameter(String name)

String[] getParameterValues(String name)

返回name指定的请求参数值,如果参数不存在,则返回null值。若指定的参数存在,用户没有提供值,则返回空字符串。  

Enumeration getParameterNames()    

Map getParameterMap() 

向服务器发送GET请求,还可以将请求参数附加在请求URL的后面。例如,可以直接使用下面的URL访问LoginServet,而不需要通过表单提供参数。    

http://localhost:8080/chapter02/user- login?username=admin&password=admin

这里,问号后面内容为请求参数名和参数值对,若有多个参数,中间用“&”符号分隔,参数名和参数值之间用等号(=)分隔。问号后面内容称为查询串(query string) 

请求转发

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5624329.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存