1. Section 1 サーブレット テクノロジー モデル
    1. HTTPリクエスト
      1. リクエストライン
        1. HTTPメソッド
          1. GET
          2. HEAD
          3. OPTIONS
          4. POST
          5. PUT
          6. DELETE
          7. TRACE
          8. CONNECT
      2. ヘッダ
        1. Accept-Encoding
        2. Accept-Language
        3. Referer
        4. User-Agent
      3. ボディ
        1. GET時は空
    2. HTTPレスポンス
      1. ステータスライン
        1. ステータスコード
      2. ヘッダ
      3. ボディ
    3. サーブレット
      1. 引数なしコンストラクタ
      2. Servletインターフェース
        1. GenericServletクラス
        2. HttpServletクラス
      3. ライフサイクル
        1. init
        2. service
        3. destroy
    4. HttpServletRequest
      1. リクエストヘッダ
        1. getHeader
        2. getHeaders
        3. getHeaderNames:Enumeration
        4. getIntHeader
      2. リクエストパラメータ
        1. getParameter
        2. getParameterNames:Enumeration
        3. getParameterValues:String[]
        4. getParameterMap
        5. getQueryString
      3. クッキー
        1. getCookies:Cookie[]
      4. 拡張
        1. HttpServletRequestWrapperクラス
          1. Decoratorパターン
          2. フィルタ内でラッピングして変更
    5. HttpServeletResponse
      1. setStatus
      2. レスポンスヘッダ関連
        1. setHeader
        2. setDateHeader
        3. setIntHeader
        4. addHeader
        5. addDateHeader
        6. addIntHeader
        7. setContentLength
      3. ボディ
        1. getOutputStream:ServletOutputStream
        2. getWriter
      4. エラー時
        1. sendError
      5. クッキー
        1. addCookie
    6. Cookie
      1. getName
      2. getValue
      3. setMaxAge(秒)
      4. setSecure
  2. Section 2 Webアプリケーションの構造と配備
    1. ディレクトリ構成
      1. コンテキストルート
        1. WEB-INF
          1. classes
          2. lib
          3. web.xml
          4. Deployment Descriptor
          5. tags
          6. タグファイル
    2. 配備記述子(web.xml)
      1. web-app
        1. servlet
          1. servlet-name
          2. servlet-class|jsp-file
          3. load-on-startup
          4. 1以上
          5. init-param
          6. param-name
          7. param-value
        2. servlet-mapping
          1. servlet-name
          2. url-pattern
          3. 固定URL
          4. /foo
          5. 階層以下
          6. /foo/*
          7. 拡張子
          8. *.do
        3. welcome-file-list
          1. welcome-file
          2. /は無し
        4. error-page
          1. error-code|exception
          2. location
        5. MIME
          1. mime-mapping
          2. extension
          3. mime-type
        6. 環境エントリ
          1. env-entry
          2. description
          3. env-entry-name
          4. env-entry-type
          5. env-entry-value
        7. リソース参照
          1. resource-ref
          2. res-ref-name
          3. res-type
          4. res-auth
        8. リソース環境
          1. resource-env-ref
          2. resource-env-ref-name
          3. resource-env-type
        9. リモートEJB
          1. ejb-ref
          2. ejb-ref-name
          3. ejb-ref-type
          4. home
          5. remote
          6. ejb-link
        10. ローカルEJB
          1. ejb-local-ref
          2. ejb-ref-name
          3. ejb-ref-type
          4. local-home
          5. local
          6. ejb-link
  3. Section 3 Webコンテナモデル
    1. 初期化パラメータ
      1. コンテキスト
        1. web.xml
          1. context-param
          2. param-name
          3. param-value
      2. サーブレット
        1. ServletConfig
          1. getInitParameter
    2. スコープオブジェクト
      1. アプリケーション
        1. ServletContext
          1. getInitParameter
      2. セッション
        1. HttpSession
      3. リクエスト
        1. ServletRequest
      4. 属性
        1. getAttribute
        2. setAttribute
        3. removeAttribute
        4. getAttributeNames
    3. ライフサイクルイベント
      1. コンテキスト
        1. ServletContextEvent
          1. ServletContextListener
          2. contextInitialized
          3. contextDestroyed
        2. ServletContextAttributeEvent
          1. ServletContextAttributeListener
          2. attributeAdded
          3. attributeRemoved
          4. attributeReplaced
      2. リクエスト
        1. ServletRequestEvent
          1. ServletRequestListener
          2. requestDestroyed
          3. requestInitialized
        2. ServletRequestAttributeEvent
          1. ServletRequestAttributeListener
      3. web.xml
        1. listener
          1. listener-class
    4. RequestDispatcher
      1. 取得
        1. ServletContext#getRequestDispatcher
          1. 絶対パス
        2. ServletRequest#getRequestDispatcher
          1. 相対パス
      2. メソッド
        1. forward
        2. include
    5. フィルタ
      1. Filterインターフェース
        1. destroy
        2. doFilter
        3. init
      2. web.xml
        1. filter
          1. filter-name
          2. filter-class
        2. filter-mapping
          1. filter-name
          2. url-pattern
          3. dispatcher
          4. ERROR
          5. エラーページ遷移時
          6. REQUEST
          7. リクエスト時
          8. FORWARD
          9. 転送時
          10. INCLUDE
          11. 別リソースのインクルード時
  4. Section 4 セッション管理
    1. セッションの取得
      1. getSession
      2. getSession(boolean)
        1. 引数:true
        2. false
          1. 無い場合に、nullを返す
    2. 属性
      1. getAttribute
      2. setAttribute
      3. removeAttribute
    3. HttpSession
      1. isNew
      2. invalidate
      3. setMaxInactiveInterval
        1. 秒指定
      4. getCreationTime
      5. getLastAccessedTime
    4. web.xml
      1. session-config
        1. session-timeout
          1. 分指定
    5. URLリライティング
      1. URLの場合
        1. HttpServletResponse#encodeURL
      2. sendRedirectの場合
        1. HttpServletResponse#encodeRedirectURL
    6. イベント
      1. HttpSessionEvent
        1. HttpSessionListener
          1. sessionCreated
          2. sessionDestroyed
        2. HttpSessionActivationListener
          1. sessionDidActive
          2. sessionWillPassivate
      2. HttpSessionBindingEvent
        1. getSessionメソッド
        2. HttpSessionAttributeListener
        3. HttpSessionBindingListener
          1. valueBound
          2. valueUnbound
      3. web.xml
        1. listener
  5. Section 5 Webアプリケーションのセキュリティ
    1. 用語
      1. 認証
        1. 正当なユーザのみ利用可能
      2. 権限
        1. ユーザに応じて機能を制限
      3. ロール
        1. 権限の単位
      4. 機密性
        1. 認証されかつ、権限のあるユーザのみが利用可能
      5. 完全性
        1. 改ざん無く、整合性の取れている
    2. 認証方式
      1. BASIC
        1. Base64
      2. DIGEST
      3. CLIENT-CERT
        1. SSLのクライアント証明書利用
      4. FORM
        1. j_security_check
        2. j_username
        3. j_password
    3. web.xml
      1. 認証方式
        1. login-config
          1. auth-method
          2. 認証方式を設定
          3. realm-name
          4. 領域名を指定
      2. セキュリティロール
        1. security-role
          1. role-name
          2. ロール名
      3. ロールのマッピング
        1. security-role-ref
          1. role-name
          2. role-link
  6. Section 11 - Java EEパターン
    1. プレゼンテーション層
      1. Intercepting Filter
        1. リクエスト・レスポンスの前後処理を可能とする
        2. メリット
          1. 処理毎作成で、保守、拡張性の向上
          2. 変更、追加、組み合わせを柔軟に可能
          3. フィルタ以外への影響を与えない
      2. Front Controller
        1. 全てのリスクエストを受け付けるものを1つ用意する
        2. メリット
          1. 共通ロジックの一元化
          2. 一元管理により保守性向上
    2. ビジネス層
      1. Business Delegate
        1. ビジネス層を呼び出す際の複雑な手順を、Delegateに任せる。 クライアントはDeletegaのメソッドを呼び出すのみ
        2. メリット
      2. Service Locator
        1. ビジネス層のルックアップ
      3. Transfer Object
    3. その他
      1. MVC
        1. メリット
          1. 役割が明確で、独立性の確保
          2. 依存性を抑え、再利用性を高める
          3. 依存性が低いので、保守性向上
  7. Section 10 - カスタムタグライブラリの構築
    1. tld
      1. taglib
        1. tlib-version:バージョン
        2. short-name:略称
        3. uri:taglibディレクティブでの指定値
        4. tag
          1. name:名前(JSPで使用)
          2. tag-class:クラス名
          3. body-content
          4. empty
          5. ボディ無し
          6. JSP
          7. JSPとして評価
          8. tagdependent
          9. 評価しないでそのまま渡す
          10. scriptless
          11. テキスト,JSPタグ,ELは可、 スクリプティングは不可
          12. variable
          13. name-give
          14. 変数名
          15. name-from-attribute
          16. 属性値を利用
          17. variable-class
          18. データ型(java.lang.String)
          19. scope
          20. AT_BEGIN
          21. 開始以降
          22. AT_END
          23. 終了以降
          24. NESTED
          25. 内部
          26. description
          27. declare
          28. attribute
          29. name
          30. 名前(必須)
          31. required
          32. 必須(false)
          33. rtexprvalue
          34. 式利用可(false)
          35. fragment
          36. フラグメント(false)
          37. type
          38. データ型(java.lang.String)
          39. dynamic-attributes:動的属性
    2. タグハンドラ
      1. JspTagインターフェース
        1. クラシックタグハンドラ
          1. Tagインターフェース
          2. メソッド
          3. タグ処理ワークフロー関連
          4. setPageContext
          5. setParent
          6. doStartTag
          7. EVAL_BODY_INCLUDE
          8. SKIP_BODY
          9. doEndTag
          10. SKIP_PAGE
          11. EVAL_PAGE
          12. release
          13. 親タグ
          14. getParent
          15. findAncestorWithClass
          16. IteraionTagインターフェース
          17. doAfterBody
          18. EVAL_BODY_AGAIN
          19. TagSupportクラス
          20. pageContext変数(protected)
          21. BodyTagインターフェース
          22. setBodyContent
          23. doInitBody
          24. EVAL_BODY_BUFFERED
          25. BodyContent
          26. clearBody
          27. getReader
          28. getString
          29. getEnclosingWriter
        2. シンプルタグハンドラ
          1. SimpleTagインターフェース
          2. メソッド
          3. doTag
          4. getParent
          5. SimpleTagSupport
          6. getJspBody
          7. findAncestorWithClass
      2. PageContext
        1. getOut:JspWriter
      3. 属性
        1. tldへの定義
        2. setterメソッド
        3. 指定方法
          1. <タグ 名前="値"
          2. <タグ> <jsp:attribute name="名前">値</jsp:attribute> <jsp:body>ないよう</jsp:body> </タグ>
        4. DynamicAttributesインターフェース
          1. setDynamicAttributeメソッド
      4. スクリプティング変数
        1. ハンドらクラス内の変数をJSPで利用可
    3. タグファイル
      1. tag, tagx
      2. WEB-INF/tags(サブ可)
      3. tld不要
      4. 使用方法
        1. <%@ taglib tagdir="/WEB-INF/tags" prefix="" %>
        2. <prefix:タグファイル名>
      5. 暗黙オブジェクト
        1. jspContext
      6. ディレクティブ
        1. taglib
        2. include
        3. 追加
          1. tag(≒page+tld)
          2. attribute
          3. variable
      7. 専用アクションタグ
        1. jsp:doBody
        2. jsp:invoke
  8. Section 6 JavaServer Pages(JSP)テクノロジーモデル
    1. ディレクティブ
      1. include
      2. page
        1. autoFlash
          1. サブトピック 1
        2. buffer
        3. contentType
        4. errorPage
        5. extends
        6. import
        7. info
        8. isELIgnored
        9. isErrorPage
        10. isThreadSafe
        11. language
        12. pageEncoding
        13. session
      3. taglib
    2. スクリプトレット
      1. <% %>
      2. <jsp:scriptlet></
    3. 宣言
      1. <%! %>
      2. <jsp:declaration>
      1. <%= %>
      2. <jsp:expression>
    4. ライフサイクル
      1. jspInit
      2. _jspService
      3. jspDestroy
    5. JSP暗黙オブジェクト
      1. application
      2. config
      3. exception
      4. out
      5. page
      6. pageContext
      7. response
      8. request
      9. session
    6. web.xml
      1. jsp-config
        1. taglib
        2. jsp-property-group
          1. deferred-syntax-allowd-as-literal
  9. Section 7 式言語(EL)を使用したJSPページの構築
    1. 構文
      1. ${}
      2. 使用可
      3. 使用不可
        1. スクリプトレット
        2. 宣言
    2. 暗黙オブジェクト
    3. 検索順
      1. 暗黙オブジェクト
      2. page
      3. request
      4. session
      5. application
    4. EL Functions
      1. tld
        1. taglib
          1. function
          2. name
          3. function-class
          4. function-signature
      2. ルール
        1. public staticメソッド
  10. Section 9 タグライブラリを使用したJSPページの構築
    1. JSTL
      1. core
        1. out
          1. default
          2. escapeXML
          3. value
        2. set
          1. property
          2. scope
          3. target
          4. value
          5. var
        3. remove
          1. scope
          2. var
      2. fmt
      3. functions
      4. sql
      5. XML
    2. taglibディレクティブ
      1. <%@ taglib %>
        1. prefix
          1. 接頭辞
        2. uri
          1. URI
      2. <jsp:root ></jsp:root>
        1. xmlns:接頭辞
          1. URI
  11. Section 8 標準アクションを使用したJSPページの構築
    1. 標準アクション
      1. jsp:useBean
        1. 属性
          1. id
          2. class
          3. type
          4. beanName
          5. scope
        2. 指定
          1. classのみ
          2. typeのみ
          3. getAttributeを行うのみ
          4. type, classの組み合わせ
          5. type, beanNameの組み合わせ
      2. jsp:setProperty
        1. 属性
          1. name
          2. property
          3. *で自動マッピング
          4. value
          5. param
      3. jsp:getProperty
      4. jsp:forward
        1. page
      5. jsp:include
        1. page