読者です 読者をやめる 読者になる 読者になる

Gobble up pudding

プログラミングの記事がメインのブログです。

MENU

MacでSAStrutsの環境構築とチュートリアルのセットアップ

f:id:fa11enprince:20170106160736j:plain SAStrutsのチュートリアルのセットアップ方法のMac版です。 過去記事はこちら fa11enprince.hatenablog.com

eclipseをインストールします

ダウンロードしてインストールします。 ちなみにMacだといろいろついているpleiades All in Oneはないので 普通にJava EE用のインストーラーを落としてください。 https://eclipse.org/downloads/
workspaceは ~/eclipse/jee-neon/Eclipse.app/Contents/Eclipse/workspace
とかのほうがいいです。場所はDocuments以外だとどこでもいいと思います。
DocumentsだとiCloud配下になってしまうので(Sierra以降) iCloudの配下にあると同期の関係でなぜかCleanしてもファイルが最新にならないという問題が置きます。 El CapitanまでならDocuments配下にworkspaceがあってもいいと思います。

Tomcatのインストール

homebrewの導入は簡単なので割愛します。
homebrewを使って以下のコマンドを実行します

$ brew install tomcat  

/usr/local/Cellar/tomcat/8.5.9
にインストールされます。

Super Agile Strutsチュートリアルをインポートします

ここからダウンロードします
http://sastruts.seasar.org/download.html

ダウンロードしたものをEclipseにインポートします
まずはファイルを解凍してそれをインポートします。
File > import > General > projects from Folder or Archive

Seasar2のプラグインを入れておきます。

Help > Install New Software > add
Name : Seasar Plugin 3.3
Location: http://eclipse.seasar.org/updates/3.3/
チェックするのはDolteng, ResourceSynchronizer, SAStrutsPluginだけです。

An error occurred while collecting items to be installed
session context was:
が出たら
http://stackoverflow.com/questions/14866656/can-not-install-android-adt-21-1-on-eclipse-juno-windows-7-after-upadate-to-sd/14896322#14896322
を参考に一番下のチェックConcat all update sites during install to find required softwareを外します。

Tomcatプラグインを最新のものをいれる

Market Placeより
Eclipse Tomcat Plugin 9.1.2をいれる

プロジェクトを動的モジュールに変換します

プロジェクトを右クリック Configure(構成) > Convert to Faceted form ...
Dynamic Web Module(動的Webモジュール)に
これでSeasar2のコンパイルが通るはず

サーバの作成

サーバービューから新規作成
Apache > Tomcat 8.5
を選ぶ
Tomcat installation directoryに下記PATHを貼り付け

/usr/local/Cellar/tomcat/8.5.9/libexec

そのあと、
sa-struts-tutorialのwarを追加します。 ※インストールしたパスを忘れてしまった場合は brew info tomcat でわかります。最後にlibexecをつけましょう。 ちなみにですがこのパス/usr/localはFinderだとCtrl+Shift+Gじゃないとアクセス出来ないと思いますので。。。

もう一度プロジェクトを右クリック

右クリック > Properties(プロパティ) > Project Facets(プロジェクトファセット)
Dynamic Web Module(動的Webモジュール) > 右側のRuntimeで
Apache Tomcat v8.5をチェック

デプロイメントアセンブリーの変更

また、プロジェクトを右クリック > Properties(プロパティー)で
Deployment Assembly(デプロイメント・アセンブリー)を選択します。
/WebContent /というのがあるので除去します。

追加ボタンよりフォルダーを選択します。
/src/main/webapp でデプロイ先を / にします。

サーバーを起動します

サーバービューの右クリックから起動して
ブラウザから
http://localhost:8080/sa-struts-tutorial/
にアクセスできればOKです。

ちなみにhttp://localost:8080/ にアクセスすると404になりますが、気にしないでください。
https://teratail.com/questions/11096 基本的にここまででOKです。

動かしたときにrequestのログが出ないようにします

ここは追加です。 web.xmlのrequestDumpFilterに次のを追加します。

    <filter>
        <filter-name>requestDumpFilter</filter-name>
        <filter-class>org.seasar.extension.filter.RequestDumpFilter</filter-class>
        <init-param>
            <param-name>beforeContextAttribute</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>afterContextAttribute</param-name>
            <param-value>false</param-value>
        </init-param>
    </filter>

init-paramを2つ追加します。

