java过滤器的4、error过滤器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java过滤器的4、error过滤器相关的知识,希望对你有一定的参考价值。

参考技术A

当我们访问一个web目标资源时,如果服务器没有找到该目标资源,那么服务器就会给出一个404错误代码。如果我们给404错误代码定义一个页面,那么当404错误发生时就会调用该页面,请看以下web.xml文件的配置:
<filter-mapping>
<filter-name>myFilter</filter-name>
<url-pattern>/error.jsp</url-pattern>
<dispatcher>ERROR</dispatcher>
</filter-mapping>
<error-page>
<error-code>404</error-code>
<location>/error.jsp</location>
</error-page>
当我们访问一个不存在的文件时,就会访问error.jsp,但是配置了过滤器对错误页面进行过滤,所以过滤器先接受到请求,然后再转发给error.jsp。
如果我们访问一个已经存在的页面,会不会调用error.jsp呢?如果这个页面中有response.sendError(404,出错了!);那么该错误页面仍然会被调用,过滤器也会工作。

参考技术B

感觉很鸡肋啊,直接在web.xml中配置:

<error-page>
  <error-code>404</error-code>
  <location>/error404.jsp</location>
</error-page>

多省事儿!为什么非要用过滤器?我也想问!

Angular 4 ERROR TypeError:无法读取未定义的属性“过滤器”

【中文标题】Angular 4 ERROR TypeError:无法读取未定义的属性“过滤器”【英文标题】:Angular 4 ERROR TypeError: Cannot read property 'filter' of undefined 【发布时间】:2019-05-01 13:33:53 【问题描述】:

在我仍在公司工作的一个非常大的项目网站中,当我在浏览器(Chrome 和 Firefox)中测试开发版本时发生了一些错误。 有人可以帮助我吗?

// 更新屏幕上的消息

    this.parametrosMensagemService.setMessage(this.alert)
    this.pagerService.items = this.pagerService.items.filter(x => x.selecionado == "checked")
    this.setPage(1)

Error log in Chrome Dev Tools

【问题讨论】:

因为this.pagerService.items 没有定义。 Infact 属性itemsthis.pagerService 中不存在。 【参考方案1】:

因为items 的属性在this.pageService 上不存在。

为避免此错误,请尝试添加一些检查以获得更好的做法,例如 -

this.pagerService.items = this.pagerService && this.pagerService.items && this.pagerService.items.filter(x => x.selecionado == "checked")

【讨论】:

以上是关于java过滤器的4、error过滤器的主要内容,如果未能解决你的问题,请参考以下文章

java过滤非法字符的filter

JAVA Web基础4-过滤器与监听器

AWS Athena - GENERIC_INTERNAL_ERROR:分区值的数量与过滤器的数量不匹配

java编码过滤器

java_过滤器

什么是java过滤器! 它的功能和作用是什么啊?