java拦截器封装成框架,自己动手设计java web框架(一)-封装请求拦截器DispatchServlet...

前言:

之前刚刚学习java web编程之时,感觉Servlet不怎么好用,有时候用起来很麻烦,当时由于自己的经验不足实行起来有点困难,所以就放在了一旁,现在因为自己也做过些些许许项目,有了一点经验,而且正好放假了有一些时间,于是决定实现下自己之前的想法。

什么是拦截器?

在开始动手之前,要讲一下什么是拦截器?在这个框架中拦截器的作用主要是用来拦截网页的请求的一个Servlet。在最开始的学习的Servlet程序中,每一个路径都需要在web.xml中配置它所对应的Servlet,这样做在Url路径多的时候,会让web.xml变得非常大,并且非常非常多的Servlet,让服务器端显得非常庞大冗余,所以这时候就需要定义一个Servlet,也就是上面所说的拦截器,通过这个Servlet,可以拦截所有的请求,并且把这些请求交给某些具体的方法处理,并且返回。

自定义拦截器:

首先,我们需要自己创建一个java web应用程序,如下图

f3c7ded203f8db9de168756514ef504a.png

,然后可以通过Tomcat跑起来,之后我们需要自己创建一个Servlet来作为我们的拦截器

ea3df6a5052585f75a89ee46fcf0b749.png

因为这里我们需要自己封装个servlet来处理请求,所以这个Servlet就不是继承于HttpServlet,而是继承于HttpServlet的父类GenericServlet,并且序列化这个类,这里不清楚Servlet的工作原理的同学可以看下我的这篇博客:http://my.oschina.net/u/2505383/blog/649585,之后我们就需要通过web.xml来进行配置

5f91632b1bff789490c4960266f67bc6.png

规定我们部署的目录下所有的请求交给这个Servlet进行处理。

编写拦截器:

上面操作完了之后,我们就需要对DispatchServlet中的service方法进行重写:

44349aa1922e801de9ba69506aaa81d2.png

主要是进行ServletRequest -> HttpServletRequet 之后交给另外一个函数进行处理

public void service(HttpServletRequest servletRequest, HttpServletResponse servletResponse) throws ServletException, IOException {

String url = servletRequest.getRequestURI();

String method = servletRequest.getMethod();

/**

* 之后会做对请求进行分发

*/

}

在这个函数中我们可以通过 servletRequest.getRequestURI()获取请求路径,servletRequest.getMethod()获取请求方式,获取到路劲和方法,我们在这之后会对请求路径进行处理,让这个路径执行它所对应的方法。

总结:

框架重的拦截器基本原理这里差不多就讲完了,下一节会给大家讲到自定义注解,以及通过反射获取注解对应的方法。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值