Servelt/JSP basic


目次

  • 目次
  • 1.副手
  • 1.1. タブレット基本スケルトン
  • 1.2. HttpServletRequest
  • 1.3. HttpServletResponse
  • 1.4. サービスライフサイクル
  • 1.5. テンプレート作成時の注意事項
  • 2. JSP
  • 2.1. ガイド人
  • 2.2. スクリプト要素
  • 2.2.1. 式#シキ#
  • 2.2.2. スクリプト#スクリプト#
  • 2.2.3. 宣言簿
  • 2.3. 既定のオブジェクト
  • 2.3.1 jspフォーマット
  • 2.4. .jspブラウザの設定方法
  • 1.副手


    サーブレットはJava EE specであり、その実現体はTomcat、underow、jettyである.
    Webサーバ
  • STATICファイルサービス
  • 負荷バランシング
  • リバースエージェント
  • Webアプリケーションサーバ
  • ビジネスロジック
  • サーブレットインプリメンテーションはサーブレットコンテナと呼ばれます.
    インプリメンテーションボディ
  • tomcat
  • undertow
  • jetty
  • ...
  • 1.1. タブレット基本スケルトン

  • モノトーン
  • package example_Servlet;
    
    import java.io.IOException;
    import javax.servlet.*;
    
    /**
     * Servlet implementation class HelloServelt
     */
    @WebServlet("/path") // 경로
    public class HelloServelt extends HttpServlet {
    	private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         * 서블릿 생성자
         */
        public HelloServelt() { 
            super();
            // TODO Auto-generated constructor stub
        }
    
    	/**
    	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    	 */
         
         //WebServlet에 지정된 경로로 GET 메서드로 요청 시 처리 할 로직
    	protected void doGet(HttpServletRequest request, HttpServletResponseresponse) throws ServletException, IOException {
            
    	}
    
    	/**
    	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    	 */
    
          //WebServlet에 지정된 경로로 POST 메서드로 요청 시 처리 할 로직
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    	
    	}
    
    }

    1.2. HttpServletRequest


    HTTPリクエストの対象
  • 要求行
  • メソッド
  • URI
  • プロトコル
  • 要求ヘッダ
  • 要求主体
  • 1.3. HttpServletResponse

  • ステータスライン
  • ステータスコード
  • 応答ヘッダ
  • 応答主体
  • 1.4. サービスライフサイクル

  • init:最初は1回のみ実行
  • service:処理要求と応答
  • destroy:メモリからの解放時に呼び出す
  • コンテンツが変更され、コンテキストが再ロードされた場合
  • サーバの再起動
  • サーバシャットダウン
  • 1.5. テンプレート作成時の注意事項

  • Subetはモノトーン
  • 破壊されるまで存在していた.
  • 状態でサイド効果が発生する場合があります
  • できるだけメンバー変数を保持しない
  • 2. JSP


    JSP基本コード構造
    <%@page import="java.text.SimpleDateFormat"%>
    <%@page import="java.util.Date"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    	<meta charset="UTF-8">
    	<title>JSP</title>
    </head>
    <body>
    <%
    	final Date date = new Date();
    	final SimpleDateFormat sdf 
    	= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss(E)");
    %>
    	<h1>._.</h1>
    	<p>현재 시간: <%= sdf.format(date) %></p>
    </body>
    </html>
    上記のコードは大きく3つの部分に分かれています
    1.指導(direction)
    2.スクリプト要素(Script let、Expression)
    3. HTML

    2.1. ガイド人


    ディレクトリはJSPの設定情報を表します.
    <%@ page import="java.text.SimpleDateFormat"%>
    <%@ page import="java.util.Date"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    基本的な使い方
    <%@ 디렉티브이름 속성="값"%>
  • page:ページに必要な情報を指定します.
  • java import,レスポンスバッファサイズ,ドキュメントタイプ
  • taglib:ラベルライブラリの指定
  • JSTL
  • include:その他のドキュメントのインポート
  • 2.2. スクリプト要素


    JSPページに存在し、動的に生成されるコンテンツです.
  • スクリプト
  • 声明
  • 2.2.1. 式#シキ#

  • 式(Expression):出力値.正しい値のみ出力します.
  • <%=および>より低い価格で計算
  • <p>현재 시간: <%= sdf.format(date) %></p>

    2.2.2. スクリプト#スクリプト#

  • スクリプト(Scriptlet):javaコードを実行
  • <%
    	final Date date = new Date();
    	final SimpleDateFormat sdf 
    	= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss(E)");
    %>

    2.2.3. 宣言簿

  • 宣言:Javaメソッド宣言
  • <%!
    	private static String printDate() {
    	final Date date = new Date();
    	final SimpleDateFormat sdf 
    	= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss(E)");
    	return sdf.format(date);
    }
    %>

    2.3. 既定のオブジェクト

  • Request(HttpServeretRequest):HTTPリクエストのオブジェクト.
  • Response(HTTPサーブレットResponse):HTTP応答の対象.応答結果を処理して送信します.
  • セッション(HttpSession):セッション
  • アプリケーション:現在のアプリケーション(猫)の情報
  • pageContext:現在のページ構成のコンテキスト
  • 2.3.1 jspフォーマット

    // <%@ 지시문 - >  direction %> 
    // <%! 선언문 %>
    // <%= 표현식 %> 
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <% 
    	// 스크립트릿 영역 (scriptlet) : java coding area
    	// java -> System.out.println();
    	// js -> console.log();, document.write();
    	out.print("hi jQuery...");
    %>
    </body>
    </html>
    

    2.4. .jspブラウザの設定方法




    References

  • 🎈受講総括