首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Servlet与过滤器

Servlet与过滤器
EN

Stack Overflow用户
提问于 2010-06-02 19:24:41
回答 3查看 34.6K关注 0票数 57

ServletFilter有什么区别?您建议使用什么来授权页面?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-06-02 19:35:12

当您想要根据特定条件对Filter请求进行过滤和/或修改时,请使用。当您想要控制、预处理和/或后处理请求时,请使用Servlet

Java EE tutorial提到了以下有关筛选器的内容:

过滤器是一个可以转换请求或响应的头和/或内容的对象。过滤器与web组件的不同之处在于,过滤器本身通常不会创建响应。相反,过滤器提供了可以“附加”到任何类型的web资源的功能。因此,筛选器不应该对其充当筛选器的web资源有任何依赖关系;这样,它可以由多种类型的web资源组成。

筛选器可以执行的主要任务如下:

从传递请求头部和数据的任何further.

  • Modify中,
  • 查询请求并对请求-响应对执行操作。您可以通过提供request.
  • Modify的自定义版本、响应头和数据来实现这一点。您可以通过提供带有外部资源的自定义版本的response.
  • Interact来实现这一点。

对于授权,Filter是最合适的。以下是筛选器如何检查已登录用户的请求的基本启动示例:

代码语言:javascript
复制
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {
    if (((HttpServletRequest) request).getSession().getAttribute("user") == null) {
        // User is not logged in. Redirect to login page.
        ((HttpServletResponse) response).sendRedirect("login");
    } else {
        // User is logged in. Just continue with request.
        chain.doFilter(request, response);
    }
}
票数 101
EN

Stack Overflow用户

发布于 2010-06-02 19:30:52

筛选器最适合授权。这是因为可以将它们配置为在站点的所有页面上运行。所以你只需要一个过滤器来保护你所有的页面。

票数 20
EN

Stack Overflow用户

发布于 2017-05-11 01:45:31

使用过滤器我们可以提高servlet的性能--当请求到来时,我们可以对请求进行预处理,如果请求满足,我们可以转发到servlet,否则向客户端提供消息,在请求中提供适当的信息。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2957165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档