ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
サーブレットの記事です。ServletはJava EE / Jakarta EE 標準のWebコンポーネントで、Webサーバー上で動作してHTTPリクエストを処理し、HTMLやJSONなどのレスポンスを返すサーバーサイドJavaの基本単位です。
サーブレットとは
| 項目 | 内容 |
|---|---|
| 役割 | HTTPリクエストを受けてレスポンスを返すJavaクラス |
| 動作環境 | サーブレットコンテナ(Tomcat、Jetty、WildFly等) |
| 名前空間 | javax.servlet(Java EE)/ jakarta.servlet(Jakarta EE 9+) |
| 主要クラス | HttpServlet、HttpServletRequest、HttpServletResponse |
基本のサーブレットの最小例
|
import jakarta.servlet.*; |
HTTPメソッド別のオーバーライド
| メソッド | 処理するHTTPメソッド |
|---|---|
doGet() | GET |
doPost() | POST |
doPut() | PUT |
doDelete() | DELETE |
doHead() | HEAD |
doOptions() | OPTIONS |
主要なリクエスト処理API
| 呼び出し | 取得内容 |
|---|---|
req.getParameter("name") | クエリパラメータ/フォームフィールド |
req.getHeader("X-...") | HTTPヘッダ |
req.getCookies() | Cookie配列 |
req.getSession() | セッション取得(無ければ作成) |
req.getRemoteAddr() | クライアントIP |
req.getInputStream() | リクエストボディ(POST/PUT) |
req.getRequestDispatcher("/x.jsp").forward(req, res) | JSPへフォワード |
レスポンス処理
|
// ステータス設定 |
web.xml と アノテーション
サーブレットのURLマッピングは2通りの書き方があります。
1. アノテーション(Servlet 3.0以降、推奨)
|
@WebServlet("/users/*") |
2. web.xml(古典的)
|
<servlet> |
サーブレットのライフサイクル
- init(): コンテナ起動時または初回呼び出し時に1度
- service() → doGet/doPost...: リクエストごとに呼ばれる(マルチスレッド)
- destroy(): コンテナ停止時/再デプロイ時
1つのサーブレットインスタンスを複数スレッドが共有するため、フィールド変数の使い方に注意(スレッドセーフ性)。
サーブレットとJSPの関係
- サーブレット: 主にロジック処理
- JSP: HTML生成(サーブレットに変換されて実行)
- 典型的なMVC: サーブレットがリクエスト処理 → JSPで表示
注意点
- Java EE 8 → Jakarta EE 9で
javax.servletがjakarta.servletにリネーム。古い記事のサンプルはimport文に注意 - Tomcat 10以降は Jakarta EE 9+。Tomcat 9以前は
javax.* - 大規模アプリでは直接サーブレットを書くより Spring 等のフレームワーク利用が主流
関連
- 親カテゴリ: Java EE
- JSP: JSP
- Tomcat: Apache Tomcat
- サーブレットAPI: サーブレットAPI
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?