回答受付中の質問

HTTPリクエスト

JSPのクライアントからサーブレットにHTTPリクエストを送信する部分について、質問させていただきたく思います。

[実現したいこと]
・クライアント側からのHTTPリクエストのヘッダの内容を、任意のものに書き換えてサーブレットに送信。


[環境]
WEB APサーバー:Web Sphere Aprication Server


HTTPヘッダを読み取って、ヘッダ内のクライアント情報を元にクライアント別の処理を振り分ける機能を作ったのですが、そこの機能をテストするのに上の機能を使いたいと思ってます。。。

皆様のお知恵を拝借できればと思います。
よろしくお願いいたします。

投稿日時 - 2004-07-03 15:14:47

QNo.913264

暇なときに回答ください

0人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

回答(1件中 1~1件目)

ANo.1

振り分けの処理が正しくできるかどうかを確認するのでしたら、
HTTPヘッダにこだわらずに、必要なパラメータをフォームで作ってサーブレット側にポストするように考えたらどうでしょう?

[test01.jsp]

<html>
<head>
<title>テスト01</title>
</head>

<%@ page contentType="text/html; charset=Shift_JIS" %>
<%@ page import = "java.util.Enumeration" %>

<body>
<form name="test" action="myServlet" method="POST" target="servlet_window">
<table>
<%
Enumeration header_names = request.getHeaderNames();
while (header_names.hasMoreElements()) {
String name = (String)header_names.nextElement();
String value = request.getHeader(name);
out.print("<tr><td>" + name + "</td><td><input type=text size=100 name='" + name + "' value='" + value + "'></td></tr>");
}
%>
</table>
<input type="submit" value="サーブレットテスト送信">
</form>
</body>
</html>

サーブレット側はgetHeader(String headerName)で値を取得する部分を
getParameter(String parameterName)に置き換えます。

[myServlet.java]

import java.io.*;
import java.lang.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;

public class myServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
//String user_agent = request.getHeader("User-Agent");
String user_agent = request.getParameter("User-Agent");

....
....
}
}

全然外してたらごめんなさい。

投稿日時 - 2004-07-05 13:53:22

お礼

ありがとうございます。この方法でいけそうです!

投稿日時 - 2004-07-05 20:04:43

あわせてチェックしたい
  • jspとサーブレット ...
  • JSP・サーブレット・HTMLについて・・・ ...
  • サーブレット&JSP ...
PR

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら