Servlet注解配置简单介绍

目前xml配置已经越来越不被人看好,业界主推荐用注解配置,次Java配置,然后再考虑xml配置。而自从Servlet3.0开始,我们在开发Servlet时也可以用注解取代xml配置,使用注解配置可以更直观的看到Servlet的跳转页面或其他功能,这也是为什么从Servlet3.0开始默认不生成xml配置文件的原因。

本文主要讲解两个注解配置:

1.@WebServlet

2.@WebFilter

1

新建一个Web项目,然后创建一个Servlet,如果只需要对某个url作出响应,则可以省略urlPatterns名称,如下图(为了简单看出Servlet响应了请求,你应该在doGetdoPost里做些操作,例如打印字符串):
Servlet注解配置简单介绍_第1张图片
如果是响应多个 url, 用大括号包起来即可:
如果我们按照xml的一般配置,对应的注解方式应该是这样写的:
@WebServlet(  
name = "index", //servlet名称  
urlPatterns = { "/index" } //url  
)

它相当于下图所做的配置:
Servlet注解配置简单介绍_第2张图片

如果你需要更复杂的属性,可以查阅官方文档看下对应的注解,一般我们只需要写个url地址就够了。

2

可以沿用上一个项目,新建两个jspindex.jsplogin.jsp,然后建一个Filter,doFilter里添加过滤操作:


public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
           String path=((HttpServletRequest) request).getServletPath();
           if(path.indexOf("login")>0){
                chain.doFilter(request, response);
           }else{
                ((HttpServletResponse) response).sendRedirect("login.jsp");
           }
     }

然后访问index.jsp,会发现已经触发过滤器,跳转到了login界面。

@WebFilter的属性完整写法可以参考例1,需要更多的属性配置请参考官方文档。

此外还有别的一些注解,例如@WebListener,用法也很简单,就不再赘述。

此文章来自我的个人博客: http://jimblog.site/blog/articles/78.html

你可能感兴趣的:(JavaWeb)