[Project-Folder]
...
src/ META-INF/ jdoconfig.xml
persistence.xml
[package] XXXServlet.java
war favicon.ico
idnex.html
WEB-INF/ appengine-web.xml
logging.properties
web.xml
classes/ ...
lib/ ...
war の下に、jsp フォルダを作って、HelloApp.jsp を配置する。
[Project-Folder]
...
...
war favicon.ico
idnex.html
WEB-INF/ appengine-web.xml
...
jsp/
HelloApp.jsp
こんな感じ。ServletとJSPはそれぞれ以下の通り。
HelloAppServlet:
public class HelloAppServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException, ServletException {
req.setAttribute("message", "Hello, world");
RequestDispatcher rd = getServletContext().getRequestDispatcher(
"/jsp/HelloApp.jsp");
rd.forward(req, resp);
}
}
HelloApp.jsp:
<%@ page import="java.util.*" contentType="text/html; charset=utf-8" %>
<jsp:useBean id="message" class="java.lang.String" scope="request"/>
<HTML><BODY>
message: <%= message %>
</BODY> </HTML>
とりあえずローカルではうまく動いたのでデプロイしてみる。
Preparing to deploy: Created staging directory at: ... Scanning for jsp files. Compiling jsp files. Scanning files on local disk. ....
前回にはなかった「Compiling jsp files.」というメッセージが増えている。
App Engine サーバー上で実行した結果、期待通りに JSP にディスパッチして動作している。
JSP ファイルを war 以下ではなく src 側に配置してどうなるか確認してみた。
[Project-Folder]
...
src/ META-INF/ jdoconfig.xml
persistence.xml
jsp/
HelloApp.jsp
[package] XXXServlet.java
war favicon.ico
...
こちらに配置してもビルドの時に war 以下にコピーされないかと期待したのだが、実行してみると
Problem accessing /jsp/HelloApp.jsp. Reason:
/jsp/HelloApp.jsp
あえなく失敗した。
やはり war 以下においておかないとだめみたいだ。
0 件のコメント:
コメントを投稿