JSP入門#01

5158 ワード

開発環境の構築に時間がかかりすぎます.
このクリップとJDKバージョンの問題で...

  • Webアプリケーションサーバ(WAS):ソフトウェア(典型的な例:Tomcat)を使用して、Webアプリケーションの実行環境を提供するコンピュータのオペレーティングシステム感覚.
    (Webサーバ、Webコンテナからなる)

  • Webサーバ(Webサーバ):ユーザー、Webコンテナから受け取った結果を静的ページに生成し、ユーザーに応答します.

  • Webコンテナ(Web Container):Webサーバからの要求に従って動的ページを作成し、Webサーバに戻ります.

  • 静的Webページ(Static):ユーザーがどのように要求しても、同じページには常に同じ外観が表示されます.

  • ダイナミックWebページ(Dynamic):同じページでもコンテンツが異なるページがあります.サーバは、お客様の要求に応じて結果を適切に表示します.前処理を経る.
  • JSP (Java Server Pages)


    :動的Webページを開発するためのWebプログラミング技術
    HTMLコードに必要な部分だけを挿入する形式です.

    出典:城洛県JSP Webプログラミングp.61

    典型的なWebドライバ

  • 静的ページ要求>Webサーバ>静的ページロード(.html)>Webサーバ>静的ページ応答
  • .
  • 動的ページ要求>Webサーバ>Webコンテナ(サーブレット+JSPエンジン)上の動的処理要求>JSPをサーブレットに変換して応答ページを生成>処理結果応答Webサーバ>動的ページ応答
  • JSPファイルの構成


    HTMLファイルにコマンド+スクリプト要素を追加

    インストラクション


    :JSPエンジンにJSPページをJavaコードに変換するために必要な情報を伝えます.スクリプト言語、エンコード方式などを設定します.
    (page, include, taglib)
    指示語の基本形式:<%@指示語タイプ属性1=「値1」...%>
  • page指令:JSPページの設定情報...
  • ページインジケータのプロパティ
  • 言語:指定スクリプト言語
  • contentType:文書型
  • pageEncoding:ソースコード符号化
  • import:必要な外部クラス
  • をインポート
    デフォルトで挿入されたページ命令
    <%@ page language="java"contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
    import命令
    <%@ page import="java.util.Date"%>

  • errorPage,iserrorPage:try/catch構文では、エラーが発生したときにエラーページを表示できますが、開発者が指定したJSP画面をerrorPage,iserrorPageプロパティで表示できます.
    たとえば、errorPage="IserrorPage.jsp"はエラーページであり、IserrorPageである.jspに指定されています.エラーが発生すると、Webブラウザにページが出力されます.IsErrorPage.jspは必ずisErrorPage="true"を指定し、発生したエラーを受信することができます.(要するに、ユーザーは友好的なエラーページを見ることができます)

  • trimDirectiveWhitespaces:Webブラウザでソースコードを表示すると、ページインジケータが空白に見えます.これらの不要な空白を解消するためにtrimDirectiveWhitespaces=を「true」に設定します.

  • buffer、autoFlush:bufferプロパティのデフォルト値は8 kbですが、サイズを指定したり、「none」を使用しないことができます.ただし、プリアンブル機能やエラーページ機能は使用できません.Autoflushプロパティは、バッファがデフォルトでtrueに設定されている場合に自動的にリフレッシュされます(データを宛先に送信し、バッファを空にします).falseの場合、バッファが満たされるとエラーが発生します.
  • include命令:外部ファイルを現在のJSPページに含める.
    (重複する部分を別のファイルに保存し、必要に応じて読み込み、使用できます)
    ページコマンドに加えて、ロードするすべてのファイルはhtmlタグを削除することで作成されます.
    <%@ include file="IncludeFile.jsp"%>

  • HelloJSP.jspでIncludeFileを使用します.jspを含む今日、明日の変数を使用しました.
    IncludeFile.jsp 코드
    
    <%@ page import="java.time.LocalDate"%>
    <%@ page import="java.time.LocalDateTime"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <%
    LocalDate today= LocalDate.now();
    LocalDateTime tomorrow = LocalDateTime.now().plusDays(1); 
    %>
  • taglib指示語:困難、
  • 省略

    スクリプト要素(宣言、式、スクリプト)


    :javaコードを直接記述する部分
    (JSP実行時にSebrit(.java)に変換し、クラス(.class)にコンパイルして応答します.この変換中にjspService()メソッドが作成されます.

  • 宣言簿
    jspService()メソッド外部宣言.
    <%! メソッド;変数%>を宣言する

  • スクリプト#スクリプト#
    実行するjavaコード領域が必要です.
    宣言部が宣言した内容を呼び出すしかない.
    jspService()メソッドの内部では、他のメソッドを宣言できません!
    <%javaコード%>

  • 式#シキ#
    主に変数の値をWebブラウザ画面に出力するために使用します.
    スクリプトの内部ではoutです.print()を使用しますが、単純な出力では式を使用します.
    <%=java式%>
  • スクリプト要素の使用例
    <%@ page ~생략~%>
    <%!
    	public int add(int num1, int num2){
        	return num1+num2;
       }
    %>
    <html>
    <head><title>스크립트 요소 사용 예시</title></head>
    <body>
    <%
    int result = add(10,20);
    %>
    표현식으로 변수를 호출하여 덧셈 결과를 출력 : <%=result%>
    <br/>
    표현식으로 메소드를 호출하여 덧셈 결과를 출력 : <%=add(10,20)%>
    </body>
    </html>