java - 如何在jsp中相对于应用程序根目录发布?

标签 java jsp tomcat

我有一个编译成 tryJEdit.war 文件的 Maven 项目。 当我将其复制到 tomcat 文件夹并启动 Tomcat 时,我可以从以下位置访问该应用程序:

本地主机:8080/tryJEdit

在 index.jsp 中我有:

<form method="post" action="tugay">

所以在表单发布后,我发现自己在:

localhost:8080/tryJEdit/tugay -> Which is fine..

但是当我将表单更改为:

<form method="post" action="/tugay"> 

我发现自己在:

localhost:8080/tugay

这不好。

有没有办法通过如下方式访问 localhost:8080/tryJEdit/tugay:

<form method="post" action="$APPLICATION_ROOT/tugay"> 

在 jsp 文件中?

编辑并扩展问题

在我尝试的 servlet doGet 方法中:

ServletContext ctx = getServletContext();
InputStream is = ctx.getResourceAsStream("/re.pdf");

文件 re.pdf 实际上是在 tryJEdit/re.pdf 中搜索的,而不是在 localhost:8080/re.pdf 中搜索的,但是对于上述情况,如果我发布到/tugay 那么我最终会在localhost:8080/tugay 不是 tryJEdit/tugay ...

问候。

最佳答案

http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html#getContextPath()

<form method="post" action="<%=request.getContextPath()%>/tugay">

关于java - 如何在jsp中相对于应用程序根目录发布?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19471905/

相关文章:

java - 文件在 Java Jersey API 中下载两次

java - 在可以与父线程通信的新线程上分派(dispatch)任务

java - JSP - 向 servlet 提交表单

java - 如何在修改后快速高效地在Tomcat本地服务器上测试项目

java - log4j2 没有输出文件?

java - 如何按添加位置从数据存储中获取条目? (Google 应用引擎和 JDO)

Java - 具有多个值的复杂数据结构和使用文件访问数据结构

java - 网页的滚动长度是否有限制?

jsp - 如何使用spring在单个jsp页面中动态生成多个表单?

单个服务器上的 session 集群 Tomcat + terracotta