0

Httpリクエストを作成しましたが、リクエストヘッダーは次のようになります。

GET /unni/servlets/servlet/HelloWorldExample HTTP/1.1
Host: localhost:8700
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101 Firefox/12.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Cache-Control: max-age=0

次に、使用しrequest.getIntHeader("User-Agent")ました。今回は、NumberFormatException「リクエストヘッダーを整数に変換できない」というメッセージが表示されました。これは、APIとサーブレットの仕様でも同じです。実際の例を取得するためにこれについて詳しく検索しましたが、取得できませんでした。では、この方法をどのように使用できますか?私はを使用してApache Tomcat 7.0.25います。

前もって感謝します。

4

2 に答える 2

3

キー「User_Agent」のヘッダーには、日付タイプの値(文字列と整数の組み合わせ)が混在しています。この場合は、:User-Agent:Mozilla / 5.0(Windows NT 6.1; rv:12.0)Gecko / 20100101 Firefox/12.0です。

この値を整数として取得しようとすると、間違いなくNumberFormatExceptionが発生します(ヘッダー値には数値以外の値も含まれているため)。

request.getIntHeader()は、純粋に数値を含むヘッダーにのみ適用できます。数値を使用して独自のヘッダーキーを定義し、request.getIntHeader()を使用してこれを取得できます。

于 2012-05-10T07:20:56.547 に答える
0

わかりません。User-Agentヘッダーは文字列です。次のように取得できますか、
String userAgent = request.getHeader("User-Agent");
それとも質問の要点がわかりませんか?

于 2012-05-10T06:54:58.557 に答える