Web学習ノート-日付001
3301 ワード
Servlet
Javaプログラムで動的Webページを生成する場合、Javaプログラムはサーブレット仕様に従う必要があるので、サーブレットインタフェース(小サービス)サーブレット---サーブレット---小物を実現する
例:
Helloクラスはサーブレットインタフェースを実装するため、サーバ上で実行可能な小さなサービスです.これは、サーバがHelloクラスを作成するオブジェクトの小さなサービスの動作モードが通常、単一インスタンスのマルチスレッドであることを意味します.
サーブレットの配備:
WEB-INF/ web.xml lib classes
@WebServlet urlPatterns loadOnStartup
servletは単一インスタンスマルチスレッドです
サーブレットの正しい使い方:
コントローラとして 1.ユーザー要求を処理し、対応するビジネスロジックを呼び出す getParameter(String)
2.適切な役割ドメインにデータをバインド setAttribute(String, Object)
3.ページにジャンプまたはリダイレクト getRequestDispatcher(String) forward(req, resp)
sendRedirect(String)
方法
サービスメソッド
サービスの方法では3つのことしかできません.ユーザの要求を処理する.バインドデータ(通常はリクエストにバインドする)3.JSPページに移動(テンプレート内の局番をデータで置換)
getRequestDispatcherリクエストディスパッチを取得
servletコンテキスト
サーブレットContextは、現在Webプロジェクトを実行していることを示します.
JSP
サービスがユーザに要求された処理を完了したら、テンプレートページにジャンプし、得られたデータまたは処理の結果をこのテンプレートページに渡す.ここでテンプレートページはJSP(Java Server Page)がデータと要求を結合してテンプレートページ(result.jsp)にジャンプする.
JSPの正しい使い方:
ビューとして(View)いかなる業務ロジックも処理せず、データ の表示のみを担当する
アプリケーションサーバ(サーブレットコンテナ) Apache Tomcat Redhat JBoss/WildFly Oracle Weblogic IBM Websphere
Javaプログラムで動的Webページを生成する場合、Javaプログラムはサーブレット仕様に従う必要があるので、サーブレットインタフェース(小サービス)サーブレット---サーブレット---小物を実現する
例:
@WebServlet(name="Hello", urlPatterns={"/hi", "*.do"}, loadOnStartup=1)
public class Hello implements Servlet {
private List list = new ArrayList<>();
@Override
public void destroy() {
// Hello -
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void init(ServletConfig arg0) throws ServletException {
// Hello -
// System.out.println("Hello !!!");
list.add(" ");
list.add(" ");
list.add(" ");
list.add(" ");
list.add(" ");
list.add(" ");
}
//
//
@Override
public void service(ServletRequest req, ServletResponse resp) throws ServletException, IOException {
resp.setCharacterEncoding("utf-8");
PrintWriter writer = resp.getWriter();
writer.write("");
writer.write("");
writer.write("");
writer.write("");
writer.write("");
writer.write(" :");
writer.write(list.get((int) (Math.random() * list.size())));
writer.write("");
writer.write("");
writer.close();
}
}
Helloクラスはサーブレットインタフェースを実装するため、サーバ上で実行可能な小さなサービスです.これは、サーバがHelloクラスを作成するオブジェクトの小さなサービスの動作モードが通常、単一インスタンスのマルチスレッドであることを意味します.
サーブレットの配備:
WEB-INF/
@WebServlet
servletは単一インスタンスマルチスレッドです
サーブレットの正しい使い方:
コントローラとして
方法
destroy()
サーバがHelloクラスオブジェクトを破棄する準備ができている場合、このメソッドは自動的に呼び出されます.init()
このメソッドは、サーバがHelloクラスオブジェクトを作成した後に自動的に呼び出されるメソッド-初期化service(ServletRequest req, ServletResponse resp)
最初のパラメータは、クライアントがサーバに送信する要求を表し、2番目のパラメータは、サーバがクライアントに送信する応答を表す.サービスメソッド
サービスの方法では3つのことしかできません.ユーザの要求を処理する.バインドデータ(通常はリクエストにバインドする)3.JSPページに移動(テンプレート内の局番をデータで置換)
getRequestDispatcherリクエストディスパッチを取得
servletコンテキスト
サーブレットContextは、現在Webプロジェクトを実行していることを示します.
JSP
サービスがユーザに要求された処理を完了したら、テンプレートページにジャンプし、得られたデータまたは処理の結果をこのテンプレートページに渡す.ここでテンプレートページはJSP(Java Server Page)がデータと要求を結合してテンプレートページ(result.jsp)にジャンプする.
JSPの正しい使い方:
ビューとして(View)
アプリケーションサーバ(サーブレットコンテナ)