怎样在HttpServletRequest 加入一个head值


在servlet里面通过request.getHeader()可以获取一个head值,但是怎么在请求这个servlet之前通过服务端,例如一个统一的filter向request中加入一个head?

http java servlet

叛逆√逍遥 11 years, 2 months ago

HttpServletRequest这个类没提供写方法,都是get和is。
官方文档( http://download.oracle.com/javaee/6/a... )说这个类的对象是servlet container创建,作为参数传给servlet的service的。也就是说这个对象的生命周期都是发生在服务端的,所以如果需要把什么东西传递给servlet,完全没有必要通过header的方式。貌似在response里setheader给客户端才有意义,在request里还真没遇到过。
如果非要在这个对象里set点什么东西,他的父类,ServletRequest,有setAttribute方法,可以参考。
另外:翻了半天HttpServletRequest的原码,没翻到,只找到接口定义。但是个人分析,HttpServletRequest的header应该跟父类的attribute有关,如果能找到getHeader方法的原码,或许能分析出怎么set一个header。

五星红内裤 answered 11 years, 2 months ago

Your Answer