猫マークからTomcatを起動したい&Tomcatプロジェクトのほうが何かと便利って場合

追加で設定をします。
eclipseのサーバービューだと何かと不便があるので、次のように追加で設定します。

これをするとEclipseの上側にある猫マークでTomcatを起動できます。 環境設定から

Tomcatバージョン:  
Tomcat version 8.x
Tomcat Home:  
/usr/local/Cellar/tomcat/8.5.9/libexec

Applyを押します。
次にプロジェクトの設定をします。

プロジェクト右クリック  
Properties >Tomcat  
Tomcatプロジェクトにチェック  
コンテキスト名: sa-struts-tutorial  
Webアプリケーションルートとするサブディレクトリ:  
/src/main/webapp

Applyを押して終了です。 この場合猫マークが使えます。

MacのEclipseでmarket placeが使えない[解決済み]

f:id:fa11enprince:20160417051906j:plain 自分のmacOS SierraでeclipseのMarket PlaceからEclipse Tomcat Plugin 9.1.2をいれようとするとエラーが発生したのでその時のメモです。根本的な解決は行えませんでしたが、一応JavaとEclipseを入れ直すことで解消しました。
元々の環境はeclipse Mars.2, jdk 1.8.0_51でした。

その時の備忘録です。 同じ問題にはまっている人が多そうなのでメモとして書いておきます。
一番お手軽な解決策はjavaとeclipseをほぼ完全消去(ほぼ、というのは完全に消しされていないものがあるような気がするからです)した上で、
javaとeclpseをいれなおせばOKです。

これは想像なのですが、おそらく
${JAVA_HOME}/jre/lib/security/cacerts
にあるjava CAがなぜか壊れていたのだと思います。

Stackoverflowで類似の質問がめちゃくちゃありましたがどれも解決に至らず。

以下長々とした記録です。

エラー発生

日本語

http://tomcatplugin.sf.net/update/site.xml のリポジトリーを読み取ることができません。  
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target  

英語

Unable to read repository at http://tomcatplugin.sf.net/update/site.xml.  
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target  

http://tomcatplugin.sf.net/update/site.xml のリポジトリーを読み取ることができません。
のエラーが出た

試したこと

「直接」から「ネイティブ」に変更

効果なし

javaにサーバ証明書を入れる

効果なし

まずFireFoxなどでhttp://tomcatplugin.sf.net/update/site.xmlにアクセスします。
たぶんsource.forgenetに飛ばされます。
ブラウザで保護された通信から証明書を表示します。

GeoTrust Global CA  
  名前忘れたけどここに中間証明書  
    *.sourceforge.net  

Firefoxならブラウザ上からかきだせます
知識不足でルートの方を追加すればいいのかルートじゃない方を追加すればいいのかわからず
結局全部入れました。
全部デスクトップに書き出します。

JAVA_HOMEが設定されていないと不便なので設定します
僕の場合はjdk.1.8.51でした。
ここはWindowsとだいぶ違うところです。/usr/libexec/java_homeというjavaのバージョンを管理してくれているツールがあります。

$ vi ~/.bashrc  
export JAVA_HOME=`/usr/libexec/java_home`  
$ bash  
$ echo ${JAVA_HOME}  
/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home  

そのあと

$ ls ${JAVA_HOME}/jre/lib/security/cacerts  
/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home/jre/lib/security/cacerts  

となっていることを確認して、

$ sudo keytool -import -trustcacerts -file ~/Desktop/GeoTrust\ Global\ CA.cer -keystore ${JAVA_HOME}/jre/lib/security/cacerts -alias ca -storepass "changeit"  
証明書は、別名<geotrustglobalca>のキーストアにすでに存在します  
追加しますか。[いいえ]:  y  
証明書がキーストアに追加されました  

あれ?すでにあるんかい…と思いながら続行
ちなみにchangeitがデフォルトのキーストアのパスワードです。
ここでmarket placeにつなぐも同様のエラー

$ sudo keytool -import -trustcacerts -file ~/Downloads/sourceforge.net.crt -keystore ${JAVA_HOME}/jre/lib/security/cacerts -alias sourceforge -storepass "changeit"  
この証明書を信頼しますか。 [いいえ]:  y  
証明書がキーストアに追加されました  

ここでmarket placeにつなぐも同様のエラー

よくわかってないので中間証明書も入れておきました

