JavaEE
JSP2.0から導入されている変数表示するために使用する。 式例 ${演算} ${1 + 1] ${10 MOD 3} &{1 == 1} ${プロパティー} ${name}」→「pageContext.findAttribute("name") ${オブジェクト.プロパティー} ${bean.value}」→ JSP式の<%= bean.getValue() > ${map…
Taf FIleは独自タグの簡易版である。 タグクラス、タグライブラリ定義(,tld)は不要である。 TagFileのコンパイル指令 属性説明 taglib JSPのtaglibと同じ(他のtaglibを読み込み) include JSPのincludeと同じ(JSPか静的ページ読み込み) tag JSPのpageと似てい…
<%@ taglib uri="tld内に定義したURI" prefix="mytag"%> <mytag:helloWorld/><br/></br/></mytag:helloworld/>
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…
Servlet3.0からはContextServletは下記メソッドを提供して、 動的にServlet,Filter,Listenerを配置可能になっている。 メソッド説明 addServlet() 動的にServlet配置、多重ローバロード addFilter() 動的にFilter配置、多重ローバロード addListener() 動的…
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>
AsyncContextのイベントはAsyncListenerインタフェース を実装して実現する。 IF説明 onStartAsync 非同期処理開始 onComplete 非同期処理終了 onError 非同期処理異常 onTimeOut 非同期処理タイムアウト リスト配置方法 // 非同期開始 AsyncContext act = r…
Servlet3.0ではAsyncContextクラスを使って非同期処理を行う。 ServletはServletRequestの下記メソッドを使って非同期開始、AsyncContext生成を行う。 1. AsyncContext startAsync() 2. AsyncContext startAsync(ServletRequest request, ServletResponse re…
Webコンポーネント(Servlet,Filter,Listenerなど)の配置を従来のweb.xml に記述する方法以外アノテーションで配置できるなっている。 アノテーション説明 @WebServlet Servletの配置 @WebFilter Filterの配置 @WebListener Listenerの配置 @WebInitParam @We…
二つのListenerを一つのクラスに記述する。 HttpSessionListener HttpSessionAttributeListener HttpSessionListenerImp .java import javax.servlet.annotation.WebListener; import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSessio…
application範囲の属性変更を監視するServletContextAttributeListenerを実装する。 ServletContextListenerImp.java import javax.servlet.ServletContextAttributeEvent; import javax.servlet.ServletContextAttributeListener; import javax.servlet.ann…
Webアプリの起動を終了監視するServletContextListenerを実装する。 ServletContextListenerImp.java import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import javax.servlet…
Servlet3.0からは下記2種類の配置方法がある。 1. Listenerクラスに@WebListernerアノテーションを使う。 2. 従来方法であるweb.xmlに記述する。 <listener> <listener-class>Listenerクラス</listener> </listener>
ServletのListenerとは、Webアプリ内の各種イベントを キャッチするための仕組みである。 例えば、Webアプリの起動と終了、Session開始と終了、 リクエストキャッチなど。 Listener適用には2ステップが必要。 1. Listenerクラス作成 2. Listener配置 Listene…
Servlet3.0からは下記2種類の配置方法がある。1. Filterクラスに@WebFilterアノテーションを使う。(使用例)2. 従来方法であるweb.xmlに記述する。WebFilterの常用属性 属性説明 asyncSupported Servletが非同期操作モードをサーポートするか dispatcherTyp…
Filterクラスはjavax.servlet.Filterインタフェースを実装する。 1. void init(FilterConfit config) ⇒ 初期化メソッド 2. void destory() ⇒ 破棄メソッド 3. void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) ⇒ filter…
Filterとはservletの強化版ともいえる。 HttpServletRequestに対して前処理とHttpServletResponseに 対して後処理を行うことができる。 Filter適用には2ステップが必要。 1. Filterクラス作成 2. Filter配置
Servletの初期化パラメータはServlet生成後のinit()メソッドで使用される。 設定方法は 1. web.xmlに<servlet>タグの<init-param>で設定する。 2. @WebServletアノテーションのinitParams属性で設定する。 ※初期化パラメータはServletConfigオブジェクトを通してアクセスする。 we</init-param></servlet>…
load-on-startupのServletとは Webアプリが起動時にインスタンスが生成されるServletのこと。 設定方法は 1. web.xmlに<servlet>タグの<load-on-startup>で設定する。 2. @WebServletアノテーションのloadOnStartupで設定する。 ※load-on-startupの属性は整数であり、小さいほどインス</load-on-startup></servlet>…
1. Servletのインスタンスが生成されるタイミングは二つがある。 a. 最初にServletにリクエストした時生成される。 殆どの場合、このケースである。 b. Webアプリが起動する時、生成される。 つまり load-on-statupのServletである。 2. すべてのServletの実…
Servletの配置とは簡単に言えば ServletをWebアプリ中に配置して、リクエストがあった際にServletが 呼び出されるように設定すること。 Servlet3.0からは下記2種類の配置方法がある。 1. Servletクラスに@WebServletアノテーションを使う。(使用例) 2. 従…
J2EEにおけるクライアントのリクエストを処理し、応答を返すプログラムである。 JSPの本質もServletであるが 区別は 1. Sevrlet内には暗黙オブジェクト(application, session, response, requestなど)がデフォルト生成されない。 2. 静的HTMLタグはServletが…
クライアントがサーバに接続から切断までの情報を保存する。 例えば、ログイン中なのか、なにをカートに入れているのかなど。 ※単純にページ間の情報共有は、sessionを使うべきではなく、requestとforwardを使う。 ※sessionに設定する値は、シリアライズ化可…
クライアントに保存される情報である。ブラウザを閉じてもライフサイクル中には消えない。 cookie追加 /./ create cookie with key and value.Cookie c = new Cookie("name", "Alex");// set lifec.setMaxAge(24 * 3600)// add cookie to clientresponse.add…
使用例 : response.senRedirect("xxxx.jsp") forwardredirect 同じリクエスト 新しいくクエスト 元のリクエストパラメータ取得できる 元のリクエストパラメータはなくなる URLは変更されない URLが変更される
クライアントへの応答する際に使用するオブジェクト。 1. 非文字コンテンツの応答 2. リダイレクト 3. cookie追加 通常はoutオブジェクトを使用するが、非キャラコンテンツは応答できない。 主なメソッド説明 getOutputStream() byteのoutputストリーム send…
クライアントの要求(リクエスト)をカプセルかしたオブジェクトである。 1. リクエストパラメータを取得する。 2. requestスコープ属性操作ができる。 3. forward, includeを実行する。 主なメソッド説明 getAttribute(String name) requestスコープのname…
page, request, session, applicationスコープの情報にアクセスできる。 主なメソッド説明 getAttribute(String name) pageスコープのname属性取得 getAttribute(String name, int scope) scope指定のname属性取得 PageContext.PAGE_SCOPE pageContext.REQUE…
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>