JavaEEプロジェクトの作成&サーブレットの作成 with Eclipse IDE for Java EE Developers
一昔前とくらべて、EclipseでのJavaEEアプリケーションがすごく簡単になっているので、手順を紹介。
環境
Eclipse IDE for Java EE Developers
Apache Tomcat 6.0
1.プロジェクトの作成
完成

2.サーブレットの作成
超簡単!
作成したWebプロジェクト上で右クリックして、新規→サーブレットを選択

パッケージ、クラス名を入力。てきとうでOK。次へボタンを押下。

完成!サーブレットの雛形とweb.xmlへのサーブレット定義が自動的に作成された。

サーブレット変更(doGetメソッドに2行追加)
package com.example;
import java.io.IOException;
import java.io.Writer;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class HelloWorldServlet
*/
public class HelloWorldServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public HelloWorldServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Writer writer = response.getWriter();
writer.write("HelloWorld");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
}
3.実行
サーバ環境を作る
Eclipseのメニューから、ファイル→新規→その他→サーバー→サーバーを選択。次へボタンを押下。

サーバ作成完了。
続いてサーバを起動する。サーバビュー右上の、サーバを起動ボタンを押す。

ブラウザでhttp://localhost:8080/TinyWebProject/HelloWorldServletにアクセス。

見事成功!!!簡単すぎる。
Servlet
Servlet:Javaのサーバサイド技術の一部。Javaで作成したプログラムをサーバに格納しておき、要求時に実行する。クライアント/サーバ間のやり取りを簡潔に記述することができる。
Servlet
Servlet – Cookie の利用
javax.servlet.http.Cookie
クッキーに値を設定する場合、HttpServletResponse の addCookie() メソッドに Cookie オブジェクトを渡せばよい。
設定したクッキーを取得するときは HttpServletRequest のメソッド getCookies() を利用する。
サンプルコード
クッキーを設定するサーブレット
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class AddCookie extends HttpServlet {
//HTTP Get リクエストの処理
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html; charset=Shift_JIS");
Cookie cookie = new Cookie("user_id","testuser");
response.addCookie(cookie);
PrintWriter out = response.getWriter();
out.println("クッキーを設定しました。");
}
}
クッキーを取得するサーブレット
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class GetCookie extends HttpServlet {
//HTTP Get リクエストの処理
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html; charset=Shift_JIS");
String name = null;
String value = null;
Cookie cookies[] = request.getCookies();
for(int i = 0; i < cookies.length; i++){
if(cookies[i].getName().equals("name")){
name = cookies[i].getName();
value = cookies[i].getValue();
break;
}
}
PrintWriter out = response.getWriter();
out.println("クッキーを取得しました。"
+ name + ":" + value);
}
}
実行結果 ※カッコはユーザの動作
(GetCookie にアクセス) クッキーを取得しました。null:null (AddCookie にアクセス) クッキーを設定しました。 (GetCookie にアクセス) クッキーを取得しました。user_id:testuser
クッキーには存続期間の設定などを行うこともできる。
各メソッドは、javax.servlet.http.Cookie(リンク先:ja-jakarta)を参照。