sudo keytool -import -trustcacerts -file ~/Downloads/GeoTrustSSLCA-G3.crt -keystore ${JAVA_HOME}/jre/lib/security/cacerts -alias geotrustsslca -storepass "changeit"  

ここでmarket placeにつなぐも同様のエラー

一応確認して見るも…ちゃんと登録されてる

$ keytool -v -list -keystore ${JAVA_HOME}/jre/lib/security/cacerts | less  

eclipse.iniに設定を追加

-Djavax.net.ssl.trustStore=/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home/jre/lib/security/cacerts  
-Djavax.net.ssl.trustStorePassword=changeit   

2行を追加しました。
効果はありませんでした。

eclipseのネットワーク設定をいじくる

効果なし
直接になっているものをマニュアルやネイティブに変える

以前SOCKSで似たような問題が出たが、消すことで解消したが、消せない
→これはproxy環境下の話で、現在のバージョンではsocksに情報を入力しなければいいそうな。

eclipseの利用可能なサイトの一覧をいじくる

効果なし

前準備として一覧を消しておく。

$ /Applications/Eclipse.app/Contents/Eclipse/p2/org.eclipse.equinox.p2.repository  
rm -rf cache/*  

eclipseを立ち上げ直して
インストール/更新から
利用可能なサイト
http://tomcatplugin.sf.net/update/
を追加
これを選んで際ロード
→エラー

解決しないので最新版のEclipseを入れ直す

Eclipse MarsからEclipse neon 2に
→効果なし

たまにeclipseのコンソールに設定した覚えのないproxyの除外設定が出る。

効果なし
Macのネットワーク設定を見るとproxyがおかしい
システム環境設定 > ネットワーク > プロクシタブ > プロキシ設定を使用しないホストとドメイン
*.local, 169.254/16
と書かれているので消す。
これ自体は何の影響もなかった
これ自体はMacの不具合として書き込みが多数あった。

javaとeclipseを完全消去してjavaとeclipseを入れ直す。

治りました!!
eclipseはデフォルトの状態なら$HOME/eclipseにあると思うのでフォルダごと削除
javaについてはOracleの公式の説明があるんだけど、なんか足りない気がする…ので
http://www.toraneco.com/blog2/?p=1795
を参照。

$ sudo rm -rf /Library/Internet Plug-Ins/JavaAppletPlugin.plugin  
$ sudo rm -rf /Library/LaunchAgents/com.oracle.java.Java-Updater.plist  
Password:  
$ sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane  
$ sudo rm -rf /System/Library/Java/Support/CoreDeploy.bundle  
rm: cannot remove ‘/System/Library/Java/Support/CoreDeploy.bundle/Contents/Download Java Components.app/Contents/_CodeSignature/CodeResources’: Operation not permitted  
以下opreration not permittedのエラーが続く...  
$ sudo rm -rf ~/Library/Preferences/com.apple.java.util.prefs.plist  
$ sudo rm -rf ~/Library/Preferences/com.apple.java.util.prefs.plist.lockfile  
$ sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk  

エラーでたけど気にしない・・・
最新のJDKを入れる(最新じゃなくて同じバージョンでもよかったかもしれない)
最新のeclispeをインストールし直す。

無事つなぐことができました。
もし根本的な理由がわかる人がいましたらお知らせいただけると幸いです。

参考

http://stackoverflow.com/questions/7625943/unable-to-read-repository-at-http-download-eclipse-org-releases-indigo
http://qiita.com/nenokido2000/items/b36b6e5f0854d7d63ba6
http://www.toraneco.com/blog2/?p=1795

Apatana StudioをmacOS Sierraで使う

f:id:fa11enprince:20170113021038j:plain Aptana Studio 3をmacOS Sierraで立ち上げようとすると終了してしまいます。 Aptana Studioが予期しない理由で終了しました。」と強制終了します。
Sierraではデフォルトではセキュリティの理由で「すべてのアプリケーションを許可」を選べなくなっています。

「全てのアプリケーションを許可」解除

そこでまずターミナルを立ち上げて次を実行します。

$ sudo spctl --master-disable
Password:

パスワードを聞かれるのでパスワードを入力します。
そうすると、「全てのアプリケーションを許可」を選べるようになります。

システム環境設定

システム環境設定 > セキュリティとプライバシー > 一般タブ
ダウンロードしたアプリケーションの実行許可
すべてのアプリケーションを許可
このあと、Aptana Stdioのdmgファイルを再度インストールして実行すれば動きま...せん。

JDK最新版を入れる

Java SE 6が必要と起動時に言われた場合は
OracleからJDKの最新版(Java8)を入れてください。
起動すると、

The JVM shared library "/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/bin/../jre/lib/server/libjvm.dylib"
does not contain the JNI_CreateJavaVM symbol.

と出ます。

JavaForOSXを入れる。

http://support.apple.com/kb/DL1572?viewlocale=en_US&locale=en_US
んでここでJavaForOSXをダウンロードしてインストールします。

これでようやく使えるようになりますorz

ところでFinderからDocuments(書類)フォルダが見えないのはなんでだろう。。。 terminalからは見れるのに。 と思ったら、
http://applech2.com/archives/20160808-macos-sierra-icloud-drive.html
に書いてあるようにどうもSierraからiCloudの同期対象になったようでiCloudからは見られる模様。
Desktopもそうみたい。。。

参考情報

http://stackoverflow.com/questions/39664926/aptana-crashes-on-mac-os-sierra http://stackoverflow.com/questions/25914757/osx-yosemite-jvm-shared-library-does-not-contain-the-jni-createjavavm-symbol http://apple.stackexchange.com/questions/247127/documents-folder-not-visible-in-finder-on-macos

Seasar2の環境構築&動作確認のメモ(Java8)

f:id:fa11enprince:20150731131832j:plain Seasar2によるサンプルアプリを作成してみます。
今回はDoltengを使います。
Java8にSeasar2は対応していない部分があるので最初のDoltengとs2jdbc-gen-buildを使うときだけ Java7で進めます。 最後にJava8にします(その代わり以降Doltengが使えなくなります)。

1.前準備

JDKのインストール(Java8対応)

http://www.oracle.com/technetwork/java/javase/downloads/index.html
あたりからJava8(JDK8)のをインストールします

Eclipseのインストール

http://mergedoc.osdn.jp/ eclipse 4.5 Marsを推奨します。 Cドライブ直下に移動して解凍します。
eclipseというフォルダができています。

Tomcaのインストール

不要です。Eclipse付属のを使います。

もし別途Tomcatをインストールしたい場合は、 お好きなTomcatのバージョンのもの(Tomcat8あたりがおすすめ)をインストールしましょう。
その際mysql-connector-javaをTomcatのlib下に置き忘れないようにしましょう。
Tomcat8のディレクトリにmysql-connectorを置きます。
https://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.39
mysql-connector-java-5.1.39
をダウンロードして
C:\Program Files\Apache Software Foundation\Tomcat 8.0\lib
に置きます。

MySQLのインストール

バージョンは何でもよいのですがここからダウンロードしましょう!
http://dev.mysql.com/downloads/mysql/
versionは5.7が良いと思います。

MySQLのユーザ作成

コマンドプロンプトなどを立ち上げて

> mysql -uroot -p
> GRANT ALL PRIVILEGES ON *.* TO appuser@localhost IDENTIFIED BY 'password';
> SELECT Host, User FROM mysql.user;

を実行します。

Seasar2 pluginを入れる

以降の説明で基本的に英語表記のまま書きますが、きっと日本語環境だとあれれ?と思うところもあると思うので()内に日本語表記を併記します。

eclipseを立ち上げます。
Welcomeページが出ますが、無視して閉じます。
Help(ヘルプ) > New Install Software(新規ソフトウェアのインストール)から
Addボタンを押して

Name(名前): Seasar2 
URL(ロケーション): http://eclipse.seasar.org/updates/3.3/

でOKを押します。

Kijimuna
Resourcesynchronizer
S2JUnit4Plugin
SAStrutuPlugin

を選びNextを押します。あとは指示に従いインストールします。
最後にeclipseの再起動があります。

Seasar2アプリを作成

プロジェクトのセットアップ

Eclipseを立ち上げて 右クリック > New(新規作成) > Project(プロジェクト) > Dolteng Project とします。 次にプロジェクト名とルートパッケージ名ですが何でもよいです。

Project Name(プロジェクト名): myseasar2
Root Package Name(ルートパッケージ名): myseasar2

としておきましょう。

JRE Container(JREコンテナー)

Use an execution environment JRE(実行環境JREの使用): JavaSE-1.7  

JavaSE-1.8だとダメです。

Project Facet Settings (プロジェクトファセット設定)

Presentation: SAStruts
Persistence: S2JDBC
Server Management: WTP(Servlet 2.5)

を選んでFinish(完了)を押します。 そうするとすでにひな形が完成しています。

MySQL 関連する設定ファイルの書換え

Eclipseのworkspace\myseasar2001\src\resoruces\dataにある
demo.sqlを開きます。
最初の2行はMySQLでは通用しないので消して次の3行を追加します。

USE TEST;
CREATE TABLE EMP(ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT, EMP_NO INTEGER NOT NULL ,EMP_NAME VARCHAR(20),MGR_ID INTEGER,HIREDATE DATE,SAL NUMERIC(7,2),DEPT_ID INTEGER, VERSION_NO INTEGER);
CREATE TABLE DEPT(ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT, DEPT_NO INTEGER NOT NULL,DEPT_NAME VARCHAR(20),LOC VARCHAR(20), VERSION_NO INTEGER);

MySQLワークベンチを立ち上げてそのSQLを実行します。

次に src\main\resources\jdbc.diconを書き換えます。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
    "http://www.seasar.org/dtd/components24.dtd">
<components namespace="jdbc">
    <include path="jta.dicon" />
    <!-- ここから -->
    <!-- MySQL -->
    <component name="xaDataSource"
        class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
        <property name="driverClassName">
            "com.mysql.jdbc.Driver"
        </property>
        <property name="URL">
            "jdbc:mysql://localhost:3306/test?useUnicode=true&amp;useJDBCCompliantTimezoneShift=true&amp;useLegacyDatetimeCode=false&amp;serverTimezone=UTC"
        </property>
        <property name="user">"appuser"</property>
        <property name="password">"password"</property>
    </component>
    <!-- ここまで -->

    <component name="connectionPool"
        class="org.seasar.extension.dbcp.impl.ConnectionPoolImpl">
        <property name="timeout">600</property>
        <property name="maxPoolSize">10</property>
        <property name="allowLocalTx">true</property>
        <destroyMethod name="close" />
    </component>

    <component name="DataSource"
        class="org.seasar.extension.dbcp.impl.DataSourceImpl" />

</components>

test?以降がないと環境によっては

java.sql.SQLException: The server timezone value 'UTC' is unrecognized or represents more than one timezone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc timezone value if you want to utilize timezone support.

のようなエラーが出ます 別の回避策があるかもしれません。

src\main\resources\s2jdbc.diconも書き換えます。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
    "http://www.seasar.org/dtd/components24.dtd">
<components>
    <include path="jdbc.dicon" />
    <include path="s2jdbc-internal.dicon" />
    <component name="jdbcManager"
        class="org.seasar.extension.jdbc.manager.JdbcManagerImpl">
        <property name="maxRows">0</property>
        <property name="fetchSize">0</property>
        <property name="queryTimeout">0</property>
        <property name="dialect">mysqlDialect</property>
    </component>
</components>

pom.xmlの設定を変更します

mysql-connector-javaのバージョン6以上だと動作しないものがあります。 そのため5.1.39にしておきます。 さらにproject直下にあるpom.xmlを書き換えます

        <!--
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <version>1.0.69</version>
        </dependency>
        -->
        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.39</version>
        </dependency>

さらに問題のあるjavassistを変えておきます(Java8対応)

s2-frameworkが古いバージョンのjavassistに依存しているのでexclusionsを指定します。

        <dependency>
            <groupId>org.seasar.container</groupId>
            <artifactId>s2-framework</artifactId>
            <version>2.4.46</version>
            <!-- 追加 -->
            <exclusions>
                <exclusion>
                    <artifactId>javassist</artifactId>
                    <groupId>jboss</groupId>
                </exclusion>
            </exclusions>
            <!-- 追加 -->
        </dependency>
...
        <!--
        <dependency>
            <groupId>jboss</groupId>
            <artifactId>javassist</artifactId>
            <version>3.4.ga</version>
        </dependency>
        -->
        <!-- https://mvnrepository.com/artifact/org.javassist/javassist -->
        <dependency>
            <groupId>org.javassist</groupId>
            <artifactId>javassist</artifactId>
            <version>3.22.0-CR1</version>
        </dependency>

これを変えておかないと 500 - java.lang.RuntimeException: java.io.IOException: invalid constant type: 18 というエラーがでます。 ポイントは2つ s2-frameworkから古いjavassistをexclusionの指定。 また古いjavassistを新しいバージョンにします。

s2jdbc-gen-build.xmlの実行

mysql-connector-javaのVersionが6以上だとs2jdbc-gen-build.xmlが動きません しかし今は1.7にしてあるので大丈夫です。

Maven Repository: mysql » mysql-connector-java » 5.1.39 からmysql-connector-javaをダウンロードして mysql-connector-java-5.1.39をプロジェクトのlib下に置いて(エクスプローラーからコピー&Eclipse上でペーストでOKです)
lib下をリフレッシュ
プロジェクトトップで右クリック > Java Build Path(ビルドパス) > Libraries(ライブラリー)からJARの追加をする。
これをしないとビルドパスが通ってないので次に行うant buildが失敗します。

s2jdbc-gen-build.xml
の1行目
gen-ddlをgen-entityに変えて実行します。
s2jdbc-gen-build.xml

<project name="myseasar2-s2jdbc-gen" default="gen-entity" basedir=".">

右クリック Run As(実行) > External Tools Configurations(外部ツールの構成)
ダイアログの左側のAntビルドをダブルクリック
Target(ターゲット)タブでgen-entityになっているのを確認
Common(共通)タブでEncodingでUTF-8
JREタブでここだけJava7にします
Runを押します。

正常に実行できればクラスなどが自動生成されています。

備考

Java6だとエラーが発生します。
また、mysql-connector-javaのVersionが6以上だとs2jdbc-gen-build.xmlが動かない
mysql - mybatis generator "Column name pattern can not be NULL or empty" - Stack Overflow

Mavenのビルドをします

右クリック > 実行 > maven install
を実行します。
実行できない場合はMavenプロジェクトになっているかどうか確認してください。

Tomcatの設定

Server View(サーバー)でサーバーを新規作成します。
右クリック > 新規作成
Tomcat v8.0 Serverを選択しNextを押します。
サーバ・ランタイム環境はJava8でよいです
Add and Removeで
myseasar2があるので追加します。
Finishを押すとサーバーが作成されます。

実行します

Server ViewからStartを押します。
http://localhost:8080/myseasar2/
と押すとHello worldと出ていると思います。

Scaffoldを利用します

Java7じゃないとできません Window(ウィンドウ) > View(ビューの表示) > Dolteng > Database View(データベースビュー)
を出します。 Database Viewでs2jdbc.diconをダブルクリックすると DeptとEmpが出てくるのでそれぞれを右クリックして
Generate Scaffold Application(Scaffold アプリケーションの作成)を押します。 プロジェクトをリフレッシュするとviewなどが自動生成されています。

ソースコードを書き換えます。

src/main/webapp/WEB-INF/view/index.jsp
を書き換えます。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>トップページ</title>
</head>
<body>
<s:link href="dept">dept</s:link>
<s:link href="emp">emp</s:link>
</body>
</html>

再びブラウザを立ち上げて実行します。

リロードしましょう http://localhost:8080/myseasar2/

Java8化します

サーバを停止し、
プロジェクトを右クリック > Javaコンパイラー
Javaビルドパス上の実行環境JavaSE-1.7から準拠を使用のチェックを外し、コンパイラー準拠レベルを1.8にします。
適用を押します。
プロジェクト・ファセットを選び
Javaの部分の1.7を1.8に変更します。

以上で終わりです。

その他

なんかいろいろいじってたらサーバが立ち上がらない

java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component
というエラーが出る 過去の設定のごみが残っている可能性が高いので、手っ取り早いのはサーバービューから
新規にサーバを作成してモジュールを追加して実行する

それが嫌な場合はモジュールを除去して保存して消す。
追加しなおしてtomcatワークディレクトリをクリーン&通常のクリーン をする。

Java8にしたらエラーが…

Java8にしただけでは起きずJava8の特有の機能を使ったときに発生します。
500 - java.lang.RuntimeException: java.io.IOException: invalid constant type: 18
これが出た場合はjavassistを入れ替えましょう。対応方法はこのページに書いています。
また、これを対応した後古いjavassistが残っちゃってるのでクリーンしましょう。
私が対応したときは上記のようにごみが残っていたのでeclipse上のサーバーを作り直しました。