忍者ブログ

てんねんのSE備忘録

てんねんのためのSE備忘録 間違い指摘いただけると助かります また、拍手なんかしていただけると喜びます

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Seasar2:SAStruts:View(JSP)

●JSP(JavaServerPages)
Java言語を利用してWebサーバで動的にWebページを生成し、
クライアントに送信する技術
MVCモデルのViewを担当

●タグ
①<% --- %>
javaプログラムの埋め込み(スクリプトレット)
②<%=式>
式を表示
③HTMLタグ
④EL(Expression Language:式言語)[${}]
JavaBeanの値を参照する
⑤JSTLのタグライブラリ
公式:http://docs.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/
namespace:http://java.sun.com/jsp/jstl/タグ名
⑥Strutsのタグライブラリ
公式:http://struts.apache.org/1.x/struts-taglib/tlddoc/index.html
TECHSCORE:http://www.techscore.com/tech/Java/ApacheJakarta/Struts/index/
namespace:http://jakarta.apache.org/struts/tags-タグ名
⑦SAStrutsのタグライブラリ
@IT:http://www.atmarkit.co.jp/fjava/rensai4/saweb04/saweb04_1.html
namespace:
⑧Mayaaのタグライブラリ
(JavaServerTemplates:HTML をテンプレートとして使う Web テンプレートエンジン)
公式:http://mayaa.seasar.org/documentation/processor_reference.html
namespace:http://mayaa.seasar.org

以下概要説明~
----------------------------------------------------------
●JSTLのタグライブラリ
①coreタグライブラリ[c]
JSPの基本タグ
if文など
    
②I18Nタグライブラリ[fmt]
ロケールの設定、日付、時刻、数値などの書式設定を行うタグ
フォーマット系

③SQLタグライブラリ[sql]
DBとの接続、DBへのデータ検索、挿入、更新、削除を行うタグ

④XMLタグライブラリ[x]
XMLドキュメントの解析、変換、出力など
XMLドキュメントに関連する処理を行うタグ
TECHSCORE(XML):http://www.techscore.com/tech/XML/index.html/

⑤Functionsタグライブラリ[fn]
文字列の検索・置換・削除、文字列の
カウント、XMLタグ記号の変換など主に表示処理に関連するタグ

●Strutsのタグライブラリ
①bean
beanへのアクセスを提供するタグ

②html
入力フォーム作成のためのタグ
HTML以外も含まれる

③logic
繰返し処理、条件分岐処理などを行うタグ

④tiles
画面レイアウトを定義するタグ

⑤nested
ネストされたプロパティを参照するタグ

●SAStrutsのタグライブラリ
①s:form
html:formの拡張
HTMLフォームを表示するタグ
アクションのメソッドを呼び出せる
actionタグを省略可能

②s:link
html:linkの拡張
URLのパスを自動的に補正

③s:submit
html:submitの拡張
property属性のアクションを呼び出す

④f:h()[EL関数]
HTMLタグをエスケープする

※エスケープ
判読を難しくする

⑤f:u()[EL関数]
URLをエンコードする

⑥f:date()[EL関数]
文字列を日付に変換

⑦f:number()[EL関数]
文字列を数値に変換

⑧f:br()[EL関数]
改行コードをbrタグに変換

⑨f:nbsp()[EL関数]
半角スペースを&nbspに変換
半角スペースをそのまま表示したいときに使用

⑩f:url()[EL関数]
URLを計算
「/」で始まる文字列の場合コンテキストルートからの絶対パス
「/」以外は相対パス
JSやCSSなどをインポート

⑪f:label(変換対象の値,JavaBeanまたはMapのリスト,値のプロパティ名,ラベルのプロパティ名)[EL関数]
表示用のラベルに変換

●Maayaのタグライブラリ
①m:write
値の出力

②m:echo
タグの出力

③m:if
条件分岐

④m:for
繰り返し処理

拍手[1回]

