JavaEEプロジェクトの作成&サーブレットの作成 with Eclipse IDE for Java EE Developers

7月 28, 2010 · Posted in Eclipse, Java Servlet · Comment 

一昔前とくらべて、EclipseでのJavaEEアプリケーションがすごく簡単になっているので、手順を紹介。

環境
Eclipse IDE for Java EE Developers
Apache Tomcat 6.0

Eclipseの設定(ウィンドウ→設定→サーバー)

1.プロジェクトの作成

ファイル→新規→動的Webプロジェクト

プロジェクト名を入力して完了ボタンを押下

完成

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のメニューから、ファイル→新規→その他→サーバー→サーバーを選択。次へボタンを押下。

サーバのタイプ、サーバ名を入力。次へボタンを押下。

作成したWebプロジェクトを追加する。次へボタンを押下。

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

起動完了!!!

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

見事成功!!!簡単すぎる。

Servlet

1月 1, 2003 · Posted in Java Servlet · Comment 

Servlet:Javaのサーバサイド技術の一部。Javaで作成したプログラムをサーバに格納しておき、要求時に実行する。クライアント/サーバ間のやり取りを簡潔に記述することができる。

Servlet

Servlet – Cookie の利用

1月 1, 2003 · Posted in Java Servlet · Comment 

javax.servlet.http.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)を参照。

次ページへ »