1. JSP と HTML の違いは何ですか?
回答: JSP ページは通常、HTML タグ、JSP コメント、Java スクリプト要素 (ステートメント、Java プログラム部分、Java 式)、JSP タグ (命令タグ、アクション タグ、カスタム タグ) の 4 つの基本要素で構成されます。
HTML はクライアント側で実行され、ブラウザによって解釈および実行されます。JSP はサーバー側で実行され、実行環境を提供する Web コンテナが必要です。
HTML は静的データの表示に重点を置き、静的 Web ページを生成します。JSP はサーバーとの対話に重点を置き、主に動的 Web ページを使用して開発されます。
HTML は JSP よりも高速にロードされます。
HTML ページは静的ページです。つまり、ユーザーが事前に作成してサーバー上に配置し、Web サーバーによってクライアントに送信されます。
JSP ページは、ページの Java コード部分を実行する JSP コンテナによってリアルタイムで生成される HTML ページであり、サーバー側の動的ページです。
Java プログラム: <% Java コード%>
メンバー変数とメソッドの宣言: <%! 変数またはメソッド定義 %>
Java プログラムには次の特徴があります。
① JSPページで宣言したメソッドを呼び出す
② JSPページで宣言したメンバ変数を操作する
③ローカル変数の宣言
④ローカル変数を操作する
Java 式: <%= 式 %>
① <%= と %> の間にステートメントを挿入することはできません。つまり、入力内容の末尾をセミコロンで終わらせることはできません。
②<%= は完全な記号です。<% と = の間にスペースを入れることはできません。
<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<jsp:include page="a.jsp"/><!--JSP アクションタグ-->
<%!
int i=0;
int add(int x, int y){
x+y を返します。
}
//データ宣言とメソッド宣言はここ
%>
<%
//Java プログラム部分
i++;
int 結果 = add(1,2);
%>
i の値は <%=i%> <%--Java 式--%> です。
2. JSP アノテーションの 3 種類とは何ですか?
回答: <!--HTML コメント-->、<%--JSP コメント--%>、Java コメント (//、/* */)
3. JSP 式の形式は何ですか? それは何をするためのものか?
回答: Java 式: <%= %>、式の値は Web サーバーによって計算され、計算結果は HTML ページのコンテンツとして表示される文字列の形式でクライアントに送信されます。
4. JSP プログラムセグメント内にメソッドを定義できますか? なぜ?
回答: メソッドを定義することはできません。JSP コードは、コンパイル時にサーブレット クラスのメソッド内のコード セグメントになります。
5. JSP ステートメントとは何ですか? それはなんのためですか?使用する際の注意点は何ですか?
回答: <%! %> は JSP の宣言であり、<%! %> でメソッド関数、属性、およびグローバル変数を宣言できます。ローカル変数を宣言しないでください
基本知識:
①JSPの本質はサーブレットであり、実行前にJSPはTomcatサーバーによって.javaファイルに変換され、その後.javaファイルが.classファイルにコンパイルされます。jspにアクセスすると、変換されたクラスになりますリクエストを処理する
②<%%> はスクリプトフラグメントと呼ばれ、そこに書かれたコード内容はサーブレットの doservice メソッド内で変換されます。当然、doservice メソッド内でローカル変数を定義したり、他のメソッドを呼び出したりすることはできますが、Service 内では実行できません。
次に、他のメソッド関数を定義します。つまり、ローカル変数を定義したり、<%%> でメソッドを呼び出すことはできますが、メソッドを定義することはできません。JSP ページには複数のスクリプト フラグメントを含めることができますが、複数のスクリプト フラグメントの整合性を確保する必要があります。
③<%!%>はステートメントと呼ばれるもので、サーブレットクラスではメソッド、属性、グローバル変数を定義できるため、記述した内容がそのままサーブレットクラスに翻訳されますので、<%!%>でメソッドを宣言することができます。 %> 関数、プロパティ、グローバル変数
④<%=%>はjsp式と呼ばれるもので、宣言した変数や式をHTML Webページに出力するために使用されます。
⑤JSPページの<body></body>に直接記述したコードはテンプレート要素と呼ばれ、サーブレットのdoserviceメソッドのout.write()に出力されます。したがって、out.write() または out.println() を使用して、JSP のページにコンテンツを出力できます。
6. 値を渡す URL の形式は何ですか? パラメータを取得するにはどうすればよいですか?
答え: URL? パラメータ名 1=値 1&パラメータ名 2=値 2&......
request.getParameter();
URL の役割:
HTTP はアプリケーション層プロトコルであり、要求/応答モードに基づくステートレス プロトコルです。
Web ページ自体は次のページに情報を渡すことができません。次のページがページ内の値を知る必要がある場合は、サーバーを経由しない限り、
Web ページ間でのデータ転送は、(サーバーを介した) Web プログラムの重要な機能です。
URL パス値:
URLの後にいくつかのパラメータを指定するだけです
URL? パラメータ名 1 = 値 1 & パラメータ名 2 = 値 2 & …
機能: 後のページは前のページから 1 つ以上のパラメータ値を取得できます
https://www.baidu.com/baidu?tn=monline_3_dg&ie=utf-8&wd=jsp
http://localhost:8080/Prj04/page.jsp? m=3&n=5
URLパラメータを取得する
文字列変数=request.getParameter("パラメータ名");
URL によって渡された対応するパラメータの値を返します。結果の型は String です。
注: URL にパラメータが渡されなかったり、パラメータ名が間違って記述されている場合、戻り結果は null になるため、プログラムを書く際には通常、null かどうかを判断する必要があり、そうでないと例外がスローされる可能性があります。
URL 値を渡す場合の注意事項:
制限:
値によって渡されるデータは文字列のみであり、データ型には特定の制限があります。
送信されたデータの値はブラウザのアドレス バーに表示されます。厳密な機密性要件が必要なデータ (パスワードなど) については、値の転送に URL メソッドを使用しないでください。
アドバンテージ:
プラットフォームのサポートのシンプルさと多様性 (URL をサポートしていないブラウザはありません)、多くのプログラムは依然として URL を使用して値をより便利に渡しています
JSPディレクティブタグ
一般的に使用される JSP 命令には、ページおよびインクルード命令が含まれます
<%@page 属性 1="" 属性 2=""...%>
ページ ディレクティブの主な属性は、contentType、import、 language、pageEncoding です。
contentType: この属性は、応答の MIME タイプを決定する値を定義します (MIME タイプは、特定のファイルを対応するアプリケーション プログラムで開くように設定する方法のタイプです)。
contentType="application/msword;charset=UTF-8" など、ブラウザは Word アプリケーションを使用してユーザー リクエストを開きます。
一般的な MIME タイプは、text/html、text/plain (通常のテキスト)、application/pdf、application/msword、image/jpeg、image/png、image/gif、application/vnd.ms-powerpoint です。
import: 属性の役割は、パッケージ内のクラスを JSP ページに導入することです。
language: この属性は、JSP ページで使用されるスクリプト言語を指定するために使用されます。現在は Java
pageEncoding: contentType の charset は、サーバーがクライアントのブラウザに送信するときに表示される Web ページ コンテンツのエンコーディングを指します。pageEncoding は、JSP ファイル自体が保存されるときに使用されるエンコーディングを指します。
include ディレクティブ: <%@include file="ファイルの URL"%> (静的埋め込み)
JSPアクションタグ
include、forward、param、useBean、getProperty、setProperty
<jsp: ></jsp> または <jsp: />
<jsp:include page="ファイルの URL"/> 機能: 現在の JSP ページに他のファイルを埋め込みます (動的埋め込み)
<jsp:forward page="ファイルの URL"/> 機能: タグが表示された場所から現在の JSP ページの実行を停止し、forward アクション タグの page 属性値で指定された JSP ページの実行に切り替えます。
アクション タグ パラメータは独立して使用できませんが、include および forword アクション タグのサブタグとして使用でき、パラメータを「名前と値」のペアの形式で対応するページに渡します。
<jsp:parent tag page="パラメータページのURLを受け取る">
<jsp:param name="パラメータ名" value="パラメータ値">
</jsp:親タグ>
親タグは次のとおりです: include、forword
パラメーターを受け取るページは、組み込みオブジェクト リクエストを使用して getParameter("パラメーター名") メソッドを呼び出し、アクション タグ param によって渡されたパラメーター値を取得できます。
7. JSP の命令とアクションは何ですか?
回答: 手順: ページを含めます
アクション: include、forward、param、useBean、getProperty、および setProperty
8. page コマンドの import 属性と contentType 属性の機能は何ですか?
回答: import: 属性の機能は、JSP ページのパッケージ内のクラスをインポートすることです; contentType: 属性は、応答の MIME タイプを決定する値を定義します
9. include コマンドの形式と機能は何ですか? 使用する際の注意点は何ですか?
答え: <%@include file="ファイルの URL"%>、
include 命令タグの機能は、JSP ファイル、HTML ファイル、またはその他のファイルを現在の JSP Web ページに静的に埋め込むことです。
静的埋め込みとは、「最初にインクルードしてから処理する」ことを意味し、ファイルの埋め込みはコンパイル段階で完了します。つまり、現在の JSP ページと新しい JSP ファイルに埋め込まれるファイルをマージします。
次に、JSP エンジンは新しいページを処理および実行できる Java ファイルに変換します。
10. include アクションの形式と機能は何ですか? 使用する際の注意点は何ですか?
答え: <jsp:include page="ファイルの URL"/>
include アクション タグの機能は、JSP ファイル、HTML Web ページ ファイル、またはその他のファイル テキストを現在の JSP Web ページに動的に埋め込むことです。
動的埋め込みは「最初に処理してから組み込む」もので、ファイルの埋め込みは実行フェーズ中に完了します。つまり、JSP ページが Java ファイルに変換されるとき、2 つのページはマージされませんが、Java ファイルのバイトコード ファイルがロードされて実行されるときに、include アクション タグで導入されたファイルが処理されます。
静的埋め込みと比較すると、動的埋め込みは若干遅いですが、柔軟性が高くなります。
11. インクルードアクションと命令の違いは何ですか?
回答: さまざまな埋め込み方法があり、1 つは動的埋め込み、もう 1 つは静的埋め込みです。
12. 前進アクションの形式と機能は何ですか?
答え: <jsp:forward page="ファイルの URL"/> 機能: タグが表示された場所から現在の JSP ページの継続実行を停止し、ページ属性値で指定された JSP ページを順方向に実行します。アクションタグ
13. include アクションと forward アクションはどのようにパラメータを渡しますか?
アクション タグ パラメータは独立して使用できませんが、include および forword アクション タグのサブタグとして使用でき、パラメータを「名前と値」のペアの形式で対応するページに渡します。
<jsp:parent tag page="パラメータページのURLを受け取る">
<jsp:param name="パラメータ名" value="パラメータ値">
</jsp:親タグ>
親タグは次のとおりです: include、forword