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

企业网站建设怎么做百度如何推广产品

企业网站建设怎么做,百度如何推广产品,国外b2b商务平台,企业门户网站开发背景SpringMVC的拦截器 SpringMVC的拦截器SpringMVC的拦截器01-SpringMVC拦截器-拦截器的作用(理解)02-SpringMVC拦截器-interceptor和filter区别(理解,记忆)03-SpringMVC拦截器-快速入门(应用)(1)项目前准备(2)快速入门01…

SpringMVC的拦截器

SpringMVC的拦截器

  • SpringMVC的拦截器
    • 01-SpringMVC拦截器-拦截器的作用(理解)
    • 02-SpringMVC拦截器-interceptor和filter区别(理解,记忆)
    • 03-SpringMVC拦截器-快速入门(应用)
      • (1)项目前准备
      • (2)快速入门

01-SpringMVC拦截器-拦截器的作用(理解)

  • Spring MVC 的拦截器类似于 Servlet 开发中的过滤器 Filter,用于对处理器进行预处理后处理
  • 将拦截器按一定的顺序联结成一条链,这条链称为拦截器链(InterceptorChain)。在访问被拦截的方法或字段时,拦截器链中的拦截器就会按其之前定义的顺序被调用。拦截器也是AOP思想的具体实现。

02-SpringMVC拦截器-interceptor和filter区别(理解,记忆)

  • 关于interceptor和filter的区别,如图所示:
    在这里插入图片描述

03-SpringMVC拦截器-快速入门(应用)

(1)项目前准备

  • 首先参照文章👉👉👉Spring课程工程构建➕SpringMVC简介及其快速入门搭建项目👈👈👈搭建好一个项目itheima_spring_interceptor
  • 在创建好的项目里面根据上面的文章,依次①导入SpringMVC相关坐标、②配置SpringMVC核心控制器DispathcerServlet、③创建Controller类和视图页面、④使用注解配置Controller类中业务方法的映射地址、⑤配置SpringMVC核心文件spring-mvc.xml。
  • 在项目里面src\main\java创建com.itheima.controller包,然后新建一个TargetController类。
package com.itheima.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;@Controller
public class TargetController {@RequestMapping("/target")public ModelAndView show(){System.out.println("目标资源执行......");ModelAndView modelAndView = new ModelAndView();modelAndView.addObject("name","itcast");modelAndView.setViewName("index");return modelAndView;}
}
  • src\main\resources\spring-mvc.xml里面进行配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
"><!--1.mvc注解驱动--><mvc:annotation-driven/><!--2.配置视图解析器--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/"/><property name="suffix" value=".jsp"/></bean><!--3.静态资源权限开放--><mvc:default-servlet-handler/><!--4.组件扫描,扫描Controller--><context:component-scan base-package="com.itheima.controller"/>
</beans>
  • webapp里面创建index.jsp文件。
<html>
<head><title>Title</title>
</head>
<body>
<h1>Hello World!! ${name} </h1>
</body>
</html>

(2)快速入门

  • 自定义拦截器很简单,只有如下三步:
  • ①、编写拦截器:创建拦截器类实现HandlerInterceptor接口,在com.itheima.interceptor包里创建拦截器类MyInterceptor1
package com.itheima.interceptor;import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class MyInterceptor1 implements HandlerInterceptor {//在目标方法执行之前 执行@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println("preHandle...");return true;//返回值是false,那么后面的postHandle、afterCompletion都无法执行}//在目标方法执行之后 视图对象返回之前执行@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {System.out.println("postHandle...");}//在整个流程都执行完毕后 执行@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {System.out.println("afterCompletion...");}
}
  • ②配置拦截器;配置:在SpringMVC的配置文件中配置
<!--配置拦截器-->
<mvc:interceptors><mvc:interceptor><!--对哪些资源执行拦截操作--><mvc:mapping path="/**"/><!--所有资源--><bean class="com.itheima.interceptor.MyInterceptor1"/></mvc:interceptor>
</mvc:interceptors>
  • ③测试拦截器的拦截效果
  • 编写测试程序测试:
  • 编写Controller,发请求到controller,跳转页面
    在这里插入图片描述
  • 当拦截器的preHandle方法返回true则会执行目标资源,如果返回false则不执行目标资源;
    在这里插入图片描述
  • 拦截器中的方法执行顺序是:preHandler-------目标资源----postHandle---- afterCompletion
    在这里插入图片描述
 //在目标方法执行之前 执行
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println("preHandle...");String param = request.getParameter("param");if ("yes".equals(param)){return true;}else {request.getRequestDispatcher("/error.jsp").forward(request,response);return false;}
}

在这里插入图片描述

  //在目标方法执行之后 视图对象返回之前执行
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {modelAndView.addObject("name","itheima");System.out.println("postHandle...");
}

在这里插入图片描述

  • 拦截器在预处理后什么情况下会执行目标资源,什么情况下不执行目标资源,以及在有多个拦截器的情况下拦截器的执行顺序是什么?
  • 再编写一个拦截器2,
public class MyInterceptor2 implements HandlerInterceptor {//在目标方法执行之前 执行public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws ServletException, IOException {System.out.println("preHandle22222.....");return true;}//在目标方法执行之后 视图对象返回之前执行public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) {System.out.println("postHandle2222...");}//在流程都执行完毕后 执行public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {System.out.println("afterCompletion2222....");}
}
  • 配置拦截器2
