`
m635674608
  • 浏览: 5043052 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

从服务器获取或设置Header的值

    博客分类:
  • js
 
阅读更多

Servlet代码:

package com.demo.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/Services")
public class Services extends HttpServlet {
	private static final long serialVersionUID = 1L;

	public Services() {
		super();
	}

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setHeader("SID""sid_" + Math.round(Math.random() * 1000));

		// 客户端无法获取此值
		response.setHeader("Set-Cookie""WQERQWITQRUWORE");

		response.getWriter().print("{\"msg\":\"ok\",\"code\":0}");
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,
			IOException {
		String sid = request.getHeader("SID");
		System.out.println("SID:" + sid);

		String xxx = request.getHeader("XXX");
		System.out.println("XXX:" + xxx);

		response.getWriter().print("{\"msg\":\"ok\",\"code\":0}");
	}
}

HTML及JavaScript代码:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>从服务器获取或设置Header的值</title>
    <script type="text/javascript" src="lib/jquery-1.7.2.min.js"></script>
</head>
<body>
<h3>Header中会话参数(SID)的获取和设置</h3>
<br/>
<button type="button" onclick="get()">GET SID</button>
<br/>
<br/>
<button type="button" onclick="set()">SET SID</button>
<br/>
<br/>
<div style="border:1px solid #ccc;padding:20px;">
	<span id="data"></span><br/>
	<span id="status"></span><br/>
	<strong><span id="sid"></span></strong>
</div>
<script type="text/javascript">
	//获取服务器上的Header值
    function get() {
        $.get('Services', { },
                function (data, textStatus,resObj{
                    $('#data').html(data);
                    $('#status').html(textStatus);
                    
                    //获取自定义header值
                    $('#sid').html(resObj.getResponseHeader('SID'));
                    
                    //无法获取Set-Cookie的值
                    //alert(resObj.getResponseHeader("Set-Cookie"));
                    
                    //获取所有header值
                    //console.log(resObj.getAllResponseHeaders());
                    /*
                     * erver: Apache-Coyote/1.1
                     * SID: sid_786
                     * Content-Length: 21
                     * Date: Tue, 15 Apr 2014 14:23:48 GMT
                     */
                },'text');
    }
	
	//-----------------------------------------------------------
    
	//设置Header值,并发送到服务器
   	function set(){
	  	$.ajax({
	        url: "Services",
	        type: "POST",
	        //1-参数模式
	        headers: {
	            "SID" : "10086"
	        },
	        beforeSend: function(reqObj, settings{
	        	//2-动态设置
	        	reqObj.setRequestHeader('XXX''VVV');
	        },
	        data: {},
	        error: function(resObj, textStatus, errorThrown{
	           //TODO
	        },
	        success: function(data, textStatus, resObj{
	        	alert(resObj.responseText);
	        }
	    });
   	}
</script>
</body>
</html>

注:Set-Cookie:为JavaEE里面设置HttpOnly的形式,JavaScript无法获取,更多参见:http://en.wikipedia.org/wiki/HTTP_cookie#HttpOnly_cookie

 

 

http://my.oschina.net/tsai/blog/222865

分享到:
评论

相关推荐

    php获取不到自定义header参数原因详解

    例如,如果我们自定义了一个Header名为`Custom-Name`,并且在反向代理服务器(如Nginx或Apache)中设置如下: ```bash proxy_set_header Custom-Name "xxxxx"; ``` 在PHP代码中,我们应当通过以下方式来获取这个...

    JSP获取HTTP header信息(request)例子

    这些元数据可以帮助服务器更好地处理请求,例如选择合适的响应内容类型或设置缓存控制策略等。常见的HTTP请求头包括但不限于:`Accept`、`Host`、`Referer`、`User-Agent`等。 #### 二、JSP与HttpServletRequest...

    header中对于文件输出的相关设置.pdf

    它们共同作用,确保每次请求都从服务器获取最新版本的文件,而不是使用本地缓存: ```php header("Pragma : No-cache"); header("Expires : 0"); header("Cache-Control : no-cache, must-revalidate"); ``` 这些...

    android httpclient 访问服务器 获取json数据

    在Android开发中,HTTPClient是常用的网络通信库之一,用于与服务器进行交互,获取或发送数据。本示例主要讲解如何使用HTTPClient访问服务器并获取JSON格式的数据。JSON(JavaScript Object Notation)是一种轻量级...

    教你怎么用Nginx往request的header中添加新字段

    若要在向上游服务器转发请求时添加或修改请求头,我们需要使用`proxy_set_header`指令。这通常在Nginx作为反向代理时使用。 例如,假设我们想在请求头中添加一个名为`X-Api-Version`的字段,其值为`v1`,可以在...

    ExtJs grid多选时获取选中的所有值

    在这个例子中,我们使用了HTTP Proxy和JsonReader来从服务器获取数据。 ```javascript var storeFatList = new Ext.data.Store({ proxy: new Ext.data.HttpProxy({ url: 'auditUsr.action' }), reader: new ...

    android cookie获取和设置,webView的cookie的同步

    ### Android Cookie 获取与设置以及 WebView 的 Cookie 同步 在 Android 开发中,Cookie 的管理和同步对于维护用户会话状态至关重要。特别是在使用 HttpClient 发起网络请求时,保持客户端与服务器端 Session 的...

    java获取http请求的Header和Body的简单方法

    本文将详细介绍如何使用Java从HTTP请求中获取Header和Body。 首先,让我们了解HTTP请求的基本结构。一个HTTP请求由以下几部分组成: 1. 请求行(Request Line):包括HTTP方法(GET、POST等)、URL和HTTP版本。 2....

    android获取web服务器端session并验证登陆

    在Android开发中,获取Web服务器端的Session并进行登录验证是一项常见的任务,特别是在构建混合式应用或者需要与Web服务紧密交互的应用中。本篇将详细阐述这个过程中的关键知识点。 一、理解Session Session是Web...

    C#获取目标网址http头信息,比如状态码等等信息

    我们可以通过StatusDescription属性获取状态码的描述,而StatusCode属性则直接返回状态码的整数值。 为了获取更详细的HTTP头信息,可以遍历HttpWebResponse对象的Headers属性,这是一个NameValueCollection类型的...

    js 使用ajax设置和获取自定义header信息的方法小结

    在JavaScript中,Ajax技术常用于实现页面的异步数据交互,而设置和获取自定义header信息则是Ajax请求中一个重要的功能。以下是对该主题的详细解释: ### 1. 设置自定义Header信息 #### 1.1 使用`beforeSend`回调...

    在各种服务器(nginx,apache,tomcat)上设置CORS跨域设置.zip

    跨域资源共享(CORS,Cross-Origin Resource Sharing)是一种机制,允许Web应用从不同的源(比如不同的域名、协议或端口)获取资源。由于浏览器的安全策略,通常不允许这种跨域请求,但CORS通过添加特定的HTTP头部...

    前端开源库-auth-header

    开发者可以通过简单的API调用,快速设置或获取认证头,使得在前端代码中处理认证变得更加简单和规范化。 例如,使用`auth-header`库设置一个Basic Auth的认证头: ```javascript const authHeader = require('auth...

    通过Nginx服务器获取大文件MD5值的配置方法

    总的来说,通过Nginx服务器获取大文件MD5值,结合file-md5模块,可以在不影响服务器性能的前提下,提供文件完整性验证的手段。而大文件下载优化则可以帮助提高服务质量和用户体验。对于大型的、高流量的网站,这些...

    Qt 获取Cookie

    当用户再次访问同一服务器时,浏览器会将这些Cookie回传给服务器,以便服务器识别用户身份、保存用户偏好设置或跟踪用户行为。 在Qt中,我们可以使用QNetworkAccessManager和QNetworkCookieJar类来处理Cookie。...

    获得请求头的各种参数信息jsp代码

    获得请求头的各种参数信息jsp代码: ...获取接受客户提交信息的页面: /004.jsp 接受客户提交信息的长度: -1 ...获取头文件中指定头名字的全部值的一个枚举: JSESSIONID=7278C051AADA7370A6DB7492CDD13984

    php获取发送给用户的header信息的方法

    - `http_response_code()`:获取或设置HTTP响应状态码。 ### 结论 掌握`headers_list()`函数的使用是编写高效、可维护的PHP代码的关键之一。通过它可以查看和调试HTTP头部设置,有助于理解应用程序的行为,特别是...

    php header函数的常用http头设置

    - `header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate')`: 这些设置可以防止页面被缓存,确保每次请求都获取最新的内容。 - `header('Expires: Mon, 26 Jul 1997 05:00:00 GMT')`: 设置过期...

    http header 详解

    请求头则由多个名称-值对组成,它们提供了请求的上下文信息,如浏览器能力、请求内容格式和用户偏好。同样,响应头也包含类似信息,但侧重于响应的元数据,如状态、内容类型、缓存策略等。 总的来说,理解并熟练...

    Golang 发送http请求时设置header的实现

    这些Header信息对于确保请求能够按照预期被服务器正确解析至关重要。 #### 2. Golang中的HTTP客户端 Go标准库中的`net/http`包提供了强大的HTTP客户端功能,使得开发者可以轻松构建HTTP请求并获取响应。以下是一个...

Global site tag (gtag.js) - Google Analytics