JSP Servlet


JSP(Java Server Page)


HTMLコードをJAVAコードとともに動的Webページを構成するWebアプリケーションツール(HTMLベース、View側で使用)を用いてコンパイルしてサーブレットに変換し、WAS(Webレプリケーションサーバ)にアップロードして駆動する.
しかし,この変換プロセスは1回のみ発生し,同じページに多くのリクエストがあっても処理速度に影響を及ぼさない.

サーブレットとの違い:
JavaコードにHTMLが挿入されているため、HTMLコードは非常に不便であるため、HTMLベースの内部挿入Javaコードをタグとする形式はJSPであり、テンプレートベースのスクリプト技術と同様にサーバ側言語でもある.

Servlet(Server Aplication Let)



JAVAコードでは、HTMLタグをWebベースのリクエストの動的生成またはデータ処理可能なサーバ側言語Javaベースのコードに挿入します.JAvaは拡張子です.
Java言語をWebアプリケーションに容易に開発できるAPIであり、所定のライブラリまたはクラスを継承および実装することによって作成されるクラスをサーブレットと呼ぶ.

Webサービスのデフォルト動作ユーザーはHTMLフォームから自分の情報を入力する
要求を送信するサーバのIPアドレス:要求ポート番号/APP名/のHTML
Ex) localhost:8080/FormHandlingServlet/LoginForm.html
<form name="loginForm" method="post" action="loginServlet">
    Username: <input type="text" name="username"/> <br/>
    Password: <input type="password" name="password"/> <br/>
    <input type="submit" value="Login" />
</form>
方法:必要に応じてHTTPメソッドPOST&GETを使用
Action:URLを使用して、要求がWASを削減するサーブレットを指定します.
type:ボタンを押してユーザーが入力したデータをサーブレットに渡す
Get:ユーザーが入力したFormデータは、URLの後ろにテキスト文字列として追加されます.
コメントを直接表示できるため、セキュリティの悪いデータを送信する場合はkey、value形式の送信とサイズ制限があります.(4096Byte)
Post:ユーザーが入力したFormデータを、HTTPヘッダのPAYLOADに個別のメッセージとして送信します.
従って、Getよりも安全性の面で安全である.

サーブレットのライフサイクル:
init() -> service(request,response) -> destroy()
Init():一度だけ実行し、クライアントのエラー要求に応じて対応するサーブレットを生成し、サーブレットがメモリにロードされたときに呼び出されたサーブレットオブジェクトを初期化します.
サービス(request,response):メソッドは、requestのタイプGET、POST、PUT、DELETEなどに基づいて、適切なdoGet、doPost、doPut、doDeleteメソッドを再定義します.
destroy():一度だけ実行し、WAS終了時に呼び出し、メモリからSerbletオブジェクトを削除します.
Servlet Annotations :
xmlで設定する方法もありますが、複雑です.
@WebServlet("/mainpage")
@WebServicelet:テンプレートの宣言
@WebInitParam:初期化パラメータの指定