[Backend]JSP

4600 ワード


JSP(Java Server Page)

  • JSPは、HTML内にjavaコードを挿入し、Webサーバ上でWebページを動的に生成してWebブラウザに戻る言語です.
  • Java EE仕様の一部として、Webアプリケーションサーバ上で実行されます.
  • 実行時にjavaサーブレットに変換して実行する(初期jspリクエスト時にjspファイルを変更した場合)ため、サーブレットとほぼ同様であるが、サーブレットとは異なりhtml規格に従って作成され、Webデザインが容易である.
  • Java in HTML
  • Scripting Element

  • 宣言:メンバー変数またはメソッドを宣言する領域
    <%! 変数またはメソッド%>
  • <%!
    String str;
    
    public void init() {
    	str = "hi";
    }
    %>
  • スクリプト:クライアント要求時に呼び出される領域が、サーブレットに変換されるたびにサービスメソッドに対応します.request、responseに関連するコードを実装します.
    <%javaコード%>
  • <%
    for(int i = 1; i<=10; i++) {
    	out.println("<hr>"+i);
    }
    %>
  • 式:ブラウザにデータを出力します.
    <%=文字列%>
  • <%= num %>!!
    // <% out.print(문자열); %>과 같은 표현이다.
    // 그러므로 <%= 문자열; %>은 세미콜론이 2개가 붙어져 있는 형태가 된다. ;를 쓰면 안된다.
  • コメント(Comment):コードに追加の説明を作成する
    <%-コメント--%>
  • <%-- JSP 주석입니다 --%>
    <!-- HTML 주석입니다 --%>
    
    // html은 개발자모드에서 주석이 보이지만, jsp는 보이지 않는다는 차이점이 있다.

    directive

  • page Directive:現在のjspページの処理方法に関する情報をコンテナに提供します.
    <%@ page attr1="val1"attr2="val2"... %>
  • include Directive:特定のjspファイルをページに含めます.複数のjspページを繰り返し使用する部分は、jspファイルとして作成し、繰り返し領域に含めることで、繰り返しコードを減らすことができます.
    <$@ include file="/template/header.jsp"%>
  • taglib Directive:jstlまたはユーザーが作成したカスタムタグ(custom tag)を使用すると、JSPページで不要なjavaコードを減らすことができます.
    <%@ taglib prefix="c"url="http://java.sun.com/jsp/jstl/core"%>
  • Webページの移動


    リクエスト(request,response)sendRedirect(location)は、requestDispatcher dis=requestを使用します.getRequestDispatcher(path);dis.forward(request,response);response.sendRedirect(location);移動範囲同じサーバ(プロジェクト)内のパス同じサーバには、他のurl可能なlocation barが既存のurl(実際に移動したアドレスが不明)を保持してページに移動し、変更オブジェクトの既存のリクエストと応答は、既存のリクエストと応答をそのまま転送します.新しいリクエストと応答todtjdの速度が速いforward()に比べて、遅いデータメンテナンスリクエストのsetAttribute(name,value)によって伝達されます.リクエストはデータを保存できません.セッションまたはクッキーを使用します.