Eclipse+JSF+JPAで作るアプリ(3)―Hello World(2)
後半です。
EclipseのJSF+JPAプロジェクトを作成する
1. Eclipseの[New]->[Other]->[Dynamic Web Project]を選択します。
2. Target Runtime=Glassfish 4を選択し、
Configurationの[Modify]ボタンを押して、JSF2.2と、JPA2.1のFacetsを追加します。
3. Javaのページではsrcフォルダが表示されますが、何もしません。
4. JPA Facetのページでは、Connectionのところから、Add Connectionのリンクをクリックします。
5. SQL Serverドライバの設定を入力していきます。
なお、ドライバは、次のURLから入手できます。
https://www.microsoft.com/ja-jp/download/details.aspx?id=11774
URL=jdbc:sqlserver://localhost:1433;databaseName=YourLibrary
Driver Class=com.microsoft.sqlserver.jdbc.SQLServerDriver
くらいが入力が大変な個所でしょうか。
ちなみにSQLServerのインストールの仕方次第(照合順序をJapanese‗BIN2というものでインストール)ですが、データベース名やテーブル名の大文字小文字を区別するので注意が必要です。
SQLServerのデフォルトでは、大文字小文字を区別しません。コードポイント法というバイナリ比較を指定するほうがよいでしょう。
6. Connectionのダイアログで、ユーザ名、パスワードを入力します。
[Test Connection]ボタンからデータベース接続を確認します。
成功すると、下のダイアログが表示されます。
接続に失敗する例ですが、ポート番号1433がSQLServer構成マネージャーで指定されていない、ファイアウォールの受信許可ができていない、データベース名が大文字小文字が異なる場合などです。
7. 次に、Web Moduleのページです。web.xmlを作成するにチェックを入れて[Next]を押します。
8. JSF-capabilitiesのページでは、faces/*となっている個所を、*.xhtmlと変更し、[Finish]を押します。
Hello World.の作成
WebContentの下に、以下のindex.xhtmlを作成します。
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html"> <h:head> <title>JSF+JPA</title> </h:head> <h:body> Hello world. </h:body> </html>
また、web.xmlのwelcome-fileに、index.xhtmlだけが含まれるよう書き換えます。
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> <display-name>YourLibrary</display-name> <welcome-file-list> <welcome-file>index.xhtml</welcome-file> </welcome-file-list> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.xhtml</url-pattern> </servlet-mapping> </web-app>
Glassfishへのデプロイ
アプリケーションサーバー上で、アプリケーションを使用できるように配置することをデプロイといいます。
Glassfishでは、autodeployというフォルダに置くと、自動でデプロイされます。C:\Java\glassfish4にインストールしている場合、以下のパスがautodeployになります。
C:\Java\glassfish4\glassfish\domains\domain1\autodeploy
デプロイされると、Glassfishのコンソール(http://localhost:4848)で、以下のように表示されます。
Hello worldへアクセスする。
http://localhost:8080/YourLibraryにアクセスし、
Hello worldが表示されることを確認しましょう。