在 URL 中使用尾部斜杠,jsp 显示源代码

With trailing slash in URL , jsp show source code

我们在 wildfly 8.1 上部署了应用程序。 jsps 一切正常,但每当我输入斜杠时,浏览器都会显示 jsp 的源代码。这是安全问题。

我可以在 wildfly 或 undertow 配置级别处理这个问题吗?

例如:

localhost:8080/TaskManager/login.jsp/ - 显示 jsp 源代码

localhost:8080/TaskManager/login.jsp - 完美

我知道的一个解决方案是将我所有的 jsp 放在 WEB-INF 中,但我希望在服务器级别处理它。

如果可能的话,如果可以的话怎么办?请帮忙

谢谢, 阿比纳夫

https://developer.jboss.org/message/927301#927301 上问了同样的问题,但还没有得到任何回复。

这似乎是 Undertow(WildFly 中的网络子系统)中的一个严重问题 - 我已经在 WildFly 问题跟踪器中报告了它:WFLY-4595

谢谢。错误已在 Undertow 主分支上解决。

https://developer.jboss.org/message/927301#927301查看此link了解更多详情。

Servlet filter class 有do filter方法。 这个方法写在下面的代码。

    Example: 
    String url = req.getRequestURL().toString();
    if(url.endsWith("/"))
       {
    ((HttpServletResponse) response).setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
    ((HttpServletResponse) response).sendRedirect(contextPath + ERROR_PAGE);
    return;
    }