へのアクセスを無効にするファイルの拡張子Tomcat web.xml
質問
皆さん、ありがとうござ前-
方法を教えてください行を無効にアクセスをブラウザによるfiletype?
のためのインスタンスがしたかったのを無効にするすべてのアクセスす。xmlファイルはどのように行って?
感謝
他のヒント
たかったのですが、自分のやらなくて満足のJDBCRealmの答えです。
デフォルトの隠れたフォルダ"WEB-INF"のMETA-INF"のハードコードを静的リソースロジックで同じ機構によい非常に困難です。い置換または変更の組み合わせ DefaultServlet, StandardContext, は、 StandardContextValve.で散らかっていたとします。
があつたとの達成にフィルタリングできます。
を使用 フィルター
またリサーブレットのフィルタを返す404エラーファイルマッチング部一覧です。きの設定がリストとして 環境応募 にcontext.xmlは、 プロパティファイル のクラスパス保存データベース、またはどちらがお好みのものとしてハードコードされた文字列であれば、何らかのmasochist).
を使用 バルブ (Tomcat別)
Tomcatバルブの達成にほとんど同じことをフィルタとして時間がかかる場合がありますその一部ではありません サーブレットスペック, をいっそうアプリrelease携帯型他のサーブレットコンテナまた、私の実験で、この送信404対応しないのは同じチャンネルとして404対応は、正常に送信されお申し込み(た場合、設定のカスタム404ページやハンドラが設定されない場合に使用され404を返しますからのバルブ)
さらに簡単な方法があります。あなただけのいくつかの空のサーブレットに固有の拡張子を持つすべての要求をリダイレクトします。
このよう
<servlet-mapping>
<servlet-name>Empty Servlet</servlet-name>
<url-pattern>*.xml</url-pattern>
</servlet-mapping>
これは、対応するサーブレット宣言せずにサーブレットマッピングを受け入れていないことにTomcatで動作しません。 私は体系など404を送信し、簡単なErrorServletを足す推薦ます:
package com.yourpackage;
public class ErrorServlet extends HttpServlet{
public ErrorServlet(){
}
public void service(HttpServletRequest request, HttpServletResponse response){
response.sendError(HttpServletResponse.SC_NOT_FOUND);
}
}
そして、web.xmlファイルで対応する設定を追加します:
<servlet>
<description>Servlet that displays a 404</description>
<display-name>error</display-name>
<servlet-class>com.yourpackage.ErrorServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>error</servlet-name>
<url-pattern>*.xhmtl</url-pattern>
</servlet-mapping>