JSP
にServlet
を選択するためのNetBeansの機能があり、web.xml
の結果XMLは次のようになります。
<servlet>
<servlet-name>TestServlet</servlet-name>
<jsp-file>/index.jsp</jsp-file>
</servlet>
どういう意味ですか?そして、それは何のためですか? コードビハインドアーキテクチャASP .NET?
それはどういう意味ですか?そして何のためですか?
サーブレットの正規名(実際に作成したサーブレットクラスではなく)をJSP(たまたまサーブレット)にマッピングするために使用されます。単独では、あまり役に立ちません。多くの場合、サーブレットを次のようにURLパターンにマッピングする必要があります。
<servlet>
<servlet-name>TestServlet</servlet-name>
<jsp-file>/index.jsp</jsp-file>
</servlet>
<!--mapping-->
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/test/*</url-pattern>
</servlet-mapping>
すべてのリクエストは現在/test/*
は、JSPによって処理されます。
さらに、サーブレット仕様には次のことも記載されています。
jsp-file
要素には、「/」で始まるWebアプリケーション内のJSPファイルへのフルパスが含まれます。もしjsp-file
が指定され、load-onstartup
要素が存在する場合、JSPをプリコンパイルしてロードする必要があります。
したがって、ビルドプロセスでサーブレットがプリコンパイルされていない場合は、サーブレットのプリコンパイルに使用できます。この方法でJSPをプリコンパイルすることは、ベストプラクティスではないことに注意してください。理想的には、ビルドスクリプトがそのような問題を処理する必要があります。
ASP .NET?のアーキテクチャの背後にあるコードに似ていますか?
いいえ。分離コードアーキテクチャを探している場合、そのようなものに最も類似しているのは、JSFが提供するManaged Beansサポートです。
JSP areサーブレット。 JSPは、.jspファイルを解析し、サーブレットの.Javaファイルを生成するテンプレートテクノロジーです。それが完了すると、.Javaファイルは、サーブレット/ JSPエンジンコンテキストで実行される.classファイルにコンパイルされます。
Web.xmlファイルは、.jspファイルをサーブレット名に関連付けるだけです。さらに、その.jspをURLにマッピングして、サーブレット/ JSPエンジンがいつそれを呼び出すかを知る必要があります。
ASPまたは.NETが「コードビハインド」と同じかどうかを十分に判断できません。
JSPは一種のサーブレットです。 JSPページはサーブレットにコンパイルされます。このサーブレットは、任意のJava Webサーバーによって提供されるサーブレットコンテナで実行されます。
Web.xmlで、<servlet>
タグは、名前サーブレットクラスとjspファイルに名前を付けるために使用されます。その後、これらのサーブレットとjspファイルを独自のURLに従ってマップできます。
<servlet>
<servlet-name>hello</servlet-name>
<jsp-file>/jsp/hello.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/helloworld</url-pattern>
</servlet-mapping>
Hello.jspファイルがJSPフォルダーの下にある場合。/helloworldでURLを開こうとしたとき。ページhello.jspが開きます。