0

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ファイルで?

質問を編集して拡張する

私が試したときにサーブレットのdoGetメソッドで:

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

ファイルre.pdfは実際には localhost:8080/re.pdf ではなく tryJEdit/re.pdf で検索されますが、上記の場合、 /tugay に投稿すると、 tryJEdit/tugay ではなく localhost:8080/tugay になります。 ..

よろしく。

4

2 に答える 2

1

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

<form method="post" action="<%=request.getContextPath()%>/tugay">
于 2013-10-20T00:38:55.590 に答える
1

スクリプトレットなしでそれを行うには、試してください

<form method="post" action="${pageContext.request.contextPath}/tugay">
于 2013-10-20T00:48:33.397 に答える