liguofeng29’s blog

個人勉強用ブログだっす。

2015-08-01から1ヶ月間の記事一覧

Servlet - Servletとは

J2EEにおけるクライアントのリクエストを処理し、応答を返すプログラムである。 JSPの本質もServletであるが 区別は 1. Sevrlet内には暗黙オブジェクト(application, session, response, requestなど)がデフォルト生成されない。 2. 静的HTMLタグはServletが…

S2AOP - 独自InterType

独自にInterTypeを作成する場合は、次のインターフェースまたは、抽象クラスを実装します。 org.seasar.framework.aop.InterType org.seasar.framework.aop.intertype.AbstractInterType 空クラスにメソッドを追加してみる。 app.dicon

S2AOP - InterType

InterTypeはクラスの静的な構造(フィールド追加、メソッド追加)を変更することができます。 S2AOPとして提供しているInterType - PropertyInterType a. フィールドに対するsetter,getterが追加できる。 b. <interType>タグを使う c. protected, publicフィールドであ</intertype>…

S2AOP - 独自Interceptor

独自にInterceptorを作成する場合は、次のインターフェースまたは、抽象クラスを実装します。 org.aopalliance.intercept.MethodInterceptor org.seasar.framework.aop.interceptors.AbstractInterceptor app.dicon

S2AOP - Interceptorのグループ化

InterceptorChainクラスを使い、Interceptorをクループ化する。 <component name="interceptor1" ... /> <component name="interceptor2" ... /> <component name="chain" class="org.seasar.framework.aop.interceptors.InterceptorChain"> <initMethod name="add"><arg>interceptor1</arg></initmethod></component></component></component>

S2AOP - 標準Interceptor

S2AOPとして提供するInterceptor. 予めaop.diconに登録してある。 クラス名コンポーネント名説明 TraceInterceptor aop.traceInterceptor トレースログ出力 ClassLoaderAwareTraceInterceptor aop.classLoaderAwareTraceIntercept…

S2AOPとは

AOPはAspect oriented Programming(アスペクト指向プログラミング)である。 なにができるを簡単を説明すると 複数のメソッドの前後同じ処理(ログ出力とか)を適用できる。 Seasar2ではS2AOPという、S2Containerで管理するコンポーネントに対してAOP適用する…

JSP - sessionオブジェクト

クライアントがサーバに接続から切断までの情報を保存する。 例えば、ログイン中なのか、なにをカートに入れているのかなど。 ※単純にページ間の情報共有は、sessionを使うべきではなく、requestとforwardを使う。 ※sessionに設定する値は、シリアライズ化可…

JSP - responseオブジェクト - cookie

クライアントに保存される情報である。ブラウザを閉じてもライフサイクル中には消えない。 cookie追加 /./ create cookie with key and value.Cookie c = new Cookie("name", "Alex");// set lifec.setMaxAge(24 * 3600)// add cookie to clientresponse.add…

JSP - responseオブジェクト - response.sendRedirect(String location)

使用例 : response.senRedirect("xxxx.jsp") forwardredirect 同じリクエスト 新しいくクエスト 元のリクエストパラメータ取得できる 元のリクエストパラメータはなくなる URLは変更されない URLが変更される

JSP - responseオブジェクト - response.getOutputStream()

クライアントへの応答する際に使用するオブジェクト。 1. 非文字コンテンツの応答 2. リダイレクト 3. cookie追加 通常はoutオブジェクトを使用するが、非キャラコンテンツは応答できない。 主なメソッド説明 getOutputStream() byteのoutputストリーム send…

【インクルード】【名前空間】【環境名】

1. diconファイルの分割 2. diconファイルの自動切り替え include : 親は子のコンポーネントが参照できるが、逆はできない。 containerインスタンスが複数生成される。 xi:include : 親と子は相互参照可能。 読み込まるので、containerインスタンスは一つ生…

JSP - requestオブジェクト

クライアントの要求(リクエスト)をカプセルかしたオブジェクトである。 1. リクエストパラメータを取得する。 2. requestスコープ属性操作ができる。 3. forward, includeを実行する。 主なメソッド説明 getAttribute(String name) requestスコープのname…

OGNL

diconファイルではOGNL式(Object-Graph-Navigation Language)が使用可能です。 1. リテラル 2. コンポーネントのプロパティ、メソッド 3. 配列、マップ参照 4. 静的プロパティ、メソッド 5. オブジェクト生成 などなど app.dicon

