我有一个编译成tryJEdit.war文件的maven项目。 当我将其复制到tomcat文件夹并启动Tomcat时,我可以从以下位置访问该应用程序:
localhost: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文件中?
编辑&amp;扩展问题
在我尝试使用servlet doGet方法时:
ServletContext ctx = getServletContext();
InputStream is = ctx.getResourceAsStream("/re.pdf");
文件 re.pdf 实际上是在tryJEdit / re.pdf中搜索的,而不是localhost:8080 / re.pdf,但对于上面的情况,如果我发布到/ tugay然后我最终进入localhost:8080 / tugay没试过JEdit / tugay ......
问候。
答案 0 :(得分:1)
http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html#getContextPath()
<form method="post" action="<%=request.getContextPath()%>/tugay">
答案 1 :(得分:1)
要在没有scriptlet的情况下执行此操作,请尝试
<form method="post" action="${pageContext.request.contextPath}/tugay">