当前位置: 首页 > news >正文

商标买卖衡阳seo优化首选

商标买卖,衡阳seo优化首选,wordpress标签大全,one dirve做网站1、首先要明确什么是拦截器、什么是过滤器 1.1 什么是拦截器#xff1a; 拦截器#xff0c;在AOP#xff08;Aspect-Oriented Programming#xff09;中用于在某个方法或字段被访问之前#xff0c;进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略。… 1、首先要明确什么是拦截器、什么是过滤器 1.1 什么是拦截器 拦截器在AOPAspect-Oriented Programming中用于在某个方法或字段被访问之前进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略。 在Webwork的中文文档的解释为——拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码也可以在一个action执行前阻止其执行。同时也是提供了一种可以提取action中可重用的部分的方式。 谈到拦截器还有一个词大家应该知道——拦截器链Interceptor Chain在Struts 2中称为拦截器栈 Interceptor Stack。拦截器链就是将拦截器按一定的顺序联结成一条链。在访问被拦截的方法或字段时拦截器链中的拦截器就会按其之前定义的顺序被调用。 1.2. 拦截器的实现原理 大部分时候拦截器方法都是通过代理的方式来调用的。Struts 2的拦截器实现相对简单。当请求到达Struts 2的ServletDispatcher时Struts 2会查找配置文件并根据其配置实例化相对的拦截器对象然后串成一个列表list最后一个一个地调用列表中的拦截器。1.3 什么是过滤器过滤器是一个程序它先于与之相关的servlet或JSP页面运行在服务器上。过滤器可附加到一个或多个servlet或JSP页面上并且可以检查进入这些资源的请求信息。在这之后过滤器可以作如下的选择①以常规的方式调用资源即调用servlet或JSP页面。②利用修改过的请求信息调用资源。③调用资源但在发送响应到客户机前对其进行修改。④阻止该资源调用代之以转到其他的资源返回一个特定的状态代码或生成替换输出。1.4 Servlet过滤器的基本原理在Servlet作为过滤器使用时它可以对客户的请求进行处理。处理完成后它会交给下一个过滤器处理这样客户的请求在过滤链里逐个处理直到请求发送到目标为止。例如某网站里有提交“修改的注册信息”的网页当用户填写完修改信息并提交后服务器在进行处理时需要做两项工作判断客户端的会话是否有效对提交的数据进行统一编码。这两项工作可以在由两个过滤器组成的过滤链里进行处理。当过滤器处理成功后把提交的数据发送到最终目标如果过滤器处理不成功将把视图派发到指定的错误页面。2、拦截器与过滤器的区别 1. 拦截器是基于java的反射机制的而过滤器是基于函数回调。 2. 拦截器不依赖与servlet容器过滤器依赖与servlet容器。 3. 拦截器只能对action请求起作用而过滤器则可以对几乎所有的请求起作用。 4. 拦截器可以访问action上下文、值栈里的对象而过滤器不能访问。 5. 在action的生命周期中拦截器可以多次被调用而过滤器只能在容器初始化时被调用一次拦截器的代码实现(以struts2为例)1、在xml文件中如何定义拦截器interceptors interceptor namefilterIPInterceptor classcom.xxxx.web.FilterIPActionInterceptor /interceptor-stack namefilterIPStackinterceptor-ref namedefaultStack /interceptor-ref namefilterIPInterceptor //interceptor-stack/interceptors2、怎么遍别写自定义拦截器 public class FilterIPActionInterceptor extends AbstractInterceptor{ /** 日志控制. */ private final Log log LogFactory.getLog(getClass()); /** * see com.opensymphony.xwork2.interceptor.AbstractInterceptor#intercept(com.opensymphony.xwork2.ActionInvocation) */ Override SuppressWarnings(unchecked) public String intercept(ActionInvocation invocation) throws Exception { String result null; // 获得当前方法名. String methodName invocation.getInvocationContext().getName(); String currIp null; try { if (invocation.getAction() instanceof PortletAction) { PortletAction action (PortletAction) invocation.getAction(); currIp action.getRequest().getRemoteAddr(); } String ip ApplicationResource.getHotValue(ALLOW_CACHE_IP); if (StringUtils.isBlank(ip) || StringUtils.isBlank(currIp)) { log.error(允许刷新的IP不存在或当前请求的IP非法.); throw new NoAllowIPException(); } else { String[] ips ip.split(,); boolean errorIp true; for (String s : ips) { if (s.equals(currIp)) errorIp false; } // 判断IP if (errorIp) throw new NoAllowIPException(); } result invocation.invoke();//调用被拦截的方法 } catch (Exception e) { log.error(异常类名: invocation.getAction().getClass()); log.error(异常方法: methodName, e); throw e; } return result; }}3、怎么编写过滤器 1、在web.xml里面配置自定义的拦截器 filterfilter-nameRedirect Filter/filter-namefilter-classcom.xx.filter.RedirectFilter/filter-class/filterfilter-mappingfilter-nameRedirect Filter/filter-nameurl-pattern/xx/xx/*/url-pattern/filter-mapping 2、如何编写自定义的拦截器public class RedirectFilter implements Filter { public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException { // 获取URL Long startTime null; if (log.isDebugEnabled()) { startTime System.currentTimeMillis(); } HttpServletRequest httpRequest (HttpServletRequest) request; String url httpRequest.getRequestURL().toString(); if (url null || url.trim().length() 0) { return; } if (url.indexOf(luceneCreateMapping) ! -1 || url.indexOf(luceneSearchMapping) ! -1) { doFilterForxxx(request, response, url); } else { doxxxx(request, response, url); } if (log.isDebugEnabled()) { long endTime System.currentTimeMillis(); Thread currentThread Thread.currentThread(); String threadName currentThread.getName(); log.debug([ threadName ] this.getClass().getName() url (endTime - startTime) ms); }// 激活下一个Filter filterChain.doFilter(request, response); }}转载自https://zhidao.baidu.com/question/583953960492530045.html 转载于:https://www.cnblogs.com/sobright/p/6618859.html
http://www.yutouwan.com/news/274776/

