Servlet/JSP

9

セッション属性

サーバと各ユーザのやりとりを、セッションIDによって紐づけ管理することで、個ユーザごとでデータ管理できるような仕組みをセッションと呼ぶ
アプリケーションサーバにセッションIDを保存しておき、ユーザに対してはクッキーにセッションID情報を載せて送信しておくことでその紐づけを可能にしている

・セッションの寿命
セッションは通常時間で管理されており、規定の時間を経過すると
セッションタイムアウトの状態

もっとみる

リクエスト属性

1つのリクエスト内でのみ扱えるデータを、処理側のサーブレット、表示側のJSP双方から取り扱えるような仕組み(もしくはデータそのもの)をリクエスト属性とよび、javax.servlet.http.HttpServletRequestインタフェースを用いて、以下のメソッドで操作をすることができる

◎getAttributeメソッド
 Object getAttribute(String name)

もっとみる

Java(servlet/JSP)とDB

JDBCドライバ:アプリケーションサーバからDBに接続するツール
 まず、Javaでデータベース(以下DB)が扱えるように、JDBCドライバをインストールする必要がある。使用するDBのサイトでDLできるので探す
データソース:アプリケーションサーバを利用してDBに接続する仕組み
 接続情報の管理(DBへの接続・切断)を簡素化したり、コネクションプールという機能によって、DBへの接続情報を再利用して

もっとみる

HTTPのリクエストとレスポンス

リクエスト
servletに送られるHTTPプロトコルによるリクエストの内容を読み解くと
 以下手打ち

POST /request/URL HTTP/1.1 //リクエストラインHost: localhost:8080 //メッセージヘッダ↓Connection: keep-alive //Con

もっとみる

Servletのマルチスレッド動作

 Servletは初回リクエストをうけ、サーバー上で1度起動されると
以降再度リクエストがあった場合起動済みのServletを再利用する
また複数のリクエストが同時にあった場合にも対応できるよう
マルチスレッド動作が可能となっている
 ただ同時にリクエストを受け、並行で処理をしている中で
変数の値が共有されてしまい動作異常をおこしてしまう可能性があります

synchronizedメソッド
 この

もっとみる

JSP ディレクティブ/宣言/式/スクリプトレット

 <%@ ~ %> ディレクティブ
page:ページの属性・設定等の記述
 language="java" //使用言語の記述(不要)
 contentType="text/html; charset=UTF-8"
  //responseのエンコードの記述(必要)
 pageEncoding="UTF-8" //なんのエンコード?(必要)
 import="java.lang.*" //java

もっとみる

サーブレット⇔JSPの処理受け渡し

○Forward (フォワード:1方向のやり取り)
requestを受けたサーブレット/JSPから他のサーブレット/JSPに処理を移し
(サーブレット⇒JSP(このforwardが主流)、JSP⇒サーブレットも可能)
遷移先のサーブレット/JSPからresponseを返すことができる機能 

 request.getRequestDispatcher("URL").forward(request,

もっとみる

Filter の適用

servlet/JSPの複数ファイル内で同一の処理が記述されている場合
その同一処理部分だけをFilterと呼ばれる別ファイルに置いておき
各ファイルからFilterを呼び出す形で処理を簡潔化することができる

Filterの作成
インタフェースjavax.servlet.Filterをimplements(実装)するクラスを宣言し
アノテーションを @WebFilter(urlPatterns=

もっとみる

servletのライフサイクル

servletの起動から終了までの経過をライフサイクルと呼ぶ
起動時
 initメソッド : 起動時に1度だけ実行されるメソッド

public void init() throws ServletException

リクエスト処理
 serviceメソッド:requestの種類に関わらず実行されるメソッド

public void service(ServletRequest request,

もっとみる