Google App Engine 第七回
- 2015年10月14日
- CATEGORY- 1. 技術力{技術情報}
Slim3とは
Slim3とはGoogle App Engine/Javaに最適化されたフルスタックMVCフレームワークです。
Slim3を使ったページの作成方法1
コントローラの作成
1. build.xmlを右クリック > Run As > 2. Ant Build を選択し、
Ant Input Request [Input a controller path] popup window を開いてください。
2. コントローラのパスを入力します。
今回は[/memo/]と入力してください。
最後のスラッシュが大事なポイントです。
[/memo/]は[/memo/index]の短縮形で、上記コマンドを入力することで、
[{package}/controller/memo/IndexController.java, {package}/controller/memo/IndexControllerTest.java, war/memo/index.jsp]が自動生成されます。
3. {package}/controller/memo/IndexController.java, {package}/controller/memo/IndexController.java, war/memo/index.jspが生成されました。
コントローラの内容確認
1. {package}/controller/memo/IndexContorller.java
[/memo/]が開かれると、[biz.e_zero.slim3_test.controller.memo.IndexController#run()]が実行されます。
runの戻り値は遷移先のパスです。
package biz.e_zero.slim3_test.controller.memo; import org.slim3.controller.Controller; import org.slim3.controller.Navigation; public class IndexController extends Controller { @Override public Navigation run() throws Exception { return forward("index.jsp"); } }
2. {package}/controller/memo/IndexControllerTest.java
IndexController.javaのテストケース(JUnit)です。
Controllerの変更に合わせてテストケースの変更を行ってください。
テストケースを右クリック => Run As => JUnit Test を選択して、テストを実行してください。
package biz.e_zero.slim3_test.controller.memo; import org.slim3.tester.ControllerTestCase; import org.junit.Test; import static org.junit.Assert.*; import static org.hamcrest.CoreMatchers.*; public class IndexControllerTest extends ControllerTestCase { @Test public void run() throws Exception { tester.start("/memo/"); IndexController controller = tester.getController(); assertThat(controller, is(notNullValue())); assertThat(tester.isRedirect(), is(false)); assertThat(tester.getDestinationPath(), is("/memo/index.jsp")); } }
3. war/memo/index.jsp
<%@page pageEncoding="UTF-8" isELIgnored="false" session="false"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> <%@taglib prefix="f" uri="http://www.slim3.org/functions"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>memo Index</title> </head> <body> <p>Hello memo Index !!!</p> </body> </html>
動作確認
プロジェクトトップを選択して、右クリック => Debug As => Web Applicationを選択して、GAEサーバを起動してください。
起動ログ
8 05, 2015 2:12:28 午前 com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml 情報: Successfully processed C:\Users\Shinichi\Documents\ws-test\slim3_test\war\WEB-INF/appengine-web.xml 8 05, 2015 2:12:28 午前 com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml 情報: Successfully processed C:\Users\Shinichi\Documents\ws-test\slim3_test\war\WEB-INF/web.xml 8 05, 2015 2:12:28 午前 com.google.appengine.tools.development.SystemPropertiesManager setSystemProperties 情報: Overwriting system property key 'java.util.logging.config.file', value 'C:\WinApp\Development\eclipse\plugins\com.google.appengine.eclipse.sdkbundle_1.9.22\appengine-java-sdk-1.9.22\config\sdk\logging.properties' with value 'WEB-INF/classes/logging.properties' from 'C:\Users\Shinichi\Documents\ws-test\slim3_test\war\WEB-INF\appengine-web.xml' 8 05, 2015 2:12:28 午前 com.google.apphosting.utils.jetty.JettyLogger info 情報: Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger 8 05, 2015 2:12:29 午前 com.google.apphosting.utils.jetty.JettyLogger info 情報: jetty-6.1.x Slim3 HOT reloading:true 8 05, 2015 2:12:30 午前 com.google.apphosting.utils.jetty.JettyLogger info 情報: Started SelectChannelConnector@127.0.0.1:8888 8 05, 2015 2:12:30 午前 com.google.appengine.tools.development.AbstractModule startup 情報: Module instance default is running at http://localhost:8888/ 8 05, 2015 2:12:30 午前 com.google.appengine.tools.development.AbstractModule startup 情報: The admin console is running at http://localhost:8888/_ah/admin 8 05, 2015 2:12:30 午前 com.google.appengine.tools.development.DevAppServerImpl doStart 情報: Dev App Server is now running
[http://localhost:8888/memo/]にアクセスし、”Hello memo Index !!!”のメッセージが表示されれば正常に動作しています。
次回は「Slim3を使ったページの作成方法2」をご紹介します。
【関連記事】
Google App Engine 第一回
Google App Engine 第二回
Javaのライブラリを手軽にテストしたい!! Groovy入門 第1回
Google App Engine 第三回
Google App Engine 第四回
Google App Engine 第五回
Google App Engine 第六回
- 2015年10月14日
- CATEGORY- 1. 技術力{技術情報}