使えそうなパッケージ
【java.sql】
http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/guide/jdbc/getstart/preparedstatement.html
http://www.atmarkit.co.jp/fjava/rensai/jdbc04/jdbc04_1.html
・preparedStatementとstoredProcedure
preparedStatement:Javaに処理をためておく。
preparedStatementやコネクションをクローズしたらもう同じSQL文は使えないみたい。
storedProcedure:DBに処理をためておく。Javaからは外部の関数みたいな感じで呼べる。
システム全体で使いまわしたいならstoredProcedure使ったほうが楽になるかもしれない。変更の手間は大きくなってしまうけれど。
【javax.sql】
RowSetが使える。
Rowset:ResultSetと同等のデータベース・カーソル機能を持つJavaBeansコンポーネント。
http://www.atmarkit.co.jp/fjava/kaisetsu/j2eewatch06/j2eewatch06.html
今回のことだけを見れば、使うメリットはあまり無いように思う。
JavaBeansをきっちり理解したい、極めたいという目的ならやる価値はありそう。
・とりあえずSQLをDAOへ
・DAO内でPreparedStatement
sql文の?のところでは’とか”とか気にしなくていい。
2008年9月30日火曜日
postgreSQL
7.テーブル作成
AmaterasERDでDDLをエクスポート、psql内部コマンド\iでインポートした。
8.\iコマンドがなぜかeclipseで作成したSQLファイルに対しては使えない
Permissionがないらしい。
ファイルのパーミッションを変えればOK.
9.CSVをCOPYでインポートする
・postgres(スーパーユーザ)じゃないとCOPYコマンドが使えない。
・ディレクトリの区切りは\じゃなくて/。''で囲むのを忘れないように。
・普通にCOPYしようとするとserialの扱いで引っかかる。
csvファイルだとすべて文字列として扱われてしまって、空の文字列になってしまう。
少しずるいけど解決策。
http://www.hoge256.net/2008/08/179.html
AmaterasERDでDDLをエクスポート、psql内部コマンド\iでインポートした。
8.\iコマンドがなぜかeclipseで作成したSQLファイルに対しては使えない
Permissionがないらしい。
ファイルのパーミッションを変えればOK.
9.CSVをCOPYでインポートする
・postgres(スーパーユーザ)じゃないとCOPYコマンドが使えない。
・ディレクトリの区切りは\じゃなくて/。''で囲むのを忘れないように。
・普通にCOPYしようとするとserialの扱いで引っかかる。
csvファイルだとすべて文字列として扱われてしまって、空の文字列になってしまう。
少しずるいけど解決策。
http://www.hoge256.net/2008/08/179.html
2008年9月29日月曜日
JavaBeans, EJB
・JavaBeans: ローカル環境で動くBean
EJB(Enterprise JavaBeans):リモート環境で動くBeanの2種類
http://www.atmarkit.co.jp/fjava/rensai/smartj01/smartj01_0.html
・Beanがどのように使われるか、処理の流れ
http://www.atmarkit.co.jp/fjava/rensai/smartj01/smartj01_1.html
・何のために?
プログラムの生産性や使い勝手のよいシステムができるといわれている。
・はじめてのJavaBeans
http://www.javaroad.jp/servletjsp/sj_beans1.htm
・基本的に、主な処理は全部Beanの中にある。
アクセッサ以外にもいろいろなメソッドがあるなら、それはentityクラスではなくなるのでは?
それとも、処理をするBeanとentityクラスとは分けるべきなのか?
・entityクラス、としてはエンティティBeanというのもある
EJBの1種。
・今回は
同じBeanにエンティティの機能と主な処理の機能と、両方入れる形ではじめてみる。
もし、途中で分けたほうがいい、となったら分ければいい。
EJB(Enterprise JavaBeans):リモート環境で動くBeanの2種類
http://www.atmarkit.co.jp/fjava/rensai/smartj01/smartj01_0.html
・Beanがどのように使われるか、処理の流れ
http://www.atmarkit.co.jp/fjava/rensai/smartj01/smartj01_1.html
・何のために?
プログラムの生産性や使い勝手のよいシステムができるといわれている。
・はじめてのJavaBeans
http://www.javaroad.jp/servletjsp/sj_beans1.htm
・基本的に、主な処理は全部Beanの中にある。
アクセッサ以外にもいろいろなメソッドがあるなら、それはentityクラスではなくなるのでは?
それとも、処理をするBeanとentityクラスとは分けるべきなのか?
・entityクラス、としてはエンティティBeanというのもある
EJBの1種。
・今回は
同じBeanにエンティティの機能と主な処理の機能と、両方入れる形ではじめてみる。
もし、途中で分けたほうがいい、となったら分ければいい。
クラス図について
・多重度の書き方がよく分からない。。
インスタンスでどうなっているかを意識して書く。
(外部設計の段階でも、オブジェクト指向言語、というくらいは技術のことを考える必要がある)
ER図と外部設計のクラス図は同じではない。
・関連するクラスは属性には書かないらしいが、書かないと混乱しそう。
分かりにくければ書くべき。
分かりきっていれば省略してもOK。
インスタンスでどうなっているかを意識して書く。
(外部設計の段階でも、オブジェクト指向言語、というくらいは技術のことを考える必要がある)
ER図と外部設計のクラス図は同じではない。
・関連するクラスは属性には書かないらしいが、書かないと混乱しそう。
分かりにくければ書くべき。
分かりきっていれば省略してもOK。
eclipseの使い方
・どんな種類のプロジェクトにするかが重要
http://www.atmarkit.co.jp/fjava/rensai3/eclipse31_02/eclipse31_02_1.html
・同じファイルを2つのエディタで開くことができる。大きなファイルを編集しているときに便利。
・[コードの断片]の実行
ちょっとコードを試したいときに便利。
・関連するクラスへの移動
コンテキストメニューからメソッドの実行部分→宣言部分など、ジャンプできる。
http://www.atmarkit.co.jp/fjava/rensai3/eclipse31_02/eclipse31_02_1.html
・同じファイルを2つのエディタで開くことができる。大きなファイルを編集しているときに便利。
・[コードの断片]の実行
ちょっとコードを試したいときに便利。
・関連するクラスへの移動
コンテキストメニューからメソッドの実行部分→宣言部分など、ジャンプできる。
WTP
「Eclipseを用いたJavaサーバサイドアプリケーション開発環境の大本命」
WST(Web Standard Tools) + JST(J2EE Standard Tools)
http://www.atmarkit.co.jp/fjava/rensai3/eclipse31_03/eclipse31_03_1.html
・WTP 0.7.xでは、日本語Windows環境でも既定の文字コードがWindows-31JではなくShift_JISになってしまう
パッチフラグメントがあるようだけれど、今回はとりあえずインストールしないで進める。
(WTPのバージョンが分からないし、Shift-JISでもいいのでは?)
WST(Web Standard Tools) + JST(J2EE Standard Tools)
http://www.atmarkit.co.jp/fjava/rensai3/eclipse31_03/eclipse31_03_1.html
・WTP 0.7.xでは、日本語Windows環境でも既定の文字コードがWindows-31JではなくShift_JISになってしまう
パッチフラグメントがあるようだけれど、今回はとりあえずインストールしないで進める。
(WTPのバージョンが分からないし、Shift-JISでもいいのでは?)
2008年9月26日金曜日
JSP pageディレクティブのerrorPage属性
設定しなければ、デフォルトのエラーページを出してくれる。
とりあえず、実装時にはデフォルトページにさせておくのがよい気がする。
運用時には、何か作ったほうが、ユーザに変なもの見せなくてすむのでよいかも。
とりあえず、実装時にはデフォルトページにさせておくのがよい気がする。
運用時には、何か作ったほうが、ユーザに変なもの見せなくてすむのでよいかも。
<jsp:include>について
・<jsp:include page="ファイル" flush="true | false"/>のflush属性について。
インクルードするコンテンツを読み込む前に、存在する任意のバッファーをフラッシュするかどうかを指示。
フラッシュが重要な問題になることはあまりない。
http://www.ibm.com/developerworks/jp/java/library/j-jsp04293/index.html
・includeされる方のファイルも、単独で成立している必要がある。
(単独でコンパイルされるから)
http://www.javadrive.jp/servlet/jsp_action/index4.html
CSSもきちんと適用されている必要がある。
インクルードするコンテンツを読み込む前に、存在する任意のバッファーをフラッシュするかどうかを指示。
フラッシュが重要な問題になることはあまりない。
http://www.ibm.com/developerworks/jp/java/library/j-jsp04293/index.html
・includeされる方のファイルも、単独で成立している必要がある。
(単独でコンパイルされるから)
http://www.javadrive.jp/servlet/jsp_action/index4.html
CSSもきちんと適用されている必要がある。
Servlet+JSP+JavaBeansの復習
まずは教科書(http://www.javaroad.jp/servletjsp/index.html)を読んでみる。
・init()、destroy()はどういう使い方をするんだろう?
・スコープにはrequest, session, applicationの3つがある。どれも使うことになりそうだが、使い分け、必要なシーンについては把握できていない。
sessionはクライアント単位、applicationはアプリケーション全体の単位で、複数のサーブレットをまたぐことができる、という意味ではどちらも同じ、という解釈でいいのかな?
・web.xmlに初期パラメータを書いておけるみたい。ハードコーディングしなくてよくなる♪
・WebアプリケーションでのJavaBeansの役割
は、MVC2(JavaのWebアプリ)のモデル部、ということでいいらしい。
・init()、destroy()はどういう使い方をするんだろう?
・スコープにはrequest, session, applicationの3つがある。どれも使うことになりそうだが、使い分け、必要なシーンについては把握できていない。
sessionはクライアント単位、applicationはアプリケーション全体の単位で、複数のサーブレットをまたぐことができる、という意味ではどちらも同じ、という解釈でいいのかな?
・web.xmlに初期パラメータを書いておけるみたい。ハードコーディングしなくてよくなる♪
・WebアプリケーションでのJavaBeansの役割
は、MVC2(JavaのWebアプリ)のモデル部、ということでいいらしい。
JSPタグライブラリ
・カスタムタグ
http://www.javaroad.jp/servletjsp/sj_jsp13.htm
http://www.hellohiro.com/customtag.htm
JSPで繰り返し行う処理、見た目が複雑になりそうな処理をJavaで別途書いておく感じ。
http://www.itmedia.co.jp/enterprise/0307/24/epn23.html
今回使うとしたらカスタムタグだが、設計段階でそこまでフォローできる自信はまったくない。
・JSTL (Java Standard Tag Library)
式の評価、繰り返し、条件分岐、日付や数値のフォーマットなどができる。
http://www.fk.urban.ne.jp/home/kishida/kouza/kishou/jspjstl.html
JSPだけでプログラムを作りたい状況には必須のよう。
・Taglibs
Jakarta製。JSTLは、この一部のよう。
JSPカスタムタグを用いて、結果として出力されるHTMLを自由自在に操りたい、という場合には、非常に有用そう。
http://www.javaroad.jp/servletjsp/sj_jsp13.htm
http://www.hellohiro.com/customtag.htm
JSPで繰り返し行う処理、見た目が複雑になりそうな処理をJavaで別途書いておく感じ。
http://www.itmedia.co.jp/enterprise/0307/24/epn23.html
今回使うとしたらカスタムタグだが、設計段階でそこまでフォローできる自信はまったくない。
・JSTL (Java Standard Tag Library)
式の評価、繰り返し、条件分岐、日付や数値のフォーマットなどができる。
http://www.fk.urban.ne.jp/home/kishida/kouza/kishou/jspjstl.html
JSPだけでプログラムを作りたい状況には必須のよう。
・Taglibs
Jakarta製。JSTLは、この一部のよう。
JSPカスタムタグを用いて、結果として出力されるHTMLを自由自在に操りたい、という場合には、非常に有用そう。
DreamWeaverでJSPを作成する要領をよくしたい。
http://www.atmarkit.co.jp/ad/adobe/adobe0610/01.html
DreamWeaverの機能をほとんど使いこなせていない。
Webアプリケーション作成、JSP作成に役立つ部分だけでも少しは学びたい。
DreamWeaverの機能をほとんど使いこなせていない。
Webアプリケーション作成、JSP作成に役立つ部分だけでも少しは学びたい。
ユーティリティクラス
Utilsクラスについては、JakartaCommonsがよいらしい。
http://www.nulab.co.jp/designPatterns/designPatterns4/designPatterns4-1.html
http://commons.apache.org/components.html
今回使えそうなものには、DBCP, DBUtils, Validatorがある。
http://www.nulab.co.jp/designPatterns/designPatterns4/designPatterns4-1.html
http://commons.apache.org/components.html
今回使えそうなものには、DBCP, DBUtils, Validatorがある。
filterについて
http://www.ibm.com/developerworks/jp/java/library/j-pj2ee10/index.html#IDA00M0B
・認証もできる
http://www.stackasterisk.jp/tech/java/filterAuth01_01.jsp
・URLのリライトもできる
http://journal.mycom.co.jp/articles/2007/05/21/urlrrewrite/menu.html
クラス作ってから、最後にまとめたほうがいいのかな?
現状で、ぱっと使えそう、という感じなのは、
・ユーザ認証
・(セッション管理)
・文字コード管理
の3つくらい。
とはいえ、自分で機能を一から作れるので、これ以外にも何かあったら使えばよいと思う。
・複数のページに一気にフィルタをかけるには
http://www.sk-jp.com/java/servlet/webxml.html#h22
・web.xmlリファレンス
http://www.sk-jp.com/java/servlet/webxml.html
・認証もできる
http://www.stackasterisk.jp/tech/java/filterAuth01_01.jsp
・URLのリライトもできる
http://journal.mycom.co.jp/articles/2007/05/21/urlrrewrite/menu.html
クラス作ってから、最後にまとめたほうがいいのかな?
現状で、ぱっと使えそう、という感じなのは、
・ユーザ認証
・(セッション管理)
・文字コード管理
の3つくらい。
とはいえ、自分で機能を一から作れるので、これ以外にも何かあったら使えばよいと思う。
・複数のページに一気にフィルタをかけるには
http://www.sk-jp.com/java/servlet/webxml.html#h22
・web.xmlリファレンス
http://www.sk-jp.com/java/servlet/webxml.html
登録:
投稿 (Atom)