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协议的核心组件,用于网页浏览器、服务器和其他网络设备之间的通信。...同时,C++和STL库也可以用于处理Http请求和响应格式,提高开发效率和代码质量。
此外,还可以使用不同的HTTP请求类型,如GET、POST、PUT、DELETE等,以适应不同类型的交互需求。 在Ajax应用中,理解就绪状态的变化和HTTP状态代码的含义至关重要。例如,当遇到错误状态时,如status为404,可以...
这里我们将深入探讨如何在Java的main方法中实现这个功能,以及相关的HTTP请求和响应处理。 首先,Java中发送HTTP POST请求通常会用到`HttpURLConnection`类或者第三方库如Apache HttpClient或OkHttp。下面我们将...
在`service()`方法中,处理HTTP请求和响应的逻辑被实现。 总结来说,这个实验展示了如何利用Java Servlet API处理HTTP请求,包括设置字符编码以解决乱码问题、获取请求参数以及向客户端发送响应。这对于理解和掌握...
在本文中,我们将深入探讨如何使用QT来实现HTTP请求和响应的程序,这将涵盖QT的基本概念、HTTP协议原理以及实际的代码实现。 首先,我们需要了解QT中的网络模块。QT提供了一个强大的网络编程接口,它允许开发者方便...
在Java编程中,发送HTTP请求并接收响应是常见的网络通信操作,尤其在Web服务的开发和测试中。本文将详细介绍如何使用Java发送HTTP请求并处理响应内容。 首先,我们需要创建一个名为`HttpRequester`的类,它将作为...
总结起来,"HTTP.RAR_HTTP请求响应_SOCKET HTTP请求"这个主题涵盖了HTTP协议的基础、Socket编程的应用以及两者结合实现HTTP请求和响应的过程。通过深入理解这些概念和实践,你可以创建自己的网络客户端,实现与任何...
在处理请求参数时,我们需要考虑到第三方的提交方式,这可能是POST的Http请求方法,提交报文的时候指定ContentType为application/json或者application/x-www-form-urlencoded。在这种情况下,我们需要兼容这两种...
总结起来,Servlet请求和响应机制涉及客户端与服务器间的交互,包括HTTP请求的发送、Web容器的解析和处理、Servlet的业务逻辑执行,以及最终响应的构造和发送。Web容器在这个过程中起着至关重要的作用,它提供了一个...
消息头在HTTP请求和响应中扮演着重要的角色,它们用于传递各种上下文信息,使得服务器和客户端能够更准确地理解彼此的需求和能力。 - **通用信息头**:适用于所有HTTP消息,如`Date`、`Cache-Control`等。 - **请求...
- **Cookies**:处理和返回cookies,便于测试cookie相关的功能。 - **IP和地理位置**:提供客户端IP和可能的地理位置信息。 - **Redirects**:设置重定向,测试客户端的重定向行为。 - **Status Codes**:返回指定的...
一、HTTP请求头 1. User-Agent:这是最常见的请求头,它包含了发起请求的用户代理信息,如浏览器类型、版本和操作系统。 2. Accept:此头用于告诉服务器客户端接受哪些类型的数据,例如HTML、JSON或图像格式。 3....
在 Node.js 中,HTTP 模块是 Node.js 的核心模块之一,负责处理 HTTP 请求和响应。本节目标是实现 N 个 API 的 web 爬虫,通过 Node.js 中的 HTTP 处理来爬取网页内容。 Node.js 中的 HTTP 处理 Node.js 中的 HTTP...
总的来说,Java发送HTTP请求和处理响应涉及网络编程、HTTP协议理解、异常处理、输入/输出流操作,以及可能的HTML解析和网页爬虫技术。这些知识对于任何想要构建Web客户端应用或进行数据抓取的开发者来说都是必不可少...
Node.js 发送 HTTP 请求时遇到 404 长时间未响应的解决方法 Node.js 是一个基于 JavaScript 的服务器端 runtime 环境,它可以用于构建高性能的 Web 服务器。然而,在使用 Node.js 发送 HTTP 请求时,可能会遇到 ...
在互联网世界中,HTTP(超文本传输协议...通过阅读《Http请求头和响应头.pdf》和《http 头信息详解.pdf》这样的资料,你可以深入学习这些概念,进一步提升你的HTTP知识和技能,从而在开发和维护Web应用时更加得心应手。
此外,前端页面还需要考虑错误处理和状态管理。例如,当请求失败时,应展示错误提示,同时提供重试机制。状态管理工具如Redux或Vuex可以帮助管理全局状态,使得多个组件能共享同一份数据,并确保状态更新的一致性。 ...
HTTP请求处理流程是Web开发中的核心概念,它涉及到服务器如何响应客户端(如浏览器)发起的HTTP请求。在深入了解Form验证模式和Windows验证模式之前,理解HTTP请求处理流程至关重要。这里我们将详细探讨这一流程,...
总的来说,HttpClient 4.3.4及其相关组件构成了一个完整的HTTP客户端解决方案,涵盖了HTTP通信的各个方面,包括基本的HTTP请求和响应处理、缓存策略、底层网络通信以及多媒体内容的传输。对于任何需要通过HTTP与...
为了简化HTTP请求的处理和增强代码的复用性,开发者经常使用HTTP客户端库。在这些库中,axios是一个非常流行的选择,因为它轻量级且易于使用。拦截器是axios库提供的一个强大功能,它允许我们在请求或响应被处理之前...