URLのパスの一部をパラメータとして受け取る方法
http://kuwalab.hatenablog.jp/entry/spring_mvc/004
@RequestMapping(value = "/hoge/{foo}/{bar}", method = RequestMethod.GET) public String urlpath(@PathVariable String foo, @PathVariable String bar) { return "hoge"; }
Java/TDD/SpringMVC/Backlog/Gitを使ったWebアプリ開発
URLのパスの一部をパラメータとして受け取る方法
http://kuwalab.hatenablog.jp/entry/spring_mvc/004
@RequestMapping(value = "/hoge/{foo}/{bar}", method = RequestMethod.GET) public String urlpath(@PathVariable String foo, @PathVariable String bar) { return "hoge"; }
hsqldb.bat を編集して引数を追加する。
インスタンスを識別できるように、番号を割り振る。
割り振った番号Nを、引数で割り当てる。
cd C:\pleiades45\hsqldb-2.3.4\hsqldb\lib java -cp hsqldb.jar org.hsqldb.Server --database.0 db/mydata --dbname.0 mydata --database.1 db/hoge --dbname.1 hoge
HSQLDBを再起動すると、複数のデータベースインスタンスが作られていることがわかる。
[Server@28a418fc]: [Thread[main,5,main]]: checkRunning(false) entered [Server@28a418fc]: [Thread[main,5,main]]: checkRunning(false) exited [Server@28a418fc]: Startup sequence initiated from main() method [Server@28a418fc]: Could not load properties from file [Server@28a418fc]: Using cli/default properties only [Server@28a418fc]: Initiating startup sequence... [Server@28a418fc]: Server socket opened successfully in 10 ms. [Server@28a418fc]: Database [index=0, id=0, db=file:db/hoge, alias=hoge] opened successfully in 555 ms. [Server@28a418fc]: Database [index=1, id=1, db=file:db/mydata, alias=mydata] ope ned successfully in 106 ms. [Server@28a418fc]: Startup sequence completed in 683 ms. [Server@28a418fc]: 2017-10-27 11:01:48.200 HSQLDB server 2.3.4 is online on port 9001 [Server@28a418fc]: To close normally, connect and execute SHUTDOWN SQL [Server@28a418fc]: From command line, use [Ctrl]+[C] to abort abruptly
EclipseからTomcatを起動しようとすると、「重大: 以前のエラーのためにコンテキストの起動が失敗しました」のような簡単なメッセージだけ表示して起動できないことがある。
Tomcatが起動しないときは、コンソールにエラーの内容を出力して原因を調べるのが良い。
コンソールにログを出力するには、以下の設定を行う。
プロジェクト・エクスプローラのServerにある「ローカルホストのTomcat8…」を右クリックし、[新規]-[ファイル]を選択する。
ファイル名を「logging.properties」とする。
作成した logging.properties ファイルをダブルクリックして編集する。
以下の内容を記述する。
handlers = java.util.logging.ConsoleHandler java.util.logging.ConsoleHandler.level = ALL java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
「ローカルホストのTomcat8…」を右クリックし、[プロパティー]を選択する。
ロケーションが表示されているので全体をコピーする。(例: C:\Users\…Tomcat8-config)
「ローカルホストのTomcat8…」を右クリックし、[実行]-[実行の構成]を選択する。
「引数」タブを選択し、「VM引数」の最後に以下の内容を追加する。
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="(ロケーションに表示されていたパス)/logging.properties"
設定を「適用」してTomcatを再起動すれば、コンソールにエラーの内容が表示される。
まずCSSやJavaScriptを保存するためのフォルダをwebappの下に追加する。
外部ファイルを読み込むための設定を mvc-config.xml に追加する。
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <context:component-scan base-package="jp.abc"/> <mvc:annotation-driven /> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- Example: a logical view name of 'showMessage' is mapped to '/WEB-INF/jsp/showMessage.jsp' --> <property name="prefix" value="/WEB-INF/view/"/> <property name="suffix" value=".jsp"/> </bean> <mvc:resources mapping="/css/**" location="/css/" /> <mvc:resources mapping="/js/**" location="/js/" /> </beans>
JSPファイルから読み込むには以下のように記述する。
<!DOCTYPE html> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> <html> <head> <meta charset="utf-8"> <title>サンプルのWebアプリですよ</title> <link rel="stylesheet" type="text/css" href="/css/main.css" /> <script type="text/javascript" src="/js/sample.js"></script> </head> <body> <h1>サンプルのWebアプリですよ</h1> </body> </html>
課題について補足
件名
件名は「何」に対して「どうする」のかを書くこと。ロバストネス図内のView(JSPファイル)・Controller(Javaファイル)・Entity(Javaファイル)や、設定ファイル(XMLファイル)、プロジェクトの内容や詳細を説明するWikiページ、画面に表示する画像ファイル、CSSファイル、JavaScriptファイルなどが「何」にあたる。
詳細
件名だけでわかるようなら詳細は書かなくてもよい。
コメント
Gitにコミット&プッシュする場合は、コミットのコメントに課題IDだけを書く。
自動的に、その課題のコメントに、GitのコミットIDが追加され、どのファイルが変更されたのかがわかるようになる。
Gitにコミット&プッシュしない変更を行った場合は、Wikiページはファイルなどへのリンクをコメントに貼って、その課題による成果がわかるようにすること。
これからのチーム開発のやりかた
課題の内容は、当日(1~2現の3時間)で完了できる内容にすること。
課題のタイトルは、ロバストネス図に書いた、画面・コントローラ・エンティティなどを書いて、それに対してどのような変更をするのかを記載し、課題で何を解決しようとしているのかが一目でわかるようにすること。
課題の詳細欄には、変更する具体的な内容や、変更するファイル名などを記載する。タイトルだけでわかるのであれば、書かなくてもよい。