##( Java ) Servlet
- リクエストを受け取り、処理して、クライアントへ返す窓口役
- HTTPメソッド(GETやPOST)から呼び出されるメソッド(doGetやdoPost)の処理を記述するJavaプログラム
- Webサーバ上(バックエンド)で動作する
- データ処理を行う他、Webページ(HTML画面)生成もできる
- クライアント側端末へのダウンロード不要
- 部品(モジュール)化されているので、追加するだけで機能拡張できる
- Javaプログラムなので、OSやハードウェアに依存せず動く
- 一度呼び出すとメモリに常駐するので処理が早い
補足
##アプレット
- クライアント側で動作するJavaプログラム
- サーブレットの対義語
##使い方
- HttpServletクラスを継承することで使える
- クライアント端末で使われたHTTPメソッド(GET/POST )に応じて、doGet() / doPost()が呼び出される。
// HttpServletは必ず継承する
// 返すURLを @WebServlet で決める
@WebServlet(urlPatterns = {"/SampleServlet"})
public class SampleServlet extends HttpServlet {
// GETリクエスト時に呼び出される
@Override
protected void doGet(HttpServletRequest request
, HttpServletResponse response)
throws ServletException, IOException {
// Serializableインターフェイスを実装しているため必要 / ユニークな値にする
private static final long serialVersionUID = 1L;
// 出力内容を設定 (ここではHTMLで、文字列UTF-8を設定)
response.setContentType("text/html;charset=UTF-8");
// 画面出力用のWriterクラスインスタンスを取得
PrintWriter out = response.getWriter().println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>title</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>見出し</h1>");
out.println("</body>");
out.println("</html>");
// POSTリクエスト時に呼び出される
@Override
protected void doPost(HttpServletRequest request
, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
// Headメソッドでリクエスト時に呼び出し
@Override
protected void doHead(){}
// Putメソッドでリクエスト時に呼び出し
@Override
protected void doPut(){}
// Deleteメソッドでリクエスト時に呼び出し
@Override
protected void doDelete(){}
}
参考
https://employment.en-japan.com/tenshoku-daijiten/14901/
JSPとServletについてよくまとまっています↓
http://cartman0.hatenablog.com/entry/2015/12/01/205220
シリアライズIDってよく見るけど何なの?という疑問には↓
http://java-study.blog.jp/archives/1021151333.html