-3

JSP については知っていますが (基本的な理解)、JSP テクノロジには疑問があります。

以下の単純な jsp を検討してください。

<html>
    <head>
        <title> This is demo</title>
    </head>
    <body>
        <h1> The current time is <%=new java.util.Date()%> </h1>
    </body>
</html>

これに関して、私はいくつかの疑問を持っています(私はそれを心の奥底に置いてきました):

1) この jsp の基本的なテキストは同じですが、JAVA コードが含まれているため動的ページですか?

2) ユーザーがこの JSP ページにアクセスすると、コンテナは最初に Java コードを実行し、ページ内の Java コードの出力を置き換えますか?

3) これが jsp ページである理由は何ですか? HTMLとJavaコードを混在させるとjspになりますか?

4) Java コード ( <% %> 内) は html とは独立して存在できますか? または結合されています (Java コードは HTML ページに存在する必要があります)。

それらは基本的な質問かもしれませんが、誰かがそれらを理解するのを手伝ってくれますか?

4

2 に答える 2

1
  1. はい、実行時に(部分的にでも)計算されるため、動的です-ここでは、Javaスクリプトレットが動的部分です
  2. ではない正確に。JSP はテンプレート エンジンではありません。JSP ページは Java ソースに完全に変換され、サーブレット コンテナによってクラス ファイルにコンパイルされます。次に、それらのクラスが実行時に実行されます。
  3. 拡張子 .JSP により、JSP ファイルになります。次に、サーブレット コンテナーによって正しく処理されるように、JSP 構文を尊重する必要があります。
  4. 質問を逆にします。Java コードは通常、Java ソース ファイルにあります。インターフェイスを実装する Java クラスはHttpServlet、サーブレット コンテナによって URL に直接マップできます。また、Java コードJSP のスクリプトレットに配置できます。

しかし、コメントで言われたように、ここで質問する前に、それに関するドキュメントを読むべきです。

于 2016-08-09T13:20:15.247 に答える
1

1) コード スニペット、JSP タグなどの JSP 要素が含まれている場合は動的です。HTML のみが含まれている場合はかなり静的ですが、JSP として処理されている場合は、呼び出しごとに一定の応答が動的に計算されます (安全なキャッシング)。

2) そうですね。実際には、JSP の静的テキストは Java クラスの out.write() ステートメントに入ります。JSP 全体が Java クラスにトランスパイルされます。

3) 面白い質問です。それはすべて解釈の問題です。.jsp という名前を付けるか、Web コンテナーで他の方法 (依存) で JSP として処理する場合は、JSP と呼ぶことができます。

4) この質問はあまり明確ではありません。この時点までに静的テキストが出力された後、スニペットが実行されます。

于 2016-08-09T13:19:34.690 に答える