`
x98zero
  • 浏览: 108825 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Servlet提供服务的方法1-了解servlet

    博客分类:
  • Java
阅读更多

Servlet 通过下面的方法来提供服务:

l         实现 service 方法。

l         实现 HttpServlet doMethod 方法( doGet doDelete doOptions doPost doPut doTrace )。

通常, service 方法用来从客户请求( request )中提取信息,访问扩展资源,并基于上面的信息提供响应( response )。

对于 HTTP Servlets 正确提供响应的过程

1.         首先填写响应( response )的头信息, 响应( response )头信息必须最先设置。

2.         然后从响应( response )中得到输出流,

3.         最后向输出流中写入内容信息。

下面将描述如何从请求( request )中获得信息和产生 HTTP 响应( response )。

取得客户端请求

一个 HttpServletRequest 对象提供到达 HTTP 头部数据,也允许你获取客户端的数据。怎样获取这些数据取决于 HTTP 端请求方法。不管用任何 HTTP 方式,你都可以用 getParameterValues 方法返回特定名称的参数值。对于用 HTTP GET 请求的方式,这个 getQueryString 方法将会返回一个可以用来分析的值。

客户端请求( request )包含了从客户端传递到 Servlet 的数据。所有的请求( request )都实现了 ServletRequest 接口。这个接口定义了一些方法访问下面的信息,

l         类型描述 : 参数,用来在客户端和 Servlet 之间传送信息

对应方法 :

getAttribute(String name)

getAttributeNames()

getInputStream()

getParameter(Stringname)

getParameterMap()     

getParameterNames()

getParameterValues(String name)

l         类型描述 : 对象值属性,用来在 Servlet 容器和 Servlet 之间,或者协作的 Servlet 之间传递信息     

对应方法 :

removeAttribute(String name)

setAttribute(String name, Object o)

l         类型描述 : 有关请求使用的协议信息,客户端和服务器在请求中的调用    

对应方法 :

getContentLength()

getContentType()

getProtocol()

getReader()

getRealPath(String path)

getRemoteAddr()

getRemoteHost()

getRequestDispatcher(String path)

l         类型描述 : 有关请求使用的协议信息,客户端和服务器在请求中的调用       

对应方法 :

getScheme()

getServerName()

getServerPort()

isSecure()

l         类型描述 : 有关 localization 的信息        

对应方法 :

getCharacterEncoding()

getLocale()

getLocales()

setCharacterEncoding(String env)

下面的代码段示范了如何使用 request 中的方法获得客户端信息。

Enumeration params = request.getParameterNames();

String paramName = null;

String[] paramValues = null;

while (params.hasMoreElements()) {
    paramName = (String) params.nextElement();
    paramValues = request.getParameterValues(paramName);
    System.out.println(" Parameter name is " + paramName);
    for (int i = 0; i < paramValues.length; i++) {
      System.out.println(", value " + i + " is " + paramValues[i].toString());
    }
}

分享到:
评论

相关推荐

    PHP/Java Bridge的JavaBridge.jar、php-servlet.jar和php-script.jar

    1. **JavaBridge.jar**: JavaBridge.jar是PHP/Java Bridge的核心组件,它提供了Java和PHP之间的接口。这个库包含了一系列的类和方法,用于在PHP脚本和Java对象之间建立连接。通过这个桥接器,PHP可以调用Java类和...

    servlet源码 servlet-api-src javax.servlet.Servlet源码

    `servlet-api-src`提供了Servlet API的源代码,这对于开发者来说是非常有价值的。通过阅读源码,我们可以理解Servlet API的工作机制,了解请求和响应对象的内部实现,以及容器如何管理Servlet的生命周期。这对于优化...

    servlet-2_4-fr-spec-doc.rar_doc_servlet 2.4 spec_servlet api_ser

    &lt;servlet-name&gt;MyServlet&lt;/servlet-name&gt; &lt;servlet-class&gt;com.example.MyServlet&lt;/servlet-class&gt; &lt;/servlet&gt; &lt;servlet-mapping&gt; &lt;servlet-name&gt;MyServlet&lt;/servlet-name&gt; &lt;url-pattern&gt;/myservice&lt;/url-...

    servlet-api 各种版本

    Servlet-API是Java Servlet技术的核心部分,它定义了服务器端与客户端之间交互的一系列接口和类。这个压缩包包含了Servlet-API的多个版本,分别是2.2、2.3、2.4、2.5以及3.0。每个版本的发布都带来了新的功能和改进...

    servlet-api-2.5-6.1.4.jar.zip(125 k).ZIP

    总结来说,`servlet-api-2.5-6.1.4.jar.zip`压缩包提供了Servlet API的核心接口和类,让开发者能够构建基于Java的Web应用程序。Servlet API 2.5版本引入了许多增强功能,如注解配置、异步处理和更强的安全性,极大地...

    servlet-3-1-specification.pdf

    容器还负责将请求映射到对应的Servlet,并提供服务方法调用。 3. Servlet与其他技术的对比 Servlet可以和其他技术(如JSP, Struts等)相结合,共同构建动态Web应用程序。文件中提到了Servlet与这些技术的对比,帮助...

    servlet-2_2b-doc-API

    综上所述,"servlet-2_2b-doc-API"这个压缩包提供的文档将帮助我们理解Servlet API 2.2的核心概念、接口、类和生命周期,以及如何利用这些知识来编写和配置Servlet以及与JSP协同工作。对于想要深入研究早期Java Web...

    javax.servlet-api-4.0.1.jar

    `javax.servlet-api-4.0.1.jar`包含了这些接口和类,使得开发者能够在自己的应用中实现HTTP服务、会话管理、过滤器、监听器等功能。 在JSP中,自定义标签提供了一种扩展HTML标签的能力,使得开发者可以创建具有特定...

    jersey-container-servlet-2.0-m04.zip

    【标题】"jersey-container-servlet-2.0-m04.zip" 提供的是 Jersey 2.0 版本的Servlet容器模块,这是一个用于构建RESTful Web服务的Java框架。Jersey是JAX-RS(Java API for RESTful Web Services)规范的参考实现,...

    grizzly-http-servlet-extras-2.3.8-beta1.zip

    本文将深入探讨两个关键的开源项目,分别是“grizzly-http-servlet-extras-2.3.8-beta1”和“portlettester”,它们分别在Servlet和Portlet测试领域提供了强大的支持。 首先,让我们关注“grizzly-...

    servlet-2_3-fcs-spec英文版.pdf

    根据所提供的文件信息,这份文档是关于 `Java Servlet Specification` 的版本 2.3 的最终发布版,发布时间为2001年9月17日。文档详细介绍了 Servlet 技术的核心概念、接口、类以及实现细节,并提供了必要的指导原则...

    servlet和jsp学习指南-高清-2013年4月

    - 服务:这是Servlet的主要工作阶段,在此期间,Servlet通过service()方法响应客户端请求。实际上,根据请求类型(GET、POST、PUT等),service()方法会调用相应的doGet()、doPost()等方法来处理。 - 销毁:当...

    servlet之Filter使用范例--登陆验证

    1. **创建Filter类**:继承`javax.servlet.Filter`接口并实现`doFilter()`方法。在这个方法中,我们将进行登录状态的检查。 ```java public class LoginFilter implements Filter { @Override public void ...

    servlet-api.jar和jsp-api.jar文件

    Servlet-api.jar是Servlet规范的实现,它提供了Servlet接口和Servlet容器(如Tomcat)之间交互的类和接口。主要包括以下关键组件: 1. **Servlet接口**:Servlet是Java Web应用的核心,它是一个实现了 javax....

    midlet_servlet.rar_midlet-servlet

    标题中的"midlet_servlet.rar_midlet-servlet"暗示了这是一个关于Java ME(Midlet)与Servlet交互的项目。在移动设备(如早期的智能手机)上,Java ME(Micro Edition)提供了一个名为Midlet的框架,用于开发移动...

    servlet-api-src.jar

    了解Servlet API对于Java Web开发者至关重要,因为它为构建动态网站提供了基础框架。通过学习和使用Servlet API,开发者可以创建处理各种HTTP请求的服务器端应用,包括登录验证、数据处理、文件上传下载等。同时,...

    servlet-api基本类和接口介绍

    ### servlet-api基本类和接口介绍 #### 一、javax.servlet包内的基本类和接口概览 在Java Web开发中,`javax.servlet`包是至关重要的组成部分之一,它为Servlet提供了核心API,使得开发者能够构建动态的Web应用。...

    Servlet3-sources-code

    这个压缩包中的`servlet-3-sources-code`提供了Servlet3的源码,你可以通过阅读这些代码来深入理解Servlet的工作原理,了解其内部是如何处理请求和响应的,以及如何实现上述特性。这对于学习和优化Web应用性能,以及...

    【免费】servlet和jsp学习指南-高清版

    1. **JSP语法**:了解JSP的脚本元素(Scriptlets、声明、表达式)和指令(page、include、taglib)。 2. **EL(Expression Language)**:这是一种轻量级的表达式语言,用于从JSP页面访问JavaBean或其他作用域内的...

    servlet 源码

    Servlet是Java平台上的一个核心技术,用于开发Web应用程序。它是一个Java类,符合Servlet API规范,能够接收并...在实际项目中,了解Servlet的工作原理有助于更好地解决性能问题、安全性问题以及设计更高效的应用架构。

Global site tag (gtag.js) - Google Analytics