将 JSP/JSTL 的 <c:url> 应用于 servlet 内的路径

Posted

技术标签:

【中文标题】将 JSP/JSTL 的 <c:url> 应用于 servlet 内的路径【英文标题】:applying JSP/JSTL's <c:url> to a path inside a servlet 【发布时间】:2011-04-10 23:20:40 【问题描述】:

在我们的 JSP 页面中,我们广泛使用。效果很好,重写了 URL 以处理 sessionid、上下文等。但是现在我们需要在一个将 HttpServletRequest 和 HttpServletResponse 作为 Spring Security 规范的一部分的类中完成一些工作。

如何将类型转换应用于 servlet 中的路径?我想我可以使用方案、主机、端口、上下文、路径和查询参数重建 URL(我错过了什么吗?)。但我希望有一个标准的方法来做到这一点,所以我知道它正在正确地完成。

【问题讨论】:

【参考方案1】:

HttpServletResponse#encodeURL()HttpServletResponse#encodeRedirectURL() 处理 sessionid。上下文可以通过HttpServletRequest#getContextPath()获取。

【讨论】:

感谢 BalusC。我知道重建 URL 的响应和请求方法,我只是希望有一个简单的标准方法,比如 JSTL 的 。这是我最终使用的路线。

以上是关于将 JSP/JSTL 的 <c:url> 应用于 servlet 内的路径的主要内容,如果未能解决你的问题,请参考以下文章

JSP 不打开 CSS、图像和 JS

在 JSP/JSTL 中使用 <c:forEach> 需要帮助

jsp: jstl标签库

java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config

web工程缺失servlet/jsp/jstl依赖的解决方案

jsp+jstl实现登录验证