关于自定义的HTTP头(springmvc,urlrewrite)

问题描述

使用springmvc作为框架,用urlrewrite实现了RESTful风格的url。页面上使用了jquery,我在jquery中使用ajax访问后台,同时给在请求头增加了一个自定义的http头,代码如下:function getSign(){var params = $("#source").val();$.ajax({type:"GET",url:"sign",beforeSend:function(xhr){xhr.setRequestHeader("x_client_param", params);},data:params,dataType:"html",success:function(data) {$("#sign").text(data);}});}使用firebug调试时,能看到我新增加的头 x_client_param,但是在sign的controller中,代码如下:@RequestMapping(value = "/sign")public void signSource(HttpServletRequest request, HttpServletResponse response) {String header = request.getHeader("x_client_param");logger.info("header value is: " + header);Enumeration em = request.getHeaderNames();while(em.hasMoreElements()) {String key = em.nextElement().toString();logger.info(key + ":" + request.getHeader(key));}}我却得不到我在页面上定义的http头,我用遍历或者直接根据header名得的时候都得不到。

解决方案

看着没什么错误呀 你用sniffer抓一下看看 然后跟踪下servlet看看是不是取之前处理request的时候丢了.http://andilyliao.iteye.com/blog/919243你看看我写的这个吧 不过没用框架.
解决方案二:
HTTP头 好像无法通过javascript伪装吧

时间: 2024-10-27 11:03:26

关于自定义的HTTP头(springmvc,urlrewrite)的相关文章

Linux有问必答:如何在curl中设置自定义的HTTP头

Linux有问必答:如何在curl中设置自定义的HTTP头 问题:我正尝试使用curl命令获取一个URL,但除此之外我还想在传出的HTTP请求中设置一些自定义的头部字段.我如何能够在curl中使用自定义的HTTP头呢? curl是一个强大的命令行工具,它可以通过网络将信息传递给服务器或者从服务器获取数据.他支持很多的传输协议,尤其是HTTP/HTTPS以及其他诸如FTP/FTPS, RTSP, POP3/POP3S, SCP, IMAP/IMAPS协议等.当你使用curl向一个URL发送HTTP

java SSM 框架 微信自定义菜单 快递接口 SpringMVC mybatis redis shiro ehcache websocket

获取[下载地址]   QQ: 313596790A 调用摄像头拍照,自定义裁剪编辑头像,头像图片色度调节B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,快速开发利器)+快速表单构建器 freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等完整模块C 集成阿里巴巴数据库连接池druid  数据库连接池  阿里巴巴的 druid.Druid在监控.可扩展性.稳定性和性能方面都有明显的优势D 集成安全权限框架shiro  Shi

自定义HTTP请求头被tomcat拦截

今天部署上线时,遇到一个很奇怪的问题. 我们使用自定义的HTTP请求头,但是部署到tomcat上之后,该请求头被拦截,导致程序获取不到该请求头,从而导致程序出错. 换到resin上面,一切正常. 有了解的童鞋,能不能帮忙解答一下. 万分感谢. 2015年10月21日 今天有时间看一下这个问题. 我是这么获取指定的请求头的: Enumeration<?> enum1 = request.getHeaderNames(); while (enum1.hasMoreElements()) { Str

Nginx环境自定义设置Header头信息例子

Nginx 使用 ngx_headers_more 模块来增加.删除出站.入站的 Header 信息. ngx_headers_more 项目主页 默认该模块没有加入到 Nginx 的源码中,要想使用相关功能需要在编译 Nginx 时加入该模块. 本人服务器中的 Nginx 在编译时没有加入该模块,使用 -V 查看当前 Nginx 的编译参数: [root@z-dig ~]# nginx -V nginx version: www.111cn.net built by gcc 4.4.7 201

在Linux系统下使用curl自定义HTTP头的方法

  curl是一个强大的命令行工具,它可以通过网络将信息传递给服务器或者从服务器获取数据.他支持很多的传输协议,尤其是HTTP/HTTPS以及其他诸如FTP/FTPS, RTSP, POP3/POP3S, SCP, IMAP/IMAPS协议等.当你使用curl向一个URL发送HTTP请求的时候,它会使用一个默认只包含必要的头部字段(如:User-Agent, Host, and Accept)的HTTP头. 在一些个例中,或许你想要在一个HTTP请求中覆盖掉默认的HTTP头或者添加一个新的自定义

PHP getallheaders无法获取自定义头(headers)的问题_php实例

在客户端请求的时候增加了自定义的http头,请求如下所示:   自定义http请求头 var_dump(getallheaders); 一开始通过getallheaders参数获取,但是发现在nginx部署的服务器上获取不到,非常奇怪,查看php手册发现getallheaders这个函数只支持apache服务器.于是找到兼容的方法: if (!function_exists('getallheaders')) { function getallheaders() { $headers = arr

浅析C++标准头文件结构

在C语言中,并没有任何内在的机制来完成如下一些功能:在编译时包含其他源文件.定义宏.根据条件决定编译时是否包含某些代码.要完成这些工作,就需要使用预处理程序.尽管在目前绝大多数编译器都包含了预处理程序,但通常认为它们是独立于编译器的.预处理过程读入源代码,检查包含预处理指令的语句和宏定义,并对源代码进行响应的转换.预处理过程还会删除程序中的注释和多余的空白字符. 预处理指令是以#号开头的代码行.#号必须是该行除了任何空白字符外的第一个字符.#后是指令关键字,在关键字和#号之间允许存在任意个数的空

《WCF技术内幕》27:第2部分_第5章_消息:使用消息头(上)

使用消息头 正如你在第二章里看到的一样,消息头块被SOAP消息基础结构用来表示地址 .路由和安全信息.因为WCF也是一个完全支持SOAP的消息处理基础结构,它包 含一些创建.序列化和分析SOAP消息头块的工具.记住Message类型是一个 SOAP 消息的CLR抽象,它定义的成员允许WCF基础结构使用发送或接受到的消息头块. Message 类型的Headers属性提供了这个功能.和WCF里其它关键的类型一样,使 用Headers属性需要我在WCF API里与其它类型交互,即MessageHea

Android自定义组合控件之自定义下拉刷新和左滑删除实例代码_Android

绪论 最近项目里面用到了下拉刷新和左滑删除,网上找了找并没有可以用的,有比较好的左滑删除,但是并没有和下拉刷新上拉加载结合到一起,要不就是一些比较水的结合,并不能在项目里面使用,小编一着急自己组合了一个,做完了和QQ的对比了一下,并没有太大区别,今天分享给大家,其实并不难,但是不知道为什么网上没有比较好的Demo,当你的项目真的很急的时候,又没有比较好的Demo,那么"那条友谊的小船儿真是说翻就翻啊",好了,下面先来具体看一下实现后的效果吧:   代码已经上传到Github上了,小伙伴