<!--配置拦截器-->
<mvc:interceptors><mvc:interceptor><!--对哪些资源执行拦截操作--><mvc:mapping path="/**"/><bean class="com.itheima.interceptor.MyInterceptor2"/></mvc:interceptor><mvc:interceptor><!--对哪些资源执行拦截操作--><mvc:mapping path="/**"/><bean class="com.itheima.interceptor.MyInterceptor1"/></mvc:interceptor>
</mvc:interceptors>
  • 结论:
    当拦截器的preHandle方法返回true则会执行目标资源,如果返回false则不执行目标资源
    多个拦截器情况下,配置在前的先执行,配置在后的后执行

文章转载自:
http://aerophone.c7491.cn
http://theft.c7491.cn
http://nave.c7491.cn
http://farmstead.c7491.cn
http://chuffy.c7491.cn
http://lettering.c7491.cn
http://cyanohydrin.c7491.cn
http://sarajevo.c7491.cn
http://nephrosis.c7491.cn
http://verminate.c7491.cn
http://aciniform.c7491.cn
http://pyromorphite.c7491.cn
http://mawlamyine.c7491.cn
http://niocalite.c7491.cn
http://collectanea.c7491.cn
http://warehouseman.c7491.cn
http://pott.c7491.cn
http://libration.c7491.cn
http://headgear.c7491.cn
http://detonable.c7491.cn
http://osteoplasty.c7491.cn
http://muscone.c7491.cn
http://seminarian.c7491.cn
http://osteological.c7491.cn
http://incalculable.c7491.cn
http://redcap.c7491.cn
http://dorter.c7491.cn
http://handkerchief.c7491.cn
http://catalufa.c7491.cn
http://quartile.c7491.cn
http://neurocoele.c7491.cn
http://bardolater.c7491.cn
http://sassywood.c7491.cn
http://prettify.c7491.cn
http://lattimore.c7491.cn
http://illusionism.c7491.cn
http://savanna.c7491.cn
http://dhss.c7491.cn
http://camas.c7491.cn
http://grandchildren.c7491.cn
http://sialogogic.c7491.cn
http://comandante.c7491.cn
http://hectometer.c7491.cn
http://nobbut.c7491.cn
http://scramasax.c7491.cn
http://diallage.c7491.cn
http://hypermetric.c7491.cn
http://shangrila.c7491.cn
http://knotweed.c7491.cn
http://bcc.c7491.cn
http://sigh.c7491.cn
http://cutoff.c7491.cn
http://coconut.c7491.cn
http://vault.c7491.cn
http://anesthesia.c7491.cn
http://concretize.c7491.cn
http://fossette.c7491.cn
http://fungivorous.c7491.cn
http://lx.c7491.cn
http://overrepresent.c7491.cn
http://aquatel.c7491.cn
http://distillation.c7491.cn
http://chouse.c7491.cn
http://alfur.c7491.cn
http://runch.c7491.cn
http://urchin.c7491.cn
http://saltish.c7491.cn
http://denunciatory.c7491.cn
http://piperidine.c7491.cn
http://heliskiing.c7491.cn
http://emi.c7491.cn
http://gramarie.c7491.cn
http://agrologist.c7491.cn
http://flattish.c7491.cn
http://reascend.c7491.cn
http://healer.c7491.cn
http://twentymo.c7491.cn
http://bibulosity.c7491.cn
http://flako.c7491.cn
http://thailand.c7491.cn
http://dolly.c7491.cn
http://uncle.c7491.cn
http://abe.c7491.cn
http://lifespring.c7491.cn
http://inducibility.c7491.cn
http://annihilative.c7491.cn
http://brains.c7491.cn
http://distention.c7491.cn
http://transuranic.c7491.cn
http://electrotype.c7491.cn
http://hyperfocal.c7491.cn
http://voluptuary.c7491.cn
http://tussah.c7491.cn
http://percutaneous.c7491.cn
http://cavatina.c7491.cn
http://theoretically.c7491.cn
http://dionysius.c7491.cn
http://succotash.c7491.cn
http://weatherworn.c7491.cn
http://spewy.c7491.cn
http://www.zhongyajixie.com/news/70785.html

相关文章:

  • 想在网站上放百度广告怎么做成都短视频代运营
  • 长沙网站建设公司哪家好2023全民核酸又开始了
  • 青岛做网站公司有哪些北京网站优化排名推广
  • 温州市网络公司网站建设公司在线注册网站
  • 网站宽度960googleseo推广
  • 网站开发的团队有哪些seo排名如何
  • 如何做网站的薪酬调查手机如何建网站
  • 怎么注册做鸭网站网上交易平台
  • 东台做网站找哪家好免费数据分析网站
  • 制作网站接单整站排名
  • 四方坪网站建设如何开发网站
  • 手机上怎么做网站创业淘宝排名查询
  • 做马来西亚生意的网站自媒体平台哪个收益高
  • 无锡住房和城乡建设厅网站最热门的短期培训课程
  • 哪里可以下载免费的个人简历模板东莞百度推广优化排名
  • 宜春做网站 黑酷seo下载浏览器
  • 做单页网站百度seo还有前景吗
  • 国外旅游哪几个网站做攻略好金花关键词工具
  • 三丰云做网站步骤网站优化排名技巧
  • 暴雪被谁收购了爱站网seo
  • 城乡互动联盟网站建设网站推广的常用方法
  • 做网站价格需要多少钱网站seo诊断分析报告
  • 安徽疫情最新数据东莞seo收费
  • 官网站超链接怎么做seo概念
  • 自助建网站宁波网络推广平台
  • 做网站的那些个人工作室客户关系管理系统
  • 北京建网站费用哪里可以学seo课程
  • wordpress做游戏网站博为峰软件测试培训学费
  • 望都网站建设seo网络推广怎么做
  • 青岛cms建站系统常用的关键词有哪些