Javaについての個人的まとめ

#この記事について#
自分の備忘録として、Java全般についての自分の考えや調べたことを記載していきます。
ほぼリンク集として使用。
経験が浅いので、間違っていることもあると思いますがご容赦ください。

##JavaWebアプリ―ション##
<b>処理の流れ</b>

| 流れ       |       種別|受け渡すデータ|事項|       参照|
|:-----------------|:------------------|:------------------|:------------------|:------------------|
|↓|View|リクエスト|JSP>Formタグ|[JSP formデータ とJava Servletプログラムの連携](http://cartman0.hatenablog.com/entry/2015/12/08/181657)|
|↓|Control|リクエストを加工した値|サーブレット|[アノテーションが肝！ Servlet 3.0で作ったWebアプリの中身とは](http://www.atmarkit.co.jp/ait/articles/1607/01/news163_3.html)|
|↓|Model|記載予定|ロジック|記載予定|
|↓|Dao|記載予定|DAO(SQL問い合わせ処理)|記載予定|
|↓|Model|記載予定|ロジック|記載予定|
|↓|Control|リスポンス|サーブレット|記載予定|
|↓|View|記載予定|JSP|記載予定|



##例外処理##

<b>try-catch-finallyについて</b>
[Javaの道 2.try、catch、finally](http://www.javaroad.jp/java_exception2.htm)

[Java入門 throws と try catch](http://msugai.fc2web.com/java/throwstry.html)

[try文 例外処理 Java入門](http://www.javadrive.jp/start/exception/index2.html)

<b>try-catch-finallyの変数のスコープについて</b>
finally文のところでオブジェクトが使えないとエラーが出たときは、try文の中で宣言がされていることが原因の場合がある。
宣言をtry文から外出しすることで問題を回避できる。

[JAVA(JDBC)での例外処理についての質問です。](
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1412705374)

#ログ#

[ログに出力すべきもの](https://yyyank.blogspot.jp/2013/12/webwhat-do-you-need-logging-for-web.html)

#コンパイル#

動作確認レベルであったら、様々な手段でコンパイルを検討すること。
他にも手段があったら知りたい・・・。

Eclipseやローカルでのjavac、開発用サーバーにファイルを上げてのjavac

#Eclipse#

[Eclipseでコマンドライン引数を与えて実行する方法](http://fernweh.jp/b/main-argument/)

[実行可能なJARの作成]
(http://tigertaizo.hatenablog.com/entry/2015/06/01/124222)

<b>warを作成する</b>
Eclipse起動>プロジェクトエクスプローラー>該当プロジェクト>右クリック>エクスポート>Web>WARファイル

<b>外部Jarの追加</b>
Eclipse起動>プロジェクトエクスプローラー>該当のプロジェクト>右クリック>プロパティ>Javaのビルド・パス>ライブラリー>外部Jarの追加

<b>コマンドライン引数を与えて実行する</b>
[Eclipseでコマンドライン引数を与えて実行する方法](http://fernweh.jp/b/main-argument/)

#コマンドライン引数#

[コマンドライン引数]
(http://www1.bbiq.jp/takeharu/java31.html)

#Jar#

<b>Jarの実行方法</b>

例
java -classpath Jar名.jar メインクラス名

引数付き
java -classpath Jar名.jar メインクラス名 引数1 引数2

[ECLIPSEで実行可能JARファイルを作成する方法について]
(http://qa.atmarkit.co.jp/q/471)

#文法#

<b>省略したFOR文の書き方</b>

for(;;)

という書き方もできる。
上記は
カウンタ変数の宣言と初期化と継続条件の指定の省略

[Java虎の巻 様々なfor文の書き方]
(http://kaya-soft.com/java-toranomaki/programming/loop/entry5-4_various/)

#文字列#
<b>入力フォームの文字列を部分一致で検索するには?</br>

参考
[PreparedStatementでワイルドカードを使うときの注意](http://into.cocolog-nifty.com/pulog/2012/02/preparedstateme.html)

#List#
型:String[]のListの中の要素の取得の仕方について記載
[How to get value from List<String[]>](https://stackoverflow.com/questions/40725583/how-to-get-value-from-liststring)


#CSVの取り扱い

個人的にですが、opencsvというライブラリーは使いやすかったです。
JARのダウンロードページは以下の「opencsvの検証をしてみた」というネット記事
参考
opencsvの検証をしてみた[http://tomoyamkung.net/2013/08/09/java-opencsv/]
[opencsv-api](http://opencsv.sourceforge.net/apidocs/)
[JAVAでCSVを扱う](http://qiita.com/satio_koibuti/items/e90a9e30db289ac1b1f0#opencsv)

#ファイルの取り扱い#
txtとかcsvを読み込むときに以下のクラスが必要になります
[Fileクラス](http://www.javaroad.jp/java_io8.htm)

#スタックトレース#

スタックトレースとは、プログラムの実行過程を記録した情報のこと
[読み方](http://software.fujitsu.com/jp/manual/manualfiles/M090097/B1WN9561/03Z200/B9561-00-07-03-02.html)
[Java 入門 | スタックトレース](http://msugai.fc2web.com/java/stackTrace.html)
[スタックトレースとは (stack trace)： - IT用語辞典バイナリ](http://www.sophia-it.com/content/%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B9)