Google App EngineでJSPを動かす
EclipseでGAEプラグインをインストールして、Web Applicationプロジェクトを作成したあと、できたプロジェクトの下のwarディレクトリに適当なJSPファイルを置きます。たとえばtest.jspとして、
<%@ page contentType="text/html; charset=UTF-8" import="java.util.*" %> <html> <head><title>JSP Sample</title></head> <body><p>The time is <%=new Date() %></p></body> </html>
プロジェクトを右クリックして"実行>Webアプリケーション"を選択して、ローカル環境にサーバを立ち上げ、ブラウザで
http://localhost:8080/test.jsp
にアクセスすると、
HTTP ERROR: 500 Error running javac.exe compiler RequestURI=/test.jsp Caused by: Error running javac.exe compiler at org.apache.tools.ant.taskdefs.compilers.DefaultCompilerAdapter.executeExternalCompile(DefaultCompilerAdapter.java:473) ...
おっとjavac.exeが実行できないだって?そういえば、プロジェクトエクスプローラでJSPファイルには×マークがついている。プロジェクトをつくったときに自動的につくられるHelloWorldサーブレットは普通に動いているし。web.xmlやappengine-web.xmlに何か記述しないといけないのか??
こたえは意外と単純、JDKじゃなくて、JREつかっていたということでした。
Eclipseのメニューから"ウィンドウ>設定"を開いて、"Java>インストール済みのJRE"でJDKが登録されていなかったら、追加ボタンを押してJDKを登録します。これで、JSPが実行できるようになりました。web.xmlに特になにか記述する必要はないようです。
ところで、ブラウザにJSPのエラーが表示されたとき、
Powered by Jetty://
って、GAE SDKのコンテナってJettyだったんだ