HTTP Servlet 的service() 方法
来源:互联网 发布:sql 2005 sp4 中文版 编辑:程序博客网 时间:2024/06/05 19:04
HTTP Servlet 的service() 方法
1、HTTP Servlet 使用一个 HTML 表格来发送和接收数据。要创建一个 HTTP Servlet,就需要扩展 HttpServlet 类,该类是用专门的方法来处理 HTML 表格的 GenericServlet 的一个子类。当表单信息被提交时,会指定服务器应执行哪一个Servlet(或其它的程序)。HttpServlet 类包含 init()、destroy()、service() 等方法,其中 init() 和 destroy() 方法是继承的.
2、HTTP Servlet 的service() 方法
service() 方法是 Servlet 的核心。
每当一个客户请求一个HttpServlet 对象,该对象的service() 方法就要被调用,而且传递给这个方法一个"请求"(ServletRequest)对象和一个"响应"(ServletResponse)对象作为参数。
在 HttpServlet 中已存在 service()方法.缺省的服务功能是调用与 HTTP 请求的方法相应的 do 功能。
例如,如果 HTTP 请求方法为 GET,则缺省情况下就调用 doGet()。
service方法是接口中的方法,servlet容器把所有请求发送到该方法,该方法默认行为是转发http请求到doXXX方法中,如果你重载了该方法,默认操作被覆盖,不再进行转发操作!
service()是在javax.servlet.Servlet接口中定义的, 在 javax.servlet.GenericServlet中实现了这个接口, 而 doGet/doPost 则是在 javax.servlet.http.HttpServlet 中实现的, javax.servlet.http.HttpServlet 是javax.servlet.GenericServlet 的子类.
Servlet 应该为 Servlet 支持的 HTTP 方法覆盖 do 功能.因为HttpServlet.service() 方法会检查请求方法是否调用了适当的处理方法,不必要覆盖 service() 方法。只需覆盖相应的 do 方法就可以了。
当一个客户通过HTML 表单发出一个HTTP POST请求时,doPost()方法被调用。与POST请求相关的参数作为一个单独的HTTP请求从浏览器发送到服务器。当需要修改服务器端的数据时,应该使用doPost()方法。
当一个客户通过HTML 表单发出一个HTTP GET请求或直接请求一个URL时,doGet()方法被调用。与GET请求相关的参数添加到URL的后面,并与这个请求一起发送。当不会修改服务器端的数据时,应该使用doGet()方法。
我们也需要把Servlet做成既能处理GET请求,也能够处理POST请求(eg:Servlet要处理GET和POST两种请求),这只需要在doPost方法中调用doGet方法,或者覆盖 service方法(service方法调用doGet、doPost、doHead等方法)。在实际编程中这是一种标准的方法,因为它只需要很少的额外工作,却能够增加客户端编码的灵活性。
注意:一般会在service()中实现对父类方法的同参数表重载,即写上super.service(req, resp);
即使有了service()方法,也要把doGet()和doPost()方法标识出来!!
- HTTP Servlet 的service() 方法
- servlet的service方法
- Servlet中通用的service方法
- Servlet中service的参数转换成http的类型
- servlet(service方法)
- Servlet中Service方法
- servlet中的service方法
- servlet中service()方法
- Servlet中service()方法
- Servlet中的service方法
- servlet中service方法、doGet方法、 doPost() 方法 的关系
- servlet的service()方法与doGet()、doPost()方法的关系
- Servlet的init()方法和service()方法的区别是什么
- servlet的init()方法和service()方法的区别
- HTTP Servlet 重要的几个方法
- 处理HTTP Servlet的关键方法
- 通过源代码分析Servlet的service方法和doXXX方法
- 通过源代码分析Servlet的service方法和doXXX方法
- 结构体内数据变量内存分配详解
- jsp报错,The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
- 软件结构 耦合性
- Codeforces Round #290 (Div. 1) A. Fox And Names
- 机房重构总结(一)
- HTTP Servlet 的service() 方法
- android开发之自定义ViewGroup实现竖向引导界面
- Sublime Text 插件之Emmet
- Android开发搭建最新版本的Android开发环境
- 建立良好人际关系的原则
- 用OpenCV的随机树算法(Random Forest Tree)进行手势检测
- 只是记载一下
- 缺少.dll
- Android View转换成图片保存