servlet 篇 注解

servlet3.1 来提供了以下注解(在此之前,我们都是在web.xml配置的)

            这个注解我们前面说过一个类是 ServletContainerInitializer ,这个注解用在这个初始化启动类上,这个注解主要提供注入类到我们set<Class<?>>set 中,这在我们在启动类中可以拿到,比如

@HandlesTypes(MyServlet.class)  //这样我们只能拿到MyServlet类
public class TestServletContainerInitializer implements ServletContainerInitializer{
    public void onStartup(Set<Class<?>> set, ServletContext servletContext) throws ServletException {
        System.out.println("=====================");
    }
}

            ServletSecurity这个注解是提供访问安全控制的,而HttpConstraintHttpMethodConstraint配合这个安全注解使用的,也就是这个注解的属性,HttpConstraint提供了请求权限,而HttpMethonConstrain提供了方法访问控制

@WebServlet(urlPatterns = "/methodTest")
//@ServletSecurity(value = @HttpConstraint(transportGuarantee = ServletSecurity.TransportGuarantee.CONFIDENTIAL))
@ServletSecurity(httpMethodConstraints = @HttpMethodConstraint(value = "POST",emptyRoleSemantic = ServletSecurity.EmptyRoleSemantic.DENY))
public class methodTest extends HttpServlet {

    public void service(HttpServletRequest servletRequest, HttpServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("annotation ............."+servletRequest.getMethod());
    }
}

        servlet提供一些注解在servlet注解,不需要在web.xml配置,比如WebFilterWebServlet,项目会自动在classpath扫描这写注解,比如我们上面那个列子

        这个注解主要是配合上面两个注解使用,是注入我们初始化参数用的,比如

@WebFilter(urlPatterns = "/methodTest",initParams=@WebInitParam (name = "key",value = "value"))
public class TestFilter implements Filter {
    private FilterConfig filterConfig;
    public FilterConfig getFilterConfig() {
        return filterConfig;
    }
    public void setFilterConfig(FilterConfig filterConfig) {
        this.filterConfig = filterConfig;
    }
    public void init(FilterConfig filterConfig) throws ServletException {
        setFilterConfig(filterConfig);
    }
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        FilterConfig filterConfig =  this.getFilterConfig();
        System.out.println("================================"+filterConfig.getInitParameterNames());
    }
    
    public void destroy() {

    }
}

        webListener同样提供了我们使用主机的方式注入监听器,比如我们实现session监听器就可以如下

@WebListener
public class WebListerTest implements HttpSessionListener {
    public void sessionCreated(HttpSessionEvent httpSessionEvent) {
        
    }

    public void sessionDestroyed(HttpSessionEvent httpSessionEvent) {

    }
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  •  
  •  

转载于:https://my.oschina.net/chenping12/blog/1528109

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值