Java
servlet
Liberty

Liberty環境でサーブレットの作成

はじめに

Liberty環境でサーブレットが動作できるように構成します。

Derbyのダウンロード

Libertyから使用するDerbyをダウンロードして db-derby-10.14.2.0-lib.zip
[liberty_install_dir]/usr/servers/[server_name]/derby のディレクトリに jar ファイルを展開します。

Apache Derby: Downloads

dir
C:\opt\wlp\usr\servers\server1\derby\lib>dir
...
 C:\opt\wlp\usr\servers\server1\derby\lib のディレクトリ

2018/06/14  23:33    <DIR>          .
2018/06/14  23:33    <DIR>          ..
2018/06/14  23:33         3,232,770 derby.jar
2018/06/14  23:33             1,490 derby.war
2018/06/14  23:33           588,394 derbyclient.jar
2018/06/14  23:33            94,559 derbyLocale_cs.jar
2018/06/14  23:33           112,080 derbyLocale_de_DE.jar
2018/06/14  23:33           105,743 derbyLocale_es.jar
...

Libertyのserver.xml

Libertyの構成はserver.xmlを編集して行います。デフォルトで作成されたものだと SSL鍵のパスワードと管理ユーザーが未指定です。その指定とセッションDBにDerbyを指定したものが以下になります。server.xmlの場所は server.config.dir で

server.config.dir : [liberty_install_dir]/usr/servers/[server_name]

になります。

server.xml
<server description="new server">
    <featureManager>
      <feature>javaee-7.0</feature>
      <feature>sessionDatabase-1.0</feature>
      <feature>localConnector-1.0</feature>
    </featureManager>

    <keyStore password="password"/> 
    <basicRegistry id="basic" realm="BasicRealm">
        <user name="wasadmin" password="password"/>
    </basicRegistry>
    <httpEndpoint httpPort="9080" httpsPort="9443" id="defaultHttpEndpoint"/>
    <httpSessionDatabase id="SessionDB" dataSourceRef="SessionDS"/>

    <fileset id="DerbyFiles" includes="*.jar" dir="${server.config.dir}/derby/lib"/>
    <library id="DerbyLib" filesetRef="DerbyFiles"/>
    <jdbcDriver id="DerbyDriver" libraryRef="DerbyLib"/>

    <dataSource id="SessionDS" jdbcDriverRef="DerbyDriver" jndiName="jdbc/sessions">
    <properties.derby.embedded
            databaseName="${server.config.dir}/derby/sessiondb" createDatabase="create" />
    </dataSource>

    <applicationManager autoExpand="true"/>
</server>

Libertyの起動

Eclipseから起動させるときにはきになりませんが、コマンドラインから実行するときには以下の設定が必要です。server1の起動ができます。

cmd
set JAVA_HOME=C:\opt\eclipseJ9\ibm_sdk80
set PATH=C:\opt\wlp\bin;%PATH%
server start server1
サーバー server1 を始動中です。
サーバー server1 が始動しました。

server stop server1
サーバー server1 を停止中です。
サーバー server1 は停止しました。

Eclipseでサーブレット作成

File > New > Web Project で Web Projectを作成します。
image.png

Servlet > New > Servlet で作成します。
image.png

Servlet > Run As > Run On Server でアプリケーションを開始してサーブレットにアクセスします。
image.png

この手順を覚えていると簡単なテストがすぐにできるようになります。

参考

Liberty のセッション・パーシスタンスの構成
Liberty での関連データベース接続の構成
サーバー・コマンド・オプション