解答例 - 実習課題2 - 5.includeとforward
(実習課題2)
3章の実習課題3のプログラムを改良しなさい。
- Internet Explorerだった場合には、実習課題1(5章)のプログラムに「forward」する。
解答例
/*
* ForwardServlet.java
* TECHSCORE Java Servlet5章 実習課題2
*
* Copyright (c) 2004 Four-Dimensional Data, Inc.
*/
package com.techscore.servlet.chapter5.exercise2;
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 ForwardServlet extends HttpServlet {
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String userAgent = (String) request.getHeader("User-Agent");
if (userAgent.indexOf("IE") != -1) {
request.getRequestDispatcher("/servlet5-1").forward(request, response);
} 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/");
}
}
}

