我有一个Maven项目,可以将其编译为tryJEdit.war文件。
将其复制到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/

10-10 11:24