如何解决网址中以“/”结尾的作用是什么?
我有一个根据教程构建的项目,正在进行中。它在 Tomcat 服务器上本地使用 Hibernate 和 Java Servlets。我使用以下两个网址得到不同的结果:
- 本地主机:8080/MyProject/admin
- 本地主机:8080/MyProject/admin/
通过在 >=
的实现中执行的转发导致页面 login.jsp
的显示:
Servlet.Filter
但这两个页面似乎认为它们位于不同的地址。 JSP 页面中有一个 css 文件的链接。
RequestDispatcher dispatcher = request.getRequestDispatcher("/admin/login.jsp");
dispatcher.forward(request,response);
当我查看两个 URL 的“页面源”时,以下是将鼠标悬停在上述链接上时显示的地址:
<link rel="stylesheet" href="../css/styles.css">
因此,只有在我使用地址 localhost:8080/css/styles.css
localhost:8080/MyProject/css/styles.css
时才能找到 styles.css
文件。
有没有办法让 localhost:8080/MyProject/admin/
设置正确/预期的地址,以便用户可以添加或省略“/”,并仍然使用相同的功能到达相同的位置?
我在查找与“/”相关的语法信息时遇到了问题——我希望有一个指向背景信息或解释的链接。
解决方法
从 an article I found 看来,一个文件夹的地址可以以“/”结尾,也可以不以“/”结尾。这不是一个固定的情况。最重要的是保持一致。
由于 Servlets 代码正确解释了末尾带斜杠的表单,而另一个则没有,我得出的结论是,最好的计划是坚持使用斜杠版本,并使用 301 重定向处理非斜杠情况。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。