読者です 読者をやめる 読者になる 読者になる

liguofeng29’s blog

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

JSP -EL(Expression Language)

JSP2.0から導入されている変数表示するために使用する。 式例 ${演算} ${1 + 1] ${10 MOD 3} &{1 == 1} ${プロパティー} ${name}」→「pageContext.findAttribute("name") ${オブジェクト.プロパティー} ${bean.value}」→ JSP式の<%= bean.getValue() > ${map…

独自タグ作成 - Tag File

Taf FIleは独自タグの簡易版である。 タグクラス、タグライブラリ定義(,tld)は不要である。 TagFileのコンパイル指令 属性説明 taglib JSPのtaglibと同じ(他のtaglibを読み込み) include JSPのincludeと同じ(JSPか静的ページ読み込み) tag JSPのpageと似てい…

独自タグ作成 - JSPファイル内でタグを使用

<%@ taglib uri="tld内に定義したURI" prefix="mytag"%> <mytag:helloWorld/><br/></br/></mytag:helloworld/>

独自タグ作成 - tldファイル作成

TLDとはTag Library Definitionの略語。 ルート要素はtablibである。 \tomcat\7\webapps\examples\WEB-INF\jsp2配下のjsp2-example-taglib.tldをコピーして下記に修正する。 taglibの属性 属性説明 tlib-version taglibのバージョン short-name taglibの略名…

独自タグ作成 - タグクラス作成

1. タグクラスはjavax.servlet.jsp.tagext.SimpleTagSupportを継承する。 2. 属性を含む場合、対応するgetter,setterが必要。 3. doTag()をoverriderし、ページ内容を出力する。 MyTag.java import java.io.IOException; import javax.servlet.jsp.JspExcept…

Servlet - Servlet3.0のコンポーネント動的配置

Servlet3.0からはContextServletは下記メソッドを提供して、 動的にServlet,Filter,Listenerを配置可能になっている。 メソッド説明 addServlet() 動的にServlet配置、多重ローバロード addFilter() 動的にFilter配置、多重ローバロード addListener() 動的…

Servlet - Servlet3.0のファイルアップロード

HttpServletRequestの下記メソッドを利用してファイルアップロード行う。 Part getPart(String name) Collection getParts() uploadFile.jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>file upload form.</title> </head> <body> </body></html>

Servlet - Servlet3.0の非同期処理のListener

AsyncContextのイベントはAsyncListenerインタフェース を実装して実現する。 IF説明 onStartAsync 非同期処理開始 onComplete 非同期処理終了 onError 非同期処理異常 onTimeOut 非同期処理タイムアウト リスト配置方法 // 非同期開始 AsyncContext act = r…

Servlet - Servlet3.0の非同期処理のサポート

Servlet3.0ではAsyncContextクラスを使って非同期処理を行う。 ServletはServletRequestの下記メソッドを使って非同期開始、AsyncContext生成を行う。 1. AsyncContext startAsync() 2. AsyncContext startAsync(ServletRequest request, ServletResponse re…

Servlet - Servlet3.0のアノテーション

Webコンポーネント(Servlet,Filter,Listenerなど)の配置を従来のweb.xml に記述する方法以外アノテーションで配置できるなっている。 アノテーション説明 @WebServlet Servletの配置 @WebFilter Filterの配置 @WebListener Listenerの配置 @WebInitParam @We…

Servlet - HttpSessionListenerとHttpSessionAttributeListener

二つのListenerを一つのクラスに記述する。 HttpSessionListener HttpSessionAttributeListener HttpSessionListenerImp .java import javax.servlet.annotation.WebListener; import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSessio…

Servlet - ServletContextAttributeListener

application範囲の属性変更を監視するServletContextAttributeListenerを実装する。 ServletContextListenerImp.java import javax.servlet.ServletContextAttributeEvent; import javax.servlet.ServletContextAttributeListener; import javax.servlet.ann…

Servlet - ServletContextListener

Webアプリの起動を終了監視するServletContextListenerを実装する。 ServletContextListenerImp.java import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import javax.servlet…

Servlet - Listener配置方法

Servlet3.0からは下記2種類の配置方法がある。 1. Listenerクラスに@WebListernerアノテーションを使う。 2. 従来方法であるweb.xmlに記述する。 <listener> <listener-class>Listenerクラス</listener> </listener>

Servlet - Listenerとは

ServletのListenerとは、Webアプリ内の各種イベントを キャッチするための仕組みである。 例えば、Webアプリの起動と終了、Session開始と終了、 リクエストキャッチなど。 Listener適用には2ステップが必要。 1. Listenerクラス作成 2. Listener配置 Listene…

Servlet - Filter配置方法

Servlet3.0からは下記2種類の配置方法がある。1. Filterクラスに@WebFilterアノテーションを使う。(使用例)2. 従来方法であるweb.xmlに記述する。WebFilterの常用属性 属性説明 asyncSupported Servletが非同期操作モードをサーポートするか dispatcherTyp…

Servlet - Filterクラス作成

Filterクラスはjavax.servlet.Filterインタフェースを実装する。 1. void init(FilterConfit config) ⇒ 初期化メソッド 2. void destory() ⇒ 破棄メソッド 3. void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) ⇒ filter…

Servlet - Filterとは

Filterとはservletの強化版ともいえる。 HttpServletRequestに対して前処理とHttpServletResponseに 対して後処理を行うことができる。 Filter適用には2ステップが必要。 1. Filterクラス作成 2. Filter配置

Servlet - 初期化パラメータ(init-param)

Servletの初期化パラメータはServlet生成後のinit()メソッドで使用される。 設定方法は 1. web.xmlに<servlet>タグの<init-param>で設定する。 2. @WebServletアノテーションのinitParams属性で設定する。 ※初期化パラメータはServletConfigオブジェクトを通してアクセスする。 we</init-param></servlet>…

Servlet - load-on-startup

load-on-startupのServletとは Webアプリが起動時にインスタンスが生成されるServletのこと。 設定方法は 1. web.xmlに<servlet>タグの<load-on-startup>で設定する。 2. @WebServletアノテーションのloadOnStartupで設定する。 ※load-on-startupの属性は整数であり、小さいほどインス</load-on-startup></servlet>…

Servlet - ライフサイクル

1. Servletのインスタンスが生成されるタイミングは二つがある。 a. 最初にServletにリクエストした時生成される。 殆どの場合、このケースである。 b. Webアプリが起動する時、生成される。 つまり load-on-statupのServletである。 2. すべてのServletの実…

Servlet - 配置方法

Servletの配置とは簡単に言えば ServletをWebアプリ中に配置して、リクエストがあった際にServletが 呼び出されるように設定すること。 Servlet3.0からは下記2種類の配置方法がある。 1. Servletクラスに@WebServletアノテーションを使う。(使用例) 2. 従…

Servlet - Servletとは

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

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…

JSP - requestオブジェクト

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

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>

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(…

JSPの4つの基本文法

1. JSP注釈 <%-- 注釈 --%>2. JSP宣言 <%! 宣言 %>3. JSP式出力 <%=式%>4. JSPスクリプトレット <% スクリプト %> 例: <%@ page contentType="text/html;charset=Shift_jis" language="java" %> <html> <head> <title>Welcome!</title> </head> <%-- 下記は変数とメソッドを宣言する --%> <%! </html>…

テキストエディタでWebアプリ作成

1. 任意のフォルダーを作成する。(webDemoとする) 2. フォルダー内にWEB-INFを作成する。(大小文字区別) 3. tomcatもしくは任意のwebアプリのWEB-INF内のweb.xmlをwebApp/WEB-INF内に配置する。 (例では、tomcat7から取得) 4. web.xmlを下記に修正する。