Strutsのバージョン「1.x」系と「2.x」系の違いについてメモしておきます。
Struts「1.x」の特徴
- 一般的に「Struts」と言えば「1.x」系を指します。
- 2008年12月リリースの1.3.10以降はバージョンアップは停止しています。
- バージョンアップにより安定して利用出来るので多くの開発で利用されています。
- Strutsの構成に「struts-config.xml」ファイルを使用しています。
- ActionForwardオブジェクトを使用しています。
- inputを返すActionについて検証(validateメソッド)の呼び出しが行われるため、検証が不要な場合にこれを抑制するコードを作成する必要があります。
Struts「2.x」の特徴
- 元々「WebWork2」というフレームワークが名称変更されて「Struts 2」となりました。
- 元は設計思想の異なる別物のフレームワークなので「Struts 1.x」系とは根本的に異なる物です。
- 2016年2月現在でバージョン 2.3.24.1までリリースされています。
- Struts 1.xでいう「struts-config.xml」は「struts.xml」に変更されています。
- Struts 1.xでいう「ActionForwardオブジェクト」は「Resultオブジェクト」に置き換わりました。
- inputを返すActionについて検証の呼び出しが行われないため、検証が不要な場合にこれを抑制するコードを作成する必要はありません。
Eclipseでgetter/setterメソッドを自動生成する方法をメモしておきます。
事前にコードテンプレートでgetter/setter用のjavadocを設定しておくとさらに便利です。
環境
- Eclipse 4.2
- Windows7 professional 64bit版
getter/setterメソッドの自動生成手順
- getter/setterを設定したいBeanやDTOなどのクラスを作成しフィールドだけ記述してgetter/setterを挿入したい行へカーソルを合わせます。
- 挿入位置へカーソルを合わせたら右クリックし、「ソース」⇒「getterおよびsetterの生成」を選択します。
- getterおよびsetterの生成画面が表示されたら、生成対象とするフィールドを選択し、「メソッド・コメントの生成」へチェックし「OK」ボタンを選択します。
- 上記手順で以下の様にgetter/setterメソッドが自動生成されて挿入されます。事前にコードテンプレートでgetter/setter用のjavadocを設定しておけばお好みのjavadocへ変更する事も可能です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
package Bean; import java.util.Date; /** * <p>[概 要] SampleBean4。</p> * <p>[詳 細] </p> * <p>[備 考] </p> * <p>[環 境] </p> */ public class SampleBean4 { /** * 日付 */ private Date date; /** * 文字列 */ private String str; /** * <p>[概 要] dateを取得する。</p> * <p>[詳 細] </p> * <p>[備 考] </p> * @return date */ public Date getDate() { return date; } /** * <p>[概 要] dateを設定する。</p> * <p>[詳 細] </p> * <p>[備 考] </p> * @param date */ public void setDate(Date date) { this.date = date; } /** * <p>[概 要] strを取得する。</p> * <p>[詳 細] </p> * <p>[備 考] </p> * @return str */ public String getStr() { return str; } /** * <p>[概 要] strを設定する。</p> * <p>[詳 細] </p> * <p>[備 考] </p> * @param str */ public void setStr(String str) { this.str = str; } } |
-
Excelでランダム整数値を生成する方法をご紹介します。
重複しない整数値を生成する場合はRAND関数とRANK関数の組み合わせで、重複する整数値を生成する場合はRANDBETWEEN関数を使用すると簡単にランダム値を生成出来ます。
動作環境
Microsoft Office Professional 2013
重複しない整数値の生成例
- 重複しない整数値を生成する場合、まず「=RAND()」で0以上1未満の実数を生成し、別セルでRANK関数の数値欄へ生成した実数値のセルを指定すれば簡単に重複しない整数値を生成出来ます。
但し、この方法では「=RAND()」は重複する実数を生成する確率が0%ではありませんので、非常に低い確率ですが重複値が生成される可能性はありますのでご注意下さい。
- 下記例では1~10までのランダム整数値をB2~B11セルへ表示させるためにA2~A11セルまで「=RAND()」を指定しB2~B11セルまでRANK関数を指定(B2セルなら「=RANK(A2,$A$2:$A$11)」)しています。
重複する整数値の生成例
- 生成する整数が重複してもよいのであればRANDBETWEEN関数を使用する事で簡単に生成できます。
- 下記例ではC2~C11セルまで1~10までの整数を生成しています。
ここではhttpとhttpsの違いについてメモしておきます。
この2つを理解しやすくするには「http」と「https」の正式名称を思い浮かべるとイメージし易いでしょう。
- http :Hyper Text Transfer Protocol
- https:Hyper Text Transfer Protocol Secure
httpsの「s」とは「セキュア」つまり「安全なhttp」という事です。
httpのホームページでは住所、氏名といった個人情報をそのままサーバへ送信してしまいます。一方httpsでは情報を暗号化してサーバへ送信します。
ブログなどのように相手に読ませるためだけのページであればhttpでも大きな問題にはなりにくいですが、ログイン画面や決済時にクレジットカードなどの個人情報を入力するような画面では「https」になっている事が大前提と言えます。逆に個人情報を入力するのに「http://~」となっているようなサイトであれば、セキュリティに対する認識が甘い企業と見られてしまうでしょう。
httpを使用する場合
- 広告やブログなど不特定多数の人に閲覧されても問題ない場合
httpsを使用する場合
- ログイン情報、住所、氏名、クレジットカード番号などを入力する場合
データベース製品のライセンス一覧です。
製品名 | オープンソース/商用 | ライセンス | データ
モデル | 料金 |
DB2 | 商用 | IBM | ORDBMS | 1プロセッサ
・461万7000円
2年目から5年目の保守料
・88万700円/年
1プロセッサで5年間運用した場合のコスト
・813万9800円 |
HiRDB | 商用 | 日立製作所 | RDBMS | 同時接続数ライセンス
・120,000円
1プロセッサ
・1,800,000円 |
MySQL | オープンソース | GPL or 商用 | RDBMS | 1-4 ソケットサーバー 1台/年(税抜)
・Standard Edition:240,000
・Enterprise Edition:600,000
・Cluster Carrier Grade Edition:1,200,000
5+ ソケット・サーバー/年(税抜)
・Standard Edition:480,000
・Enterprise Edition:1,200,000
・Cluster Carrier Grade Edition:2,400,000 |
Oracle Database | 商用 | オラクル | RDBMS | |
PostgreSQL | オープンソース | BSD | ORDBMS | 無料 |
SQLで前方一致・後方一致・部分一致等のあいまい検索の方法についてご紹介します。
SQLであいまい検索を行う場合はワイルドカード文字として「%」を使用します。
サンプルテーブル
以下の商品テーブル「goods」を元に説明します。
商品テーブル「goods」 |
|
前方一致検索
SQL文(クエリー)
-
- 前方一致検索する場合、LIKE演算子を指定して検索条件の最後に「%」を記載します。
- 「SELECT * FROM [テーブル名] WHERE LIKE ‘[条件]%’;」の形式で記述します。
|
SELECT * FROM goods WHERE name LIKE '商品%'; |
実行結果
以下の様に前方に「商品」と入力されているデータのみ出力されます。
後方一致検索
SQL文(クエリー)
-
- 後方一致検索する場合、LIKE演算子を指定して検索条件の先頭に「%」を記載します。
- 「SELECT * FROM [テーブル名] WHERE LIKE ‘%[条件]’;」の形式で記述します。
|
SELECT * FROM goods WHERE name LIKE '%A'; |
実行結果
以下の様に後方に「A」と入力されているデータのみ出力されます。
部分一致検索
SQL文(クエリー)
-
- 部分一致検索する場合、LIKE演算子を指定して検索条件の前後に「%」を記載します。
- 「SELECT * FROM [テーブル名] WHERE LIKE ‘%[条件]%’;」の形式で記述します。
|
SELECT * FROM goods WHERE name LIKE '%ボード%'; |
実行結果
以下の様に文字列に「ボード」が含まれているデータが出力されます。
「駑馬十駕」 IT系情報を中心に調べた事をコツコツ綴っています。