2

我正在使用 Apache Wicket,我想查看 http 请求本身(请求的确切文本,无需任何处理!)。我应该怎么办?

谢谢

4

3 回答 3

3

在 Wicket 1.4 中,您可以HttpServletRequest使用以下代码获取对象(这是请求的 servlet 表示形式,是您可以获得的最原始的):

HttpServletRequest req = ((WebRequest)RequestCycle.get().getRequest()).getHttpServletRequest();

但是,“没有任何处理”部分将无法工作,原因有两个:servlet 引擎本身将进行一些处理(如解码 url 参数),并且 Wicket 将消耗包含请求实体的输入流。

如果要监视原始请求,则必须在网络服务器级别拦截它。

于 2012-06-12T10:36:03.633 回答
3

对于 Wicket 1.5,您可以获取底层请求对象并将其转换为 HttpServletRequest:

HttpServletRequest request = ((HttpServletRequest) getRequest().getContainerRequest());
于 2012-06-11T15:47:09.710 回答
0
final Request request = RequestCycle.get().getRequest();
于 2012-06-11T15:58:17.580 回答