サーブレットエッセンス
1.サーブレットとは何ですか?
サーブレット(サーバーアプレット。Servはサーバー側を表し、letはアプレットを表します)は、Javaサーブレットの略語で、小さなサービスプログラムまたはサービスコネクタと呼ばれます。これは、Javaで記述されたサーバー側プログラムであり、プラットフォームやプロトコルに依存しない特性を備えています。およびその主な機能データをインタラクティブに参照および生成し、動的なWebコンテンツを生成することです。
(1)サーブレットは、JavaEEによって定義された一連の仕様です。
サーブレットは、SUNによって定義されたJavaEE仕様です。サーブレットインターフェイスは、サーブレット仕様のコアインターフェイスです。インターフェイスに注意を払うべき2つの場所は次のとおりです。発信者は誰ですか?実装者は誰ですか?
サーブレットインターフェイスは、ネットワークリクエストを処理するための一連の仕様を定義します。サーブレットを実装するすべてのクラスは、5つのメソッドを実装する必要があります。そのうち、最も重要なのは、init()とdestroy()の2つのライフサイクルメソッドと、リクエストされたサービスの1つの処理です。 ()、サーバー側のJavaアプレットは自由に作成できず、サーブレットインターフェイスを実装し、servlet()メソッドを実装する必要があります。
(2)サーブレットのB / Sアーキテクチャの役割とプロトコルの関係
写真の4人の参加者を接続する場合は、接続するために3つのプロトコルが必要です。ブラウザとWebサーバー間のhttpプロトコルはW3Cで定義され、サーブレットとjdbcは両方ともSUN。JavaEE仕様で定義されます。
2.サーブレットの本質をシミュレートします
JavaWebプログラマーがサーバー側のJavaアプレットを作成する場合、任意に作成することはできず、サーブレットインターフェイスを実装する必要があります。ここでは、コマンドラインウィンドウを使用して、データベースへの接続をシミュレートしてデータを削除し、ログイン操作のためにデータベースに接続します。
- DeleteServletクラスを定義します
public class DeleteServlet implements Servlet {
@Override
public void servlet() {
System.out.println("连接数据库,正在删除数据......");
}
}
- LoginServletクラスを定義します
public class LoginServlet implements Servlet {
@Override
public void servlet() {
System.out.println("正在连接数据库,进行登录。。。");
}
}
- Tomcatサーバーの基本的な動作原理をシミュレートします。Tomcatはサーブレットインターフェイス用に呼び出されるWebコンテナです。
public class Tomcat {
public static void main(String[] args) {
System.out.println("服务器启动成功");
Scanner input = new Scanner(System.in);
try {
while (true) {
System.out.print("请打开浏览器,在浏览器上输入请求路径:");
String resultPath = input.nextLine();
//Tomcat读取web.xml文件
FileReader reader = new FileReader("web.xml");
Properties pro = new Properties();
pro.load(reader);
reader.close();
//通过key获取value
String servletClassName = pro.getProperty(resultPath);
//通过反射机制创建对象
Class c = Class.forName(servletClassName);
Servlet servlet = (Servlet)c.newInstance();
//调用servlet();方法
servlet.servlet();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
- 構成ファイルを定義するweb.xmlユーザーが入力した要求パスとサーバー側のJavaアプレットのクラス名との関係を維持するため。サーバー側のJavaアプレットはJavaWebプログラマーによって作成されるため、対応する構成ファイルもJavaWebプログラマーによって作成される必要があります。
/login=LoginServlet
/delete=DeleteServlet
- Tomcatサーバーはweb.xml構成ファイルの読み取りを担当します
FileReader reader = new FileReader("servlet//web.xml");
Properties pro = new Properties();
pro.load(reader);
reader.close();
- キー(ユーザーが入力した要求パス)を介して値(サーバーJavaアプレットのクラス名)を取得します
String servletClassName = pro.getProperty(resultPath);
- リフレクションメカニズムを介してサーバー側Javaアプレットのクラス名を取得し、オブジェクトを作成します
Class c = Class.forName(servletClassName);
Servlet servlet = (Servlet)c.newInstance();
//面向Servlet接口调用方法即可
servlet.servlet();
注:上記は、サーブレットの性質と内容についての私自身の理解です。欠陥がある場合は、指摘してください。一緒に頑張りましょう!