埼玉在住エンジニアのナレッジ帳

webのエンジニアをやっており、日頃の開発で詰まったことについて残していきたいと思っています。https://ikujip.jpの開発も行っているため、そこで使った知識なども載せられればと思います。

JavaEE7でHello, World

ti-tomo-knowledge.hatenablog.com

でJFSを使ったFaceletsについて書きましたが、ここからは具体的にFaceletsを使った動作確認をしてみたいと思います。
まずは簡単に「Hello, World」の出力からです。
どこをググってもEclipseを使ったものの説明が多いので、Intellijを使った時の手順を共有します。

※バージョン情報
Java:8
Intellij:15
GlassFish:4.1.1

まずはIntellijを起動させて「Create New Project」で新規のプロジェクトを作りましょう。
Java Enterprise」を押すと、Javaのライブラリやフレームワークの選択画面になるのですが、
「Web Application」と「JFS」を選択して進んでください。
また、GlassFishについては以下でダウンロードし、

GlassFish

適当な場所に配置してこの画面で設定できるようにしてください。

f:id:tomotomo1129:20180614161755p:plain

「Project name」に適当な値を入力してください。
また、「Project location」でプロジェクトの配置を選択します。
僕の場合はusefulToolというプロジェクトを作りたいので、そのように入力します。

f:id:tomotomo1129:20180614161801p:plain

そうすると以下のようなディレクトリ構造が作られます。
JSFを選択したので、Faceletsのファイル(xhtml)が作られていることがわかります。

f:id:tomotomo1129:20180614161808p:plain

ソースの中身は自動でできるのですが、中身としては以下の感じになります。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
      xmlns:f="http://xmlns.jcp.org/jsf/core">
   <f:view>
      <h:outputLabel value="Hello, world"/>
   </f:view>
</html>

次に、実際の動作の設定ですが、
「Run」->「Edit Configurations」と進みます。
すると以下のようになっているかと思います。
Artifactsの設定がされていなければ、「Fix」を押下してください。

f:id:tomotomo1129:20180614161813p:plain

それを以下のように、localhost直下に「index.xhtml」が来るようにします。

f:id:tomotomo1129:20180614161820p:plain

そしてDeploymentタブに移動して「Use custom context root」にチェックを入れ、

f:id:tomotomo1129:20180614161825p:plain

実行させれば「Hello, World」の完成です。

f:id:tomotomo1129:20180614161829p:plain

簡単ですね!