java – 未在servlet中的请求中插入自定义标头
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 未在servlet中的请求中插入自定义标头,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1871字,纯文字阅读大概需要3分钟。
内容图文
![java – 未在servlet中的请求中插入自定义标头](/upload/InfoBanner/zyjiaocheng/807/172974f6bd784e229a3651a9017485e1.jpg)
有一个需要通过自定义http标头获取信息的四方派对应用程序,因此我编写了一个简单的测试应用程序,创建此标题,然后重定向到列出所有标题的页面.
生成标头的servlet片段是:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/plain");
response.setHeader("cust-header", "cust-val");
response.sendRedirect("header.jsp");
}
另一方面,header.jsp的相关代码是:
<%
Enumeration enumeration = request.getHeaderNames();
while (enumeration.hasMoreElements()) {
String string = (String)enumeration.nextElement();
out.println("<font size = 6>" +string +": " + request.getHeader(string)+ "</font><br>");
}
%>
这会显示以下标题:
Host: localhost:9082
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; es-ES; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://localhost:9082/HdrTest/login.jsp
Cookie: JSESSIONID=0000tubMmZOXDyuM4X9RmaYYTg4:-1
好像从未插入自定义标头.我该如何解决?
谢谢
解决方法:
通过重定向,您基本上是在指示客户端(webbrowser)发出全新的HTTP请求.全新的要求也意味着全新的回应.用前锋代替:
request.getRequestDispatcher("header.jsp").forward(request, response);
或者,如果您确实希望在重定向的请求上拥有它,则创建一个映射在/header.jsp上的Filter,并相应地修改标头.
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {
((HttpServletResponse) response).setHeader("foo", "bar");
chain.doFilter(request, response);
}
另请注意,您在header.jsp中显示请求标头而不是响应标头.由于没有直接API可用于显示响应标头,因此您需要使用外部HTTP标头嗅探工具(如Firebug(Net面板)或Fiddler)对其进行调查.
内容总结
以上是互联网集市为您收集整理的java – 未在servlet中的请求中插入自定义标头全部内容,希望文章能够帮你解决java – 未在servlet中的请求中插入自定义标头所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。