外部バインディング

diconファイルの登録したコンポーネント以外に、外部コンテキストによって提供される値をバインドする機能です。 この機能はWebアプリケーションにおいてリクエストパラメータの値など自動バインディングするために使用されます。 外部バインディングを有効…

JSP - pageContextオブジェクト

page, request, session, applicationスコープの情報にアクセスできる。 主なメソッド説明 getAttribute(String name) pageスコープのname属性取得 getAttribute(String name, int scope) scope指定のname属性取得 PageContext.PAGE_SCOPE pageContext.REQUE…

JSP - outオブジェクト

JSPページ内のoutput streamを表す。 <%= %>の本質はout.write()である。 out.jsp <%@ page contentType="text/html;charset=Shift_jis" language="java" %> <html> <head> <title>use out object.</title> </head> <body> <%-- i宣言 --%> <%!int i = 0;%> i = <%=i%><br> i = <% out.print(i);%> </body> </html>

自動バインディング

DIの指定を省略した場合、 コンポーネント間の依存関係は、 型および名前によってS2Containerが自動的に解決します。 componentタグのautoBinding属性を指定することで細かく制御することもできます。 autoBinding説明 auto(default) コンストラクタとプロパ…

Dependency Injectionタイプその4 - フィールド・インジェクション

フィールドにDIを行なうのがフィールド・インジェクションです。 フィールドには、Bindingアノテーションを使って指定します。この機能は、2.4から利用できます。 app.dicon < <components> <include path="convention.dicon"/> </include></components>

Dependency Injectionタイプその3 - メソッド・インジェクション

メソッドにDIを行なうのがメソッド・インジェクションです。 コンポーネントのメソッドには、componentタグの子タグであるinitMethodタグを使って指定します。 メソッド名はname属性で指定します。 initMethodタグの子タグであるargタグで引数を指定すること…

Dependency Injectionタイプその2 - セッター・インジェクション

セッターメソッドにDIを行なうのがセッター・インジェクションです。 コンポーネントのプロパティには、componentタグの子タグであるpropertyタグを使って指定します。 プロパティ名はname属性で指定します。 app.dicon <components> </components>

Dependency Injectionタイプその1 - コンストラクタ・インジェクション

コンストラクタの引数にDIを行なうのがコンストラクタ・インジェクションです。 コンストラクタの引数には、componentタグの子タグであるargタグを使って指定します。 app.dicon <components> <include path="convention.dicon"/> </include></components>

JSP - exceptionオブジェクト

1. JSP内のexceptionをキャッチした際のオブジェクトである。 2. <%@ page isErrorPage="true" %>際に使用できる。 throwEx.jsp <%@ page contentType="text/html;charset=Shift_jis" language="java" errorPage="error.jsp"%> <html> <head> <title>throw a exception</title> </head> <body> <%-- a</body></html>…

JSP - configオブジェクト

JSPページの配置情報を表す。 web.xml

JSP - applicationオブジェクト

applicationオブジェクトはwebアプリそのものを表している。 用途 1. JSP,servletの間で情報を共有できる。 2. webアプリの設定情報にアクセスできる。 put-application.jsp <%@ page contentType="text/html;charset=Shift_jis" language="java" %> <html> <head> <title>set a</title></head></html>…

JSPスクリプトレット内の9つのオブジェクト

1. 9つのオブジェクトはServletAPIのインタフェースの実装である。 JSP規範によりそれぞれのインスタンスの生成してあるので、そのまま利用すればいい。 2. オブジェクトの初期化はservletの_jspService()中に行うため、下記のみ使用できる。 a. JSPスクリ…

JSP7つのアクション指令

action説明 jsp:forword 画面リダイレクト指定 jsp:param パラメータ指定(他のアクションと組み合わせで使用) jsp:include 動的にJSPページを読み込む静的include(<%@include>)との違い:1. 静的includeは、一つのservletになる。 動的includeはincludeメソ…

JSP3つのコンパイル指令

1. <%@page 属性名="属性値"@> 2. <%@include属性名="属性値"@> 3. <%@taglib 属性名="属性値"@> 【page】 属性名説明 language JSPで使用するスクリプトレット言語。デフォルト値はjava extends jsp(servlet)クラスが継承(IF実装)を記述する import jsp(…