PR

Seasar2:SAStruts:入力チェックアノテーション

●入力チェックアノテーション
プロパティに設定するアノテーション
入力チェックの方法を設定する

●@Required
必須チェック
①msg
エラーメッセージ
②arg0
メッセージの最初の引数
デフォルトはプロパティ名
③target
対象の実行メソッド

●@Validwhen(test="条件")
条件式付きチェック
①test(必須)
条件
②msg
エラーメッセージ
③arg0
メッセージの最初の引数
デフォルトはプロパティ名
④args
@Argアノテーションで指定するメッセージの引数
⑤target
対象の実行メソッド

●@Minlength(minlength=最小の文字数),@Maxlength(maxlength=最大の文字数)
文字数チェック
①minlength,maxlength(必須)
最小、最大の文字数
②msg
エラーメッセージ
③arg0
メッセージの最初の引数
デフォルトはプロパティ名
④arg1
メッセージの2番目の引数
デフォルトはminlengthまたはmaxlength
⑤target
対象の実行メソッド

●@Minbytelength(minbytelength=最小バイト数),@Maxbytelength(maxbytelength=最大バイト数)
バイト数チェック
①minbytelength,maxbytelength(必須)
最小、最大のバイト数
②msg
エラーメッセージ
③arg0
メッセージの最初の引数
デフォルトはプロパティ名
④arg1
メッセージの2番目の引数
デフォルトはminbytelengthまたはmaxbytelength
⑤target
対象の実行メソッド

●@Mask(mask="正規表現")
正規表現チェック
①mask(必須)
正規表現を設定
②msg
エラーメッセージ
③arg0
メッセージの最初の引数
デフォルトはプロパティ名
④args
@Argアノテーションで指定するメッセージの引数
⑤target
対象の実行メソッド

●@IntRange,@LongRange,@FloatRange,@DoubleRange(min=最小値,max=最大値)
数値の範囲チェック
①min,max(必須)
最小値、最大値
②msg
エラーメッセージ
③arg0
メッセージの最初の引数
デフォルトはプロパティ名
④arg1
メッセージの2番目の引数
デフォルトはminまたはmax
⑤target
対象の実行メソッド

●@ByteType,@ShortType,@IntegerType,@LongType,@FloatType,@FloatType,@DoubleType
型チェック
①msg
エラーメッセージ
②arg0
メッセージの最初の引数
デフォルトはプロパティ名
③target
対象の実行メソッド

●@DateType
①datePattern
日付パターン
②datePatternStrict
厳密な日付パターン
例:yyyy/MM/dd
③msg
エラーメッセージ
④arg0
メッセージの最初の引数
デフォルトはプロパティ名
⑤target
対象の実行メソッド

●@CreditCardType
クレジットカード番号のチェック
①msg
エラーメッセージ
②arg0
メッセージの最初の引数
デフォルトはプロパティ名
③target
対象の実行メソッド

●@EmailType
メールアドレスチェック
①msg
エラーメッセージ
②arg0
メッセージの最初の引数
デフォルトはプロパティ名
③target
対象の実行メソッド

