`

HTTP请求和响应处理

 
阅读更多

1.信息的处理(一切都是数据的处理和描述)

HttpServletRequest是对HTTP请求的描述(这里是封装或抽象)

 

HttpServletRequest&HttpServletResponse分别对请求和响应的处理,它们处理过程都分为2种: 1)设置型 2)数据处理型 。往往设置型的方法需要先调用,因为---这是常识....

 

2.Http是请求和响应的方式,一次请求和响应就是一个生命周期,所以有数据返回到浏览器端就代表生命周期开始结束,此时再进行响应方面的其它操作会出错(请求转发)或无效...........

 

3. / 与没有/

<servlet-mapping>
    <servlet-name>HeaderDemo</servlet-name>
    <url-pattern>/header.do</url-pattern>
  </servlet-mapping>

<url-pattern>需要使用/,不然会报错

这里/header.do代表了http://www.localhost:8080/webapps/header.do的请求

/代表了相对与web应用程序的根目录

及:url-pattern是根据url来匹配的而不是根据jsp中action的值

 

 

<form action="/header.do" method="post">

 <input type="submit" value="submit" /><br>
</form>

action="/header.do"

 

开始在此页面下显示jsp

http://localhost:8080/LGG_LXL_Book_ServletJsp/jsp/header.jsp

点击后为

http://localhost:8080/header.do

 

所以action="/header.do"的/代表了相对服务器的根目录

 

4.HttpServlet部分源代码

例如:注意粗体部分 

 protected void doPut(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {

        String protocol = req.getProtocol();
        String msg = lStrings.getString("http.method_put_not_supported");
        if (protocol.endsWith("1.1")) {
            resp.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, msg);
        } else {
            resp.sendError(HttpServletResponse.SC_BAD_REQUEST, msg);
        }
    }

 

 

5.中文处理问题

response.setContentType("text/html;charset=utf-8");

 

request.setCharacterEncoding("utf-8");//指定浏览器数据的文字编码,默认按照ISO-8859-1处理字符串

 

String name = new String("abcde...".getBytes("ISO-8859-1"),"UTF-8") ;

"abcde..."是按照ISO-8859-1解码

name编码是utf-8

 

 

 6.请求转发是request发出的,在容器内进行,不涉及浏览器端,所以浏览器地址栏不进行变化

 

 

7.HttpServeltResponse --- setContentType

 

response.setContentType("text/html;charset=utf-8");

==

response.setHeader("content-type","text/html;charset=utf-8");

response.setCharacterEncoding("utf-8");

setHeader()可直接设置某个标头名称的值,重复此方法后面的会覆盖前面的值

addHeader()在同一标头下,附加其它的值

 

8.HttpServletResponse --- sendRedirect与sendError

response.sendRedirect("....");

 这个方法会在响应中设置HTTP状态码301以及Location标头,Location标头要求浏览器重定向到此处,所以浏览器地址栏会改变

Ps:

要求这个方法在执行时,没有开始响应(即没有数据放回到浏览器中)

 

处理请求的过程中发现一些错误时:

response.sendError(HttpServletResponse.SC_NOT_FOUND);//发送默认的错误信息

response.sendError(HttpServletResponse.SC_NOT_FOUND,msg);//发送msg

Ps:

同样sendError()必须在响应没有输出前执行

 

 

9.ServeltOutputStream的使用

 

对浏览器进行字节的输出

 

Ps:

同一个请求周期中,进行字节输出时,不能再进行字符的输出

即: HttpServletResponse的getWriter()与getOutputStream()只能使用一个

 

 

 

分享到:
评论

相关推荐

    http请求和响应格式

    http请求和响应格式 Http请求和响应格式是HTTP协议的核心组件,用于网页浏览器、服务器和其他网络设备之间的通信。...同时,C++和STL库也可以用于处理Http请求和响应格式,提高开发效率和代码质量。

    Ajax 中的高级请求和响应

    此外,还可以使用不同的HTTP请求类型,如GET、POST、PUT、DELETE等,以适应不同类型的交互需求。 在Ajax应用中,理解就绪状态的变化和HTTP状态代码的含义至关重要。例如,当遇到错误状态时,如status为404,可以...

    java中main方法发送httpPost请求

    这里我们将深入探讨如何在Java的main方法中实现这个功能,以及相关的HTTP请求和响应处理。 首先,Java中发送HTTP POST请求通常会用到`HttpURLConnection`类或者第三方库如Apache HttpClient或OkHttp。下面我们将...

    Web编程(Java )-Servlet API中请求和响应的应用.doc

    在`service()`方法中,处理HTTP请求和响应的逻辑被实现。 总结来说,这个实验展示了如何利用Java Servlet API处理HTTP请求,包括设置字符编码以解决乱码问题、获取请求参数以及向客户端发送响应。这对于理解和掌握...

    QT实现HTTP请求回应程序

    在本文中,我们将深入探讨如何使用QT来实现HTTP请求和响应的程序,这将涵盖QT的基本概念、HTTP协议原理以及实际的代码实现。 首先,我们需要了解QT中的网络模块。QT提供了一个强大的网络编程接口,它允许开发者方便...

    http.rar_http请求响应_socket http 请求

    总结起来,"HTTP.RAR_HTTP请求响应_SOCKET HTTP请求"这个主题涵盖了HTTP协议的基础、Socket编程的应用以及两者结合实现HTTP请求和响应的过程。通过深入理解这些概念和实践,你可以创建自己的网络客户端,实现与任何...

    Spring MVC请求参数与响应结果全局加密和解密详解

    在处理请求参数时,我们需要考虑到第三方的提交方式,这可能是POST的Http请求方法,提交报文的时候指定ContentType为application/json或者application/x-www-form-urlencoded。在这种情况下,我们需要兼容这两种...

    JAVA发送HTTP请求,返回HTTP响应内容

    在Java编程中,发送HTTP请求并接收响应是常见的网络通信操作,尤其在Web服务的开发和测试中。本文将详细介绍如何使用Java发送HTTP请求并处理响应内容。 首先,我们需要创建一个名为`HttpRequester`的类,它将作为...

    Servlet请求和响应的资料,帮助初学者掌握Servlet的请求和响应

    总结起来,Servlet请求和响应机制涉及客户端与服务器间的交互,包括HTTP请求的发送、Web容器的解析和处理、Servlet的业务逻辑执行,以及最终响应的构造和发送。Web容器在这个过程中起着至关重要的作用,它提供了一个...

    http协议请求响应详解

    消息头在HTTP请求和响应中扮演着重要的角色,它们用于传递各种上下文信息,使得服务器和客户端能够更准确地理解彼此的需求和能力。 - **通用信息头**:适用于所有HTTP消息,如`Date`、`Cache-Control`等。 - **请求...

    Python-httpbin用PythonFlask编写的HTTP请求和响应服务

    - **Cookies**:处理和返回cookies,便于测试cookie相关的功能。 - **IP和地理位置**:提供客户端IP和可能的地理位置信息。 - **Redirects**:设置重定向,测试客户端的重定向行为。 - **Status Codes**:返回指定的...

    HTTP 常见请求和响应头-说明

    一、HTTP请求头 1. User-Agent:这是最常见的请求头,它包含了发起请求的用户代理信息,如浏览器类型、版本和操作系统。 2. Accept:此头用于告诉服务器客户端接受哪些类型的数据,例如HTML、JSON或图像格式。 3....

    10案例九: [实现 N 个 API[网页爬虫] Node 的 HTTP 处理 - 请求与响应

    在 Node.js 中,HTTP 模块是 Node.js 的核心模块之一,负责处理 HTTP 请求和响应。本节目标是实现 N 个 API 的 web 爬虫,通过 Node.js 中的 HTTP 处理来爬取网页内容。 Node.js 中的 HTTP 处理 Node.js 中的 HTTP...

    Java编程:发送HTTP请求,返回响应内容

    总的来说,Java发送HTTP请求和处理响应涉及网络编程、HTTP协议理解、异常处理、输入/输出流操作,以及可能的HTML解析和网页爬虫技术。这些知识对于任何想要构建Web客户端应用或进行数据抓取的开发者来说都是必不可少...

    Http请求头和响应头

    在互联网世界中,HTTP(超文本传输协议...通过阅读《Http请求头和响应头.pdf》和《http 头信息详解.pdf》这样的资料,你可以深入学习这些概念,进一步提升你的HTTP知识和技能,从而在开发和维护Web应用时更加得心应手。

    请求-响应-案例 请求-响应-案例

    此外,前端页面还需要考虑错误处理和状态管理。例如,当请求失败时,应展示错误提示,同时提供重试机制。状态管理工具如Redux或Vuex可以帮助管理全局状态,使得多个组件能共享同一份数据,并确保状态更新的一致性。 ...

    Http请求处理流程

    HTTP请求处理流程是Web开发中的核心概念,它涉及到服务器如何响应客户端(如浏览器)发起的HTTP请求。在深入了解Form验证模式和Windows验证模式之前,理解HTTP请求处理流程至关重要。这里我们将详细探讨这一流程,...

    httpclient4.3.4

    总的来说,HttpClient 4.3.4及其相关组件构成了一个完整的HTTP客户端解决方案,涵盖了HTTP通信的各个方面,包括基本的HTTP请求和响应处理、缓存策略、底层网络通信以及多媒体内容的传输。对于任何需要通过HTTP与...

    swift-Bridge高扩展iOSHTTP网络库

    总的来说,Swift-Bridge是一个强大的网络库,它利用Swift的特性提供了高度可扩展的HTTP请求和响应处理能力。通过理解和使用这个库,开发者可以更高效地管理网络请求,提高iOS应用的质量和用户体验。

    httpOper

    通过学习这个压缩包中的内容,你可以深入了解HTTP协议的工作原理,掌握如何进行HTTP请求和响应处理,这对于Web开发、网络编程以及理解网络通信过程至关重要。不过,由于没有提供具体文件内容,更详细的解释将依赖于...

Global site tag (gtag.js) - Google Analytics