Java サーブレットの初期化プロセスには、バイトコードのロード、init メソッドの呼び出しによる構成情報の取得、およびサーブレットの初期化が含まれます。破棄プロセスには、データベース接続の終了など、リソースを解放するための destroy メソッドの呼び出しが含まれます。
Java サーブレットの初期化と破棄のプロセス
初期化プロセス
サーブレットの初期化このプロセスは、サーブレットがクライアントによって初めて要求され、インスタンスが作成されるときに発生します。これには次の手順が含まれます。
ServletConfig
オブジェクトをパラメータとして受け入れることができる init
メソッドを呼び出します。 ServletConfig
オブジェクトを使用して、コンテナによって提供される構成情報を取得します。 実践例: サンプルサーブレットの初期化
public class MyServlet extends HttpServlet { @Override public void init(ServletConfig config) throws ServletException { super.init(config); // 从 ServletConfig 获取配置信息 String dbName = config.getInitParameter("dbName"); String dbUser = config.getInitParameter("dbUser"); String dbPassword = config.getInitParameter("dbPassword"); // 使用配置信息初始化 Servlet try { Class.forName("com.mysql.cj.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/" + dbName, dbUser, dbPassword); this.conn = conn; } catch (ClassNotFoundException | SQLException e) { throw new ServletException("Error initializing database connection", e); } } }
破棄処理
サーブレットが不要になった場合, Java コンテナは、destroy
メソッドを呼び出して破棄プロセスを実行します。これには次の手順が含まれます。
destroy
メソッドを呼び出します。このメソッドはパラメータを受け入れません。 実際のケース: サンプル サーブレットの破棄
public class MyServlet extends HttpServlet { private Connection conn; @Override public void destroy() { if (conn != null) { try { conn.close(); } catch (SQLException e) { // 处理关闭数据库连接的异常 } } super.destroy(); } }
以上がJava サーブレットの初期化と破棄のプロセスはどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。