●@UrlType
URLのチェック
①allowallschemas
全てのスキームを許可するか
デフォルトはfalse
②allow2slashes
ダブルスラッシュ(//)を許可するか
デフォルトはfalse
③nofragments
URLの分割(#など)を許可するか
デフォルトはtrue
④schemas
許可するスキームを指定する
⑤msg
エラーメッセージ
⑥arg0
メッセージの最初の引数
デフォルトはプロパティ名
⑦target
対象の実行メソッド

拍手[1回]

Seasar2:SAStruts:基本アノテーション

SAStrutsで使用するアノテーションを簡単にですが
勉強のため並べてみます

@~(この括弧内は無くても可能)

●コンポーネント定義(app.dicon)のためのアノテーション
①@Component(属性 = "指定名")
→クラスに付与
→DIのコンポーネント登録
→属性
name:コンポーネント名
instance:ライフサイクルの属性
autoBinding:自動バインディングの設定

※instanceの指定名
InstanceType.SINGLETON:シングルトン
InstanceType.PROTOTYPE:複数インスタンス化可能
InstanceType.SESSION:セッションごとに1つのインスタンス
(セッション用Dtoで使用、必ずSerializableインタフェースを使用)
InstanceType.REQUEST:リクエストごとに1つのインスタンス(通常のDtoで使用)
InstanceType.APPLICATION:サーブレットコンテキストごとに1つのインスタンス
InstanceType.OUTER:S2Container外のインスタンス

※autoBindingの指定名
AutoBindingType.AUTO:自動
AutoBindingType.CONSTRUCTOR:コンストラクタ
AutoBindingType.PROPERTY:プロパティ
AutoBindingType.NONE:指定なし

②@Binding(bindingType="コンポーネント名")
②@Resource[javaEE標準]
→プロパティ(フィールドまたはセッターメソッド)に付与
→DI対象のもの(@Componentのものを入れる?)

③@Aspect
→クラスまたはメソッドに付与
→AOPのコンポーネント登録(Interceptorなど)

④@InterType("インタータイプ名")
→クラスに付与
→インタータイプのコンポーネント登録

※インタータイプ
静的なクラスの構造を変更するもの

⑤InitMethod
→初期化用のメソッドに付与
→コンテナの初期化時に呼び出される

⑥DestroyMethod
→破棄処理用のメソッドに付与
→コンテナの破棄時に呼び出される

●インタータイプを使うアノテーション@Property
@Property("追加するメソッドの設定")
→フィールドに付与
→"追加するメソッドの設定"
PropertyType.READWRITE:setterとgetter
PropertyType.READ:getter
PropertyType.WRITE:setter
PropertyType.NON:何も設定しない

●アクション系のアノテーション
@ActionForm
→Strutsのアクションフォーム設定

※アクションフォーム
フォーム画面(jsp)から送信されてくるデータの保持、
他のプログラムからのデータの参照を行う機能を持つ

@Required
→検証対象のプロパティに付与
→アクションフォームには必ず付与
→対象のメソッドを登録できる(target)

@Execute
→実行メソッドにつけるアノテーション
→実行メソッドの戻り値は、遷移先のパス
→入力チェックの設定が可能(validator)

※実行メソッド
リクエストを処理するメソッド

●Interceptorを使うアノテーション(メソッドに付与)
@Trace
→トレースログを出力(TraceInterceptor)
→引数や戻り値を出力する

@SimpleTrace
→トレースログを出力(SimpleTraceInterceptor)
→引数や戻り値を出力しない

@Sync
→メソッド呼び出しを同期化(SyncInterceptor)

@TraceThrows
→例外処理を共通的に行う(ThrowInterceptor)

@RemoveSession(name="削除するオブジェクト名")
→メソッドが正常終了した場合にセッションに格納されているオブジェクトを削除
(RemoveSessionInterceptor)

@InvalidateSession
→メソッドが正常終了した場合にセッションを破棄
(InvalidateSessionInterceptor)

@DependencyLookup
→ゲッターメソッドに適用
→ルックアップしたコンポーネントを返却(DependencyLookUpInterceptor)

@ToString
→フィールドの情報を自動的に出力(ToStringInterceptor)

※Interceptorについて(Seasarサイト)
http://s2container.seasar.org/2.4/ja/aop.html

●アノテーションリファレンス
http://sastruts.seasar.org/annotationReference.html

 

拍手[5回]

Seaser2:SAStruts:アクションとアクションフォーム(Struts)

●アクション(~Action)
①サーバーサイドの処理実装
    
②メソッドのURLマッピング
→実行メソッドに@Executeを付ける
→マッピングされるルール
 1.アクションのクラス名から末尾のActionを削除
 2.アクションの先頭の文字を小文字
 3.「アクション名/メソッド名/」がURL
 
※実行メソッド
リクエストを処理するメソッド

③URLパターン
→実行メソッドに@Execute(validator = false, urlPattern = "マッピングURL")
→実行メソッドはマッピングURLにマッピングされる

④アクションからjspへの値受け渡し
public String msg;  //publicで宣言すると、そのままjspで使用できる
→HttpServletRequest.setAttribute("プロパティ名",値)を自動的に呼び出し

⑤POJO

●アクションフォーム(~Form)
①リクエストパラメータ(URLの?)を受け取るためのオブジェクト

②リクエストパラメータの取得
→受け取るためのPublicフィールドを作成
--------------------------------------
public class TennenForm {
    
    @Required
    public String itsName;
}
--------------------------------------

※@Required
アクションフォームで必ず指定するアノテーション
入力検証必須になる

※リクエストパラメータ
Httpクライアントから送信されるパラメータデータ、ヘッダー情報、Cookie

●アノテーションリファレンス
http://sastruts.seasar.org/annotationReference.html

拍手[0回]

PM:バージョン管理システム

●種類
①SVN(SubVersioN)
バージョン管理システムSubversionのCUIコマンド名
Apacheが提供

②CVS(Concurrent Versions System)
ファイルのバージョンを管理するアプリケーションソフト
複数人が同時に同じファイルを編集することが可能
編集した内容が競合していなければ両方の変更を自動的に統合可能

③ClearCase
IBMののバージョン管理ソフト

④VSS
Microsoftのバージョン管理ソフト

●SVNとCVSの違い
①バージョンの単位
CVS:ファイル毎
SVN:リポジトリ毎

②コミット方法
CVS:コミット対象ファイルを順次コミット
SVN:コミットは一元的(アトミック)に行われる(ファイルの競合が生じない)

③昔の状態に戻したいとき
CVS:一つ一つのファイルのバージョンを調べて戻す
SVN:全体のバージョンを下げる

④ファイル管理
CVS:全ファイルを保存
SVN:ファイルの差分を保存

⑤ファイルの形式
CVS:テキストファイル
SVN:バイナリ―ファイル

●SVN関係のソフト
→TortoiseSVN(トータスSVN)
シェル拡張によりWindowsエクスプローラに統合されるSubversionクライアント
公式サイト:http://tortoisesvn.tigris.org/

→AnkhSVN
Visual Studio用のSubversionクライアント
オープンソース・ソフトウェア
公式サイト:http://ankhsvn.open.collab.net/

→Subversive
Eclipse用のSubversionクライアント
Heliosへのインストール:http://kurusugawa.jp/2011/04/30/how-to-install-subversive-plugin-to-eclipse-helios-36/

●CVS関係のソフト
→CVSNT
Windows環境向けのCVSサーバ
公式サイト:http://www.evscm.org/modules/Downloads/

→WinCVS
Windows環境向けのCVSクライアント
ダウンロードページ:http://sourceforge.net/projects/cvsgui/files/WinCvs/

●SVNのサービス例
→Google code
http://code.google.com/intl/ja/

→SourceForge
http://sourceforge.net/

●参考サイト
→ApacheのSubversionの公式サイト
http://subversion.apache.org/

→Subversion HostingComparision
http://www.svnhostingcomparison.com/

→個人用Subversion作成
http://pools.jp/2008/01/08/%E3%83%95%E3%83%AA%E3%83%BC%E3%81%AEsubversion-trac%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9assembla%E3%82%92%E4%BD%BF%E3%81%86/

→CVSとSVN
http://www.ne.jp/asahi/hishidama/home/tech/svn/concept.html

拍手[0回]

カレンダー

03 2024/04 05
S M T W T F S
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

フリーエリア

最新CM

最新TB

プロフィール

HN:
てんねん
性別:
非公開

バーコード

ブログ内検索

P R

カウンター

忍者アナライズ