我需要向tomcat添加一个404处理程序servlet以捕获404异常(未找到)。这很简单。但无论我做什么,我都无法找到传递给tomcat的URL,从而导致404(URL +查询字符串,如果有的话)。
任何人都有这方面的经验吗?
答案 0 :(得分:0)
您需要添加valve以将请求记录到该特定主机。
有多种方法可以执行此操作,具体取决于您是否拥有虚拟主机,或者您是希望在$CATALINA_BASE/conf/[engine_name]/[host_name]
下添加特定配置还是直接在server.xml
中添加。
对于大多数GNU / Linux发行版,假设tomcat7
,默认(即使用Catalina引擎和localhost主机),这是/etc/tomcat7/Catalina/localhost
。使它适应你的tomcat版本,引擎和虚拟主机(和操作系统,你没有指定一个,所以我假设一个GNU / Linux):
<Host name="localhost" ...>
...
<Valve className="org.apache.catalina.valves.AccessLogValve"
prefix="localhost_access." suffix=".log"
pattern="common"/>
...
</Host>