【サーブレット】05-JSP使用

4452 ワード

サーブレットはサーバのウィジェットとして、ビジネス上の問題(コントローラとして)を解決してくれました.しかし、「フロントエンド」に近いコードを書くには、JSPに関する技術を知る必要があります.
JSPでは、次のことを理解します.
  • JSPコード構成
  • テンプレート
  • スクリプト要素(命令、アクション、宣言、scriptlet、式)
  • 標準動作およびカスタム動作
  • 命令を使用してJSPコードを書く
  • page
  • include
  • tablib

  • JSP標準動作
  • include(ランタイムコール-個別.classファイル)
  • forward(ジャンプJSP、サーブレット)
  • JSP内蔵オブジェクト
  • request
  • response
  • out
  • session
  • config
  • application
  • page
  • pageContext
  • exception

  • JSPのライフサイクル
  • ページ変換:JSP->サーブレット
  • JSPページコンパイル
  • ロードクラス
  • インスタンス
  • を作成する
  • jspinit
  • 使用_jspService


  • JSPの例:
    
    
    
    
    
    

    まず、コンテナが私たちのJSPページに何をしたのか、JSPをサーブレットに変換する方法を考えます.
  • スクリプトのコードは汎用サービスメソッドに格納され、変数はローカル変数
  • です.
  • JSP宣言の変数を使用すると、サーブレットのクラス変数
  • になります.
    コンテナ、実際には、次の手順でサーブレットを生成します.
  • 命令を表示し、対応する方法
  • を変換する
  • HttpServeretのサブクラス
  • を作成
  • 宣言をチェックし、変数をクラス
  • に書き込む
  • サービスメソッド
  • の作成
  • HTMLをストリーム出力に変換する方式
  • .
    では、JSPのライフサイクルを見てみましょう.
  • JSPファイルがWebコンテナに配置される
  • 最初の要求が来て、JSPファイルは.java
  • に変換されます.
  • Javaファイルは.classファイル
  • にコンパイルされる
  • コンテナローディングサーブレットクラス
  • サーブレットをインスタンス化し、servletのjspInit()を呼び出して
  • を初期化する.
    サーブレットと同様に、JSPも初期化パラメータを構成できます.DDファイルにこのように書く必要があります.
    
        somefile
        
            
            
        
    

    あるいは、自分でJSPファイルに声明を書きます.

    , JSP (PageContext ):

    • APPLICATION_SCOPE

    • PAGE_SCOPE

    • REQUEST_SCOPE

    • SESSION_SCOPE

    , JSP , :

    • page( )

      • import

      • isThreadSafe

      • contentType

      • isErrorPage

      • errorPage

      • pageEncoding

      • 。。。。。。

    • taglib

    • include

    , JSP Java , , , scriptlet。 DD

    
        
            
                
                *.jsp
                true
            
        
    

    , , , ,JSP :

    JavaBean

    • jsp:useBean

    • jsp:setProperty

    • jsp:getProperty

    • jsp:param

    
    
        
    
    
    
    
        
    
    
    
    
        
    
    
    
        
    

    JavaBean , EL

    
    ${requestScope.name}
    
    ${requstScope.someList["0"]}

    EL , :

      • pageScope

      • requsetScope

      • sessionScope

      • applicationScope

      • param

      • paramValue

      • header

      • headerValues

    • cookie

    • initParam

    • pageContext

    
    
    1: 2:
    ${param.username} ${paramValues.food[0]} ${header.host}