如何获取请求头、远程地址和其他HttpServletRequest特定信息?

2023-12-31

我有一个 JSF 2.0 Web 项目,我的 Web 有一个表单,它必须执行以下操作:

  1. 获取表单的参数并将其保存在Bean中(完成)

  2. 从 servlet 获取此信息:

    • 远程地址:
    • 远程主机:
    • 区域设置:
    • 内容类型:
    • 边界:
    • 内容长度:
    • 字符编码:

  3. 将Bean数据和Servlet数据插入数据库的表中(等待步骤2)

我对 JSF 中的 Servlet 不太了解,我不需要是否必须制作一个。我只有 JSP 中的代码:

    String informe="";
    Enumeration a = request.getHeaderNames();
    while(a.hasMoreElements() ){
        String h = a.nextElement().toString();
        informe += h+": "+request.getHeader(h)+"\n";
    }
    a = request.getAttributeNames();
    while(a.hasMoreElements() ){
        String h = a.nextElement().toString();
        informe += h+": "+request.getHeader(h)+"\n";
    }
    informe += "Remote Address: "+request.getRemoteAddr()+"\n";
    informe += "Remote Host: "+request.getRemoteHost()+"\n";
    informe += "Locale: "+request.getLocale()+"\n";
    informe += "Content Type: "+request.getContentType()+"\n";
    informe += "Content Length: "+request.getContentLength()+"\n";
            .....
            ..

我不知道如何在 JSF 中获取请求信息以及我必须执行的步骤。我读了很多页,但我认为我不需要他们所做的所有事情。


The HttpServletRequest对象在 JSF 中可用ExternalContext#getRequest() http://docs.oracle.com/javaee/6/api/javax/faces/context/ExternalContext.html#getRequest%28%29.

ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
HttpServletRequest request = (HttpServletRequest) externalContext.getRequest();
// ...

The ExternalContext http://docs.oracle.com/javaee/6/api/javax/faces/context/ExternalContext.html顺便还提供了一些直接的方法来获取所需的信息。检查从以下内容开始的方法getRequestXxx()例如getRequestHeaderMap(), getRequestContentType()等在javadoc http://docs.oracle.com/javaee/6/api/javax/faces/context/ExternalContext.html.

您不需要为此使用另一个 servlet。 JSF 已经FacesServlet作为唯一的请求/响应控制器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取请求头、远程地址和其他HttpServletRequest特定信息? 的相关文章

随机推荐

  • 如何在qt中通过QSignalMapper传递参数

    我想用Qt制作一个下载器 我在使用 QSignalMapper 时遇到问题 QNetworkReply中有信号 downloadProgress qint64 qint64 我有很多下载任务 所以我使用 QSignalMapper 来处理信
  • _CRTDBG_MAP_ALLOC 不显示文件名

    我正在尝试检测内存泄漏 并且使用 make CRTDBG MAP ALLOC 宏来定位泄漏区域 所以我定义 MACRO 如下 ifdef DEBUG define CRTDBG MAP ALLOC include
  • Tomcat自行关闭

    我在 CentOS 6 5 64 位和 OpenJDK 1 7 64 上运行 Tomcat 7 0 53 我有几台服务器 偶尔 例如每周随机一次 Tomcat 会正常关闭自己 我已经研究这个问题几个月了 但找不到原因 唯一的模式似乎是很长一
  • 命名元组错误[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试使用namedtuple 将Python 对象序列化为JSON 但我收到这个错误 谷歌没有帮助 Traceback most r
  • ASP.NET MVC:在数据输入表单中搜索

    感谢您的阅读 我正在构建一个数据输入表单 我试图找出一种方法 让用户提供一个条件 例如姓氏 在员工表中搜索符合条件的所有员工 以他们可以选择正确员工的方式显示结果 然后通过该员工的 ID 返回到数据输入表单 以便他们可以完成记录并保存 Th
  • HTML2PDF 对日语 (utf8) 的支持不起作用

    对于 PHP 中的报告生成 我使用 HTML2PDF 它适用于英语 但无法为日语提供正确的输出 如何在 hHTML2PDF 库中设置 utg8 字符 有没有办法在 HTML2PDF 库中实现这一点 我得到的输出类似于 而不是日语文本 在 v
  • 在 iOS 中将日期格式化为 dd-MMM

    我一直在寻找这个但找不到它 我在 NSDictionary 中有一个包含 NSDate 的对象 现在标准的 NSDate 对象相当长 我想以 dd MMM 格式向用户显示 例如 原始日期可能是2012 04 23 00 00 00 0000
  • @-moz-document url-prefix() 的作用是什么?

    在西蒙 科里森的新中旧的响应式网页设计 https colly com v4 在CSS中 有几个这样的声明 moz document url prefix fl float left margin 12px 4px 0 0 padding
  • AFHTTPSessionManager 使用基于 SOAP 的服务

    我查了几个帖子 this https stackoverflow com questions 24181844 how to convert afnetworking service invoke to use afhttpsessionm
  • 作为 System.Net.Mail 附件的流为 0 字节

    我有一个项目 我正在使用 PDF 生成器将文件发送给用户 我们希望为用户提供将此文件附加到电子邮件的选项 但我们在同时使用 Stream 对象和附件逻辑时遇到了问题 我们从 ABCpdf 开始 它有两种保存方法 它可以保存到 Stream
  • 为什么JVM堆不断增长?

    我编写了一个简单的程序并使用 jconsole exe 来监视其堆大小 public class HeapTest public static void main String args while true Here is the res
  • 构建通知时出错

    我正在使用这个教程http www vogella com articles AndroidNotifications article html http www vogella com articles AndroidNotificati
  • 通过 jquery ajax 提交联系表单时出错

    基于此question https stackoverflow com questions 15767317 initialize javascript in php script for a contact form我不得不重写我的联系表
  • AngularJS ng-repeat 处理空列表情况

    我认为这将是一个很常见的事情 但我找不到如何在 AngularJS 中处理它 假设我有一个事件列表并想用 AngularJS 输出它们 那么这很简单 ul li event title li ul 但是当列表为空时我该如何处理呢 我想要一个
  • 为什么我收到“无法发送 GpuChannelMsg_CreateCommandBuffer”错误?

    我收到以下错误 DevTools listening on ws 127 0 0 1 49722 devtools browser e3cdef84 2a4f 4829 8cb2 4baf45efa446 0903 065243 722 E
  • strcpy() 和字符串数组

    我需要将用户的输入存储到字符串数组中 include
  • Ninject 和 DataContext 处置

    我正在使用 Ninject 从内核检索 DataContext 我想知道 Ninject 是否自动处置 DataContext 或者他如何处理 dispose 行为 根据我自己的经验 我知道处理数据上下文非常重要 并且每当您创建 DataC
  • 使用 R 合并重复列

    我有一个包含 4 列的表 其中第 1 3 列和第 2 4 列代表相同的变量 Codes Description Codes Description xxxxx describes xxxxx zzzzz describes zzzzz yy
  • CreateFile()串行通信问题[重复]

    这个问题在这里已经有答案了 我试图通过 USB 端口 名为 COM15 进行一些串行通信 但出现错误 这是发生错误的代码 HANDLE myPortHandle CreateFile COM15 GENERIC READ GENERIC W
  • 如何获取请求头、远程地址和其他HttpServletRequest特定信息?

    我有一个 JSF 2 0 Web 项目 我的 Web 有一个表单 它必须执行以下操作 获取表单的参数并将其保存在Bean中 完成 从 servlet 获取此信息 远程地址 远程主机 区域设置 内容类型 边界 内容长度 字符编码 将Bean数