相关文章:

  • 百度网站前面的图片潮阳建设局网站
  • 珠海企业营销型网站建设公司PPT做音乐网站介绍
  • 上栗网站建设预装wordpress主机
  • 婚庆行业网站建设方案1一诺网站建设
  • 动画网站建设怎么做软件 用手机
  • 大连最好的网站制作公司全网线报 实时更新
  • 商城网站要多少钱拼多多代运营收费标准
  • 网站换一家做还用备案么wordpress小说采集
  • 做淘推广的网站网站logo一般多大
  • 免费照片的网站模板免费下载建筑工程网格化管理的目的和意义
  • 网站建设维护宣传自己建网站卖东西怎么样
  • 二级学院网站制度建设变装小说第三性wordpress
  • 公司内部网站建设的意义可以自己设计logo的软件
  • 学校官方网站的建设目标是什么windows wordpress 安装
  • 东莞品牌网站建设服务上海房产网安居客
  • 深圳网站设计优刻做巧克力的网站
  • 百度网站地图代码竞价单页网站模板
  • python做网站方便么宁德建设银行网站
  • 福州网站开发风格爱站网关键词挖掘机
  • 合肥公司注册平台北京如何优化网站
  • 做网站服务器价格多少合适经典logo设计及寓意
  • 诚客网站建设沈阳工伤保险做实网站
  • 短视频制作完成网站长沙网站的优化
  • 网站及app开发招聘淘宝客网站备案号
  • 创意网站展示wordpress页眉修改
  • 深圳网站公司制作长链接生成短链接网址
  • 临沂做wish网站企业网站栏目结构
  • 天津网站建设公司招商平台网
  • 中法电商网站建设平面设计师灵感网站
  • 企业网站改版方案开发一套软件需要多少钱