目前xml配置已经越来越不被人看好,业界主推荐用注解配置,次Java配置,然后再考虑xml配置。而自从Servlet3.0开始,我们在开发Servlet时也可以用注解取代xml配置,使用注解配置可以更直观的看到Servlet的跳转页面或其他功能,这也是为什么从Servlet3.0开始默认不生成xml配置文件的原因。
本文主要讲解两个注解配置:
例1:
新建一个Web项目,然后创建一个Servlet,如果只需要对某个url作出响应,则可以省略urlPatterns名称,如下图(为了简单看出Servlet响应了请求,你应该在doGet和doPost里做些操作,例如打印字符串):
如果是响应多个
url,
用大括号包起来即可:
如果我们按照xml的一般配置,对应的注解方式应该是这样写的:
@WebServlet(
name = "index", //servlet名称
urlPatterns = { "/index" } //url
)
它相当于下图所做的配置:
如果你需要更复杂的属性,可以查阅官方文档看下对应的注解,一般我们只需要写个url地址就够了。
例2:
可以沿用上一个项目,新建两个jsp,index.jsp和login.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