いくつかのコードをデバッグしようとしています。私はHttpServletResponse ヘッダーを正しく設定しています。これを行うには、HttpServletRequestとHttpServletResponseからヘッダーを出力したいだけです。リクエスト側はうまく動作しますが、response.getHeaderNames()は定義されていないためレスポンスはありません。別のjavax.servlet-apiを使用するには?
private void printDebug(HttpServletRequest request, HttpServletResponse response) {
System.out.println("----- Request ---------");
Collections.list(request.getHeaderNames()).forEach(n -> System.out.println(n + ": " + request.getHeader(n.toString())));
System.out.println("----- Response ---------");
response.getHeaderNames().forEach(n -> System.out.println(n + ": " + response.getHeader(n)));
}
使用:
EclipseのOxygen.1aリリース(4.7.1a)
TomcatのV.7.0
jdk1.8.0_112
プロジェクト・ファセット:
動的Webモジュール3.1
私のpomファイルには、
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
しかし、私が設定した設定があると確信しているのは、デフォルトでEclipseに2.5 javax.servlet-apiを指していますが、どこを見て変更するか分かりません。
アップデート:私は、「動的Webモジュール」をオフにして、Mavenの更新を行う場合は、Mavenは仕事に戻ってどのように私は(これgetHeaderNamesを得ることができます2.5
)への動的Webモジュールを設定しますか?
動作しないとはどういう意味ですか?あなたのコードはコンパイルされますか?どこでエラーが出ますか? – Oleg
'response.getHeaderNames()が未定義であるためにコンパイルされない' – kasdega
'HttpServletResponse'の宣言を開き、それがどこから来るのかをチェックする。 – Oleg