目次へ

解答例 - 実習課題3 - 3.サーブレットの基本2

(実習課題3)

以下のサーブレットプログラムを作成しなさい。

  • UserAgentヘッダーから、ブラウザの種別(IEかNetscapeかそれ以外)を判定する。
  • IEであった場合には、「Forbidden」エラーを返すようにする事。
  • Netscapeであった場合には、何らかの表示を返すこと。
  • それ以外であった場合には、特定のページにリダイレクトさせるようにする事。

解答例

/*
 * UserAgentServlet.java TECHSCORE Java Servlet3章 実習課題3
 *
 * Copyright (c) 2004 Four-Dimensional Data, Inc.
 */
package com.techscore.servlet.chapter3.exercise3;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class UserAgentServlet extends HttpServlet {

    protected void doGet(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        String userAgent = (String) request.getHeader("User-Agent");
        if (userAgent.indexOf("IE") != -1) {
            response.sendError(HttpServletResponse.SC_FORBIDDEN);
        } else if (userAgent.toLowerCase().indexOf("netscape") != -1) {
            response.setContentType("text/html; charset=Shift_JIS");
            StringBuffer buffer = new StringBuffer();
            buffer.append("<html><head><title>Servlet3章Exercise3</title></head><body>");
            buffer.append("Netscapeでアクセスしました。");
            buffer.append("</body></html>");
            PrintWriter writer = response.getWriter();
            writer.println(buffer.toString());
        } else {
            response.sendRedirect("http://www.yahoo.co.jp/");
        }
    }
}

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp