【问题标题】:How to hide index.jsp in url如何在 url 中隐藏 index.jsp
【发布时间】:2015-08-03 06:21:02
【问题描述】:

在我的 java ee 项目中,我将欢迎页面映射为

<welcome-file-list>
    <welcome-file>Login.jsp</welcome-file>
</welcome-file-list>  

正确登录后,我转到index.jsp。这是我的家。我需要的是在 url 中隐藏 index.jsp。仅限localhost://EMS

通常它不会在 url 中显示 index.jsp。但有时我按后退箭头键最终我转到http://localhost:8080/EMS/index.jsp

有什么办法可以隐藏吗?我目前没有使用任何与 java 相关的框架。我也使用apache tomcat。

【问题讨论】:

  • 登录成功后如何导航到 index.jsp?
  • 看看this类似问题
  • @NamanGala response.sendRedirect("index.jsp");使用那个
  • Usually it doesn't show index.jsp in url 那么它显示了什么?
  • @BackSlash 我没有映射 index.jsp。因为我从不在浏览器中调用它。它是用户网页文件夹。没有特别的地方。作为您的回答,我不需要任何 url 模式。

标签: java jsp tomcat


【解决方案1】:

是的,通过使用:

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

见“Configuring Welcome Files”。

index.jsp开头,需要检查用户是否登录,如果没有,重定向到login.jsp。如果不希望用户在 URL 中看到login.jsp,则需要include the JSP instead

如果您想确保用户永远不会看到index.jsp,则需要检查请求 URL,并在 URL 以 /index.jsp 结尾时使用 response.sendRedirect() 重定向到 /

【讨论】:

  • 我用索引控制 servlet 试过这个东西。并且该 servlet 设置为欢迎文件。如果会话不为空,则转到 servlet,然后转到 index.jsp。这是“/”。如果会话为空,我将加载回登录。不幸的是,它给了我内存泄漏。
  • 该方法本身不会导致内存泄漏。您的代码中有另一个错误,或者您没有为 VM 提供足够的内存。如果没有其他信息,我无法为您提供帮助。
  • 是的,这是因为我的项目又是一次愚蠢的购买。你的方法很完美。谢谢。
【解决方案2】:

为此,您必须将 JSP 文件映射到 web.xml 文件中。

<servlet>
    <servlet-name>index</servlet-name>
    <jsp-file>path/index.jsp</jsp-file>
</servlet>
<servlet-mapping>
    <servlet-name>index</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

您将能够访问网址http://localhost:8080/EMS/

【讨论】:

    【解决方案3】:

    我认为您最好将 index.jsp 设为欢迎页面并检查用户是否已登录,然后从该页面重定向到 login.jsp。

    【讨论】:

    • 请检查我给亚伦的答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-14
    • 2015-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多