`

简要介绍Servlet (二)

 
阅读更多

今天接着简要介绍Servelt(写了一年半了,一直都忘了发了,剩下没写完的估计不会写了)

 

一、表单处理

 

        表单是服务器端的程序从Web页面获取信息时所采用的最常见的方式。表单数据可以跟在问号后附加到URL的结尾,GET请求即使用这种方式;表单数据还可以在单独的行中发送到服务器,POST请求即为如此。不管是用GET还是POST发送数据,Servlet中都使用相同的方法获取数据。

        单值读取:getParameter

        多值读取:getParameterValuse

        参数名的查找:getParameterNames、getParameterMap

        原始表单数据的读取:getReader、getInputStream

        多字符集输入的读取:setCharacterEncoding

 

二、HTTP请求报头

 

        HTTP请求报头由浏览器简介设定,并紧跟在初始的GET和POST请求行之后发送。如:

Accept    image/png,image/*;q=0.8,*/*;q=0.5
Accept-Encoding    gzip, deflate
Accept-Language    zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Connection    keep-alive
Cookie    BAIDUID=176652A910D84BEAB1AA0FC1DFD21998:FG=1; BDUT=98yh176652A910D84BEAB1AA0FC1DFD2199813d23a3e5b30; H_PS_PSSID=2195_1426_1944_1788
Host    t11.baidu.com
Referer    http://www.baidu.com/s?wd=13&rsv_bp=0&ch=&tn=baidu&bar=&rsv_spt=3&ie=utf-8&rsv_sug3=2&rsv_sug=0&rsv_sug1=1&rsv_sug4=1326&inputT=2070
User-Agent    Mozilla/5.0 (Windows NT 6.1; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0

 

        请求报头的读取:getHeader。尽管getHeader是读取输入报头的通用方式,但由于几种报头的应用太过普遍,故而ServletHttpRequest为它们提供了专门的访问方法:getCookies、getAuthType、getRemoteUser、getContentLength、getContentType、getDateHeader、getIntHeader、getHeaderNames、getHeaders、getMethod、getRequestURI、getQueryString、getProtocol

 

三、服务器响应的HTTP状态代码

 

        Web服务器的响应一般由状态行、一个或多个响应报头(其中一个必须为Content-Type)、一个空行和关联的文档组成。

设置任意状态码:setStatus,必须在PrintWriter实际返回任何内容前调用。

设置302状态码:sendRedirect,该方法生成302响应及Location报头,命令浏览器连接到新的位置。

设置404状态码:sendError,该方法发送404以及一小段简短的消息。

 

四、服务器响应的HTTP响应报头

 

Cache-Control    private
Connection    Keep-Alive
Content-Length    48
Content-Type    baiduApp/json; v6.27.2.14; charset=gbk
Date    Mon, 08 Apr 2013 03:35:07 GMT
Server    suggestion.baidu.zbb.df

 

        最通用的方式是使用ServletHttpResponse的setHeader方法。和设置状态代码一样,必须在返回实际的文档之前指定相关的报头。还有两个专门的方法,用来设置含有日期和整数的报头。

 

        setHeader(String headerName, String headerValue)

        setDateHeader(String headerName, long milliseconds)

        setIntHeader(String header, int headerValue)

        

         HTTP允许相同的报头名多次出现。setHeader、setDateHeader、setIntHeader替换任何同名的已有报头,而addHeader、addDateHeader、addIntHeader等方法添加一个报头。可以使用containsHeader检查是否设置了特定的报头。

       

         HttpServletResponse提供了许多方便的方法来指定常用的报头。

 

         setContentType(String mimeType)

         setContentLength(int length)

         addCookie(Cookie c)

         sendRedirect(String address) 

 

五、发送二进制数据

 

        servlet发送二进制数据,而非发送HTML文档所用的字符串时,一般使用getOutputStream方法获取原始的输出流,而非使用getWriter获取PrintWriter:

         response.setContentType("type/subtype");

         OutputStream out = response.getOutputStream();

分享到:
评论

相关推荐

    jsp+servlet简介 简单介绍

    jsp+servlet简介 简单介绍jsp+servlet简介 简单介绍jsp+servlet简介 简单介绍jsp+servlet简介 简单介绍jsp+servlet简介 简单介绍jsp+servlet简介 简单介绍jsp+servlet简介 简单介绍jsp+servlet简介 简单介绍jsp+...

    简单的servlet例子新闻网站 全

    在"简单的servlet例子新闻网站 全"这个项目中,我们可以深入理解Servlet在实际应用中的工作原理和常见应用场景。 首先,Servlet是一个Java类,遵循Java Servlet API规范,主要负责接收HTTP请求,并生成HTTP响应。在...

    简单的servlet例子

    在这个"简单的servlet例子"中,我们将深入理解如何创建一个基础的Servlet以及如何配置它在Web应用程序中运行。 1. **Servlet接口与实现** `mybasicservlet` 类实现了`Servlet`接口。`Servlet`接口定义了Servlet的...

    一个简单的servlet容器

    本主题将深入探讨“一个简单的Servlet容器”的实现,参考自《深入剖析Tomcat》这本书的第二章。 Servlet容器的主要职责是接收HTTP请求,然后调用相应的Servlet来处理这些请求,并将Servlet的响应返回给客户端。在...

    一个简单的servlet示例

    在这个简单的Servlet示例中,我们将会探讨如何创建和运行一个基本的Servlet,以及它与JavaScript的交互。 首先,Servlet是一个Java类,它扩展了Java的`javax.servlet.Servlet`或`javax.servlet.http.HttpServlet`...

    最简单 Servlet例子

    在本文中,我们将深入探讨"最简单Servlet例子",以及如何使用`HttpServlet`进行入门级的学习。 Servlet是一个Java类,它遵循Servlet API规范,允许我们扩展服务器的功能。在Web应用程序中,Servlet通常用来接收和...

    最简单的SERVLET应用DEMO下载

    二、Servlet生命周期 1. 加载与实例化:当服务器接收到对Servlet的第一个请求时,会加载Servlet类并创建其实例。 2. 初始化:创建实例后,服务器调用Servlet的`init()`方法进行初始化,通常用于加载配置信息或资源。...

    Servlet+jsp简单购物车

    本项目“Servlet+jsp简单购物车”就是利用这两种技术来实现一个基础的在线购物车功能,这将涉及到HTTP请求处理、会话管理、数据持久化等关键知识点。 首先,Servlet是Java编写的一种服务器端程序,它可以接收并响应...

    Servlet实现简单购物车

    【Servlet实现简单购物车】 Servlet是Java Web开发中的一个核心组件,主要用于处理HTTP请求和响应。在本项目中,"Servlet实现简单购物车"是指利用Servlet技术来构建一个基础的在线购物车系统。这个系统可能包括添加...

    简单的servlet解说简单的servlet解说

    简单的servlet解说简单的servlet解说简单的servlet解说简单的servlet解说简单的servlet解说简单的servlet解说简单的servlet解说简单的servlet解说简单的servlet解说

    servlet的详细介绍

    Servlet是Java平台上的一个核心技术,它主要用于开发Web应用程序,特别是在B/S(浏览器/服务器)架构下。Servlet是一个Java对象,遵循Sun指定的J2EE规范,它扩展了Web服务器的功能,使得服务器能够处理HTTP请求并...

    简单Servlet开发

    ### 简单Servlet开发详解 #### 一、实验目的 在本次实验中,我们将学习如何使用Eclipse IDE来开发并测试几个简单的Servlet程序。通过本实验,学生能够更深入地理解Servlet的工作原理,掌握其开发流程,并进一步...

    简单的Servlet容器

    本项目基于《深入剖析Tomcat》一书中的第二章代码,进行了相应修改,旨在帮助开发者更深入地理解和运用Servlet容器。 首先,Servlet是Java平台上的一个标准接口,用于处理HTTP请求。当客户端向服务器发送请求时,...

    日志管理系统SERVLET SERVLET SERVLET

    刚刚接触java时做的日志管理系统,做的很简单,适合初学着 servlet servlet servlet servlet servlet日志管理系统 servlet servlet servlet servlet servlet日志管理系统 servlet servlet servlet servlet servlet...

    Servlet简单登陆验证实例

    本实例将讲解如何使用Servlet实现一个简单的登录验证功能。 首先,我们需要创建一个Servlet类。在Java中,Servlet是一个实现了javax.servlet.Servlet或javax.servlet.http.HttpServlet接口的类。在这个实例中,我们...

    简单的servlet容器实现

    这个简单的Servlet容器没有实现多线程,这意味着每次只能处理一个请求。在实际的Servlet容器如Tomcat或Jetty中,每个请求通常会在单独的线程中处理,以支持高并发。 总结起来,这个简单的Servlet容器示例展示了如何...

    用继承servlet接口的方式手动开发servlet

    本文档将详细介绍如何通过实现`Servlet`接口的方式,从零开始构建一个简单的Servlet程序。这个Servlet不仅会显示“Hello World”,还会显示当前的时间。这对于刚接触Servlet技术的初学者来说非常实用。 #### 二、...

    简单的servlet+jsp

    本教程将介绍如何使用servlet和jsp实现数据的增删改查功能,这对于理解Web应用程序的基本工作原理至关重要。 Servlet是Java编写的小型服务器端程序,它扩展了Web服务器的功能,可以处理HTTP请求并生成响应。而JSP则...

    java servlet 最简单的小例子

    在这个"java servlet 最简单的小例子"中,我们将深入理解Servlet的基本概念和实现步骤,特别适合初学者入门学习。 1. **Servlet生命周期** - **加载与实例化**:当第一个请求到达Servlet时,服务器会加载Servlet类...

    servlet简单例子

    在这个"Servlet简单例子"中,我们将探讨如何在Eclipse环境中创建一个Dynamic Web Project来实现Servlet。 首先,让我们了解Servlet的基本工作流程。当用户通过浏览器发送HTTP请求到Web服务器时,Web服务器接收到...

Global site tag (gtag.js) - Google Analytics