[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 件のコメント:
コメントを投稿