Struts1.2を軽くさわった時のメモ


## 環境
Windows
Eclipse3.7
java1.7
Tomcat7

## Struts 環境構築時の注意点
まずはeclipseとTomcatのバックアップをとってから開始する。

(既存のTomcatプロジェクトに"Struts サポート追加" コマンドを使うためのプラグイン等まとめ)

![](http://snag.gy/NtghQ.jpg)

- JDK    ⇒ 最新バージョンで OK (2014/03/26 現在は jdk8)

### eclipse 　
- 4.xx系は Struts に非対応のため使用不可。 　　
- ※3.7.2 Indigo で動作することを確認済また、64bit 版、32bit 版どちらの eclipse でも使用可能 (pleiades も使用可)。

### Tomcatプロジェクトを作成できるようにする
![http://snag.gy/6Uqlx.jpg](http://snag.gy/6Uqlx.jpg)  

[http://www.eclipsetotale.com/tomcatPlugin/tomcatPluginV33.zip](http://www.eclipsetotale.com/tomcatPlugin/tomcatPluginV33.zip)

- ダウンロードしたzipファイルをECLIPSE_HOME/pluginsに配置
- Macではupzipしたファイルの中のcom.sysdeo.eclipse.tomcat_3.3.0ファイルをpluginsディレクトリに配置しないと反映されない
- 7.xx 以下のバージョンを使用すること
- ※eclipse の Tomcat プラグインが 7.xx までしか対応していないため。 　　　
- なお、Tomcat プラグインは最新バージョンで OK (2014/03/26 現在は V3.3.0)

### GEF
- 最新バージョンで OK (2014/03/26 現在は V3.9.1)

[http://www.eclipse.org/modeling/download.php?file=/tools/gef/downloads/drops/3.9.1/R201308190730/GEF-ALL-3.9.1.zip](http://www.eclipse.org/modeling/download.php?file=/tools/gef/downloads/drops/3.9.1/R201308190730/GEF-ALL-3.9.1.zip)
- ダウンロードしたzipファイルを解凍するとeclipseができる。その中のフォルダをそれぞれ一致するフォルダにコピーする。

### HTMLeditor 　
- バージョン 2.0.4 を使うこと 　　
- ※最新バージョン(2014/03/26 現在は V2.2.0)では動作しないことを確認済
- [http://osdn.jp/frs/redir.php?m=jaist&f=%2Famateras%2F24128%2Ftk.eclipse.plugin.htmleditor_2.0.4.zip](http://osdn.jp/frs/redir.php?m=jaist&f=%2Famateras%2F24128%2Ftk.eclipse.plugin.htmleditor_2.0.4.zip)
- ダウンロードしたzipファイルをECLIPSE_HOME/pluginsに配置してください。

### StrutsIDE
- バージョン 2.0.4 を使うこと 　　
- ※最新バージョン(2014/03/26 現在は V2.0.7)では動作しないことを確認済  
- [http://osdn.jp/projects/amateras/downloads/24130/tk.eclipse.plugin.struts_2.0.4.zip/](http://osdn.jp/projects/amateras/downloads/24130/tk.eclipse.plugin.struts_2.0.4.zip/)
- ダウンロードしたzipファイルをECLIPSE_HOME/pluginsに配置してください。

### Logj4
- 最新バージョンで OK (2014/03/26 現在は V1.2.17)   [http://ftp.jaist.ac.jp/pub/apache/logging/log4j/1.2.17/log4j-1.2.17.zip](http://ftp.jaist.ac.jp/pub/apache/logging/log4j/1.2.17/log4j-1.2.17.zip)

【設定方法】 ダウンロードしたzipファイルをECLIPSE_HOME/pluginsに配置してください。 


## プロジェクトの作成方法
Tomcatプロジェクトから新規作成＞プロジェクト右クリック＞Struts サポート追加でStrutsプロジェクトにする
### 足りていないライブラリをWEB-INF＞libに配置しBuildPathに追加する

**commons-logging.jarを1.2のものに置き換える**
![ScreenClip.png](https://qiita-image-store.s3.amazonaws.com/0/33237/7a0a1dd9-2b0b-c5d1-e837-383aa70c774d.png)


## DBの接続
project name : StrutsCRUD_last
db name : kadaidb

TOMCAT_HOME\conf\Catalina\localhost\StrutsCRUD_last.xml

```xml
<Context
path="/StrutsCRUD_last" 
reloadable="true" 
docBase="C:\Users\AYA\Documents\eclipse\eclipse3.7_sr2\workspace\StrutsCRUD_last" 
workDir="C:\Users\AYA\Documents\eclipse\eclipse3.7_sr2\workspace\StrutsCRUD_last\work">

    <Resource 	name="kadaidb"
		auth="Container" 
		type="javax.sql.DataSource"
               	maxActive="100" 
		maxIdle="30" 
		maxWait="10000"
        username="root" 
		password="password" 
		driverClassName="com.mysql.jdbc.Driver"
        url="jdbc:mysql://localhost:3306/kadaidb?autoReconnect=true"/>
</Context>
```
web.xml

```xml
<resource-ref>
	<res-ref-name>kadaidb</res-ref-name>
	<res-type>javax.sql.DataSource</res-type>
	<res-auth>Container</res-auth>
</resource-ref>
```

dao.java

```java
	public static Connection getConnect() throws ClassNotFoundException, SQLException {
		Connection con = null;
		try {
			Context context = new InitialContext();
			if (context == null) {
				throw new Exception("Contextがありません");
			}
			DataSource ds = (DataSource) context
					.lookup("java:comp/env/kadaidb");
			con = ds.getConnection();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return con;
	}
```

## エラー
propertiesファイルの文字化けはnative2asciiコマンドを使い、ファイルを変換しなおすと治る。