luoxlmail
luoxlmail
2011-02-22 16:46
浏览 343
已采纳

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

使用springmvc作为框架,用urlrewrite实现了RESTful风格的url。
页面上使用了jquery,
我在jquery中使用ajax访问后台,同时给在请求头增加了一个自定义的http头,代码如下:
[code="js"]
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);
    }
});

}
[/code]

使用firebug调试时,能看到我新增加的头 x_client_param,但是在sign的controller中,代码如下:
[code="java"]
@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));
}
}
[/code]

我却得不到我在页面上定义的http头,我用遍历或者直接根据header名得的时候都得不到。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • andilyliao
    andilyliao 2011-02-23 12:43
    已采纳

    看着没什么错误呀 你用sniffer抓一下看看 然后跟踪下servlet看看是不是取之前处理request的时候丢了.
    http://andilyliao.iteye.com/blog/919243
    你看看我写的这个吧 不过没用框架.

    点赞 评论
  • weixin_42415480
    weixin_42415480 2011-02-22 18:08

    HTTP头 好像无法通过javascript伪装吧

    点赞 评论

相关推荐