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

网站美工难做吗seo权威入门教程

网站美工难做吗,seo权威入门教程,做公司网站大概需要多少钱啊,河南昨天今日重大新闻这篇学习笔记是Spring系列笔记的第8篇,该笔记是笔者在学习黑马程序员SSM框架教程课程期间的笔记,供自己和他人参考。 Spring学习笔记目录 笔记1:【SSM】Spring基础: IoC配置学习笔记-CSDN博客 对应黑马课程P1~P20的内容。 笔记2…

这篇学习笔记是Spring系列笔记的第8篇,该笔记是笔者在学习黑马程序员SSM框架教程课程期间的笔记,供自己和他人参考。


Spring学习笔记目录

笔记1:【SSM】Spring基础: IoC配置学习笔记-CSDN博客 对应黑马课程P1~P20的内容。

笔记2: 【SSM】Spring学习笔记2:注解配置bean_ssm黑马笔记-CSDN博客 对应黑马课程P21~P27

笔记3: 【SSM】Spring学习笔记3:Spring整合MyBatis和Junit_spring整合mybaits-CSDN博客 对应黑马课程P28~30

笔记4:【SSM】Spring学习笔记4:Spring的AOP编程-CSDN博客 对应黑马课程P31~39

笔记5:【SSM】Spring学习笔记5:Spring事务-CSDN博客 对应黑马课程P40~42

笔记6: 【SSM】SpringMVC学习笔记6:SpringMVC入门-CSDN博客 对应黑马课程P43~58

笔记7: 【SSM】SpringMVC学习笔记7:前后端数据传输协议和异常处理-CSDN博客 对应黑马课程P59~65

笔记8:此篇 对应黑马课程P71~74

笔记9:【SSM】SpringBoot学习笔记1:SpringBoot快速入门-CSDN博客 对应黑马课程P90~101


1.是什么

SpringMVC提供的技术,用于在controller前后执行一些操作,包括可以在controller前拦截操作使程序不执行controller的功能。

2. 快速入门

2.1 声明拦截器的bean

这个类需要实现HandlerInterceptor接口。

该接口有三个方法可以重写,但不是必需要重写。

其中preHandle方法实在controller执行前执行的方法,如果该方法返回true,会放行访问controller;否则将不会访问controller,起到一个拦截的效果。

@Component
//定义拦截器类,实现HandlerInterceptor接口
//注意当前类必须受Spring容器控制
public class ProjectInterceptor implements HandlerInterceptor {@Override//原始方法调用前执行的内容//返回值类型可以拦截控制的执行,true放行,false终止public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {String contentType = request.getHeader("Content-Type");HandlerMethod hm = (HandlerMethod)handler;System.out.println("preHandle..."+contentType);return true;}@Override//原始方法调用后执行的内容public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {System.out.println("postHandle...");}@Override//原始方法调用完成后执行的内容public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {System.out.println("afterCompletion...");}
}

2.2 定义配置类

在该配置类中进行拦截器配置,配置在哪些controller上使用哪些拦截器。

需要继承WebMvcConfigurationSupport(笔记6中对静态界面的放行也是通过这个类来配置),实现addInterceptors方法。自己定义好的拦截器需要注入。

@Configuration
public class SpringMvcSupport extends WebMvcConfigurationSupport {@Autowiredprivate ProjectInterceptor projectInterceptor;@Overrideprotected void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/pages/**").addResourceLocations("/pages/");}@Overrideprotected void addInterceptors(InterceptorRegistry registry) {//配置拦截器//  “/books/*”里使用“*”通配符registry.addInterceptor(projectInterceptor).addPathPatterns("/books","/books/*");}
}

该配置类需要被SpringMVC的核心配置类(用于初始化SpringMVC容器的类)扫描到(通过@ComponentScan注解)

@Configuration
@ComponentScan({"com.itheima.controller","com.itheima.config"})
@EnableWebMvc
public class SpringMvcConfig {}

2.3 执行流程

3. 拦截器的参数

如下图拦截器的这些参数使可以使用的。

【豆包】

1. HttpServletRequest request
  • 作用:封装客户端的 HTTP 请求信息,如请求参数、请求头、Cookies 等。
  • 常用方法
    • request.getParameter("name"):获取请求参数。
    • request.getHeader("User-Agent"):获取请求头。
    • request.getSession():获取用户会话。
  • 使用场景:在postHandle中,可以读取请求信息用于日志记录或权限验证。
2. HttpServletResponse response
  • 作用:封装服务器的 HTTP 响应信息,可用于设置响应头、状态码或直接输出内容。
  • 常用方法
    • response.setStatus(200):设置 HTTP 状态码。
    • response.setContentType("application/json"):设置响应类型。
    • response.getWriter().write("Custom Response"):直接输出内容。
  • 使用场景:在postHandle中,可以修改响应头(如添加 CORS 信息)或提前终止响应。
3. Object handler(树树:涉及反射机制)
  • 作用:当前请求执行的处理器对象。在 Spring MVC 中,通常是一个HandlerMethod(即 Controller 中的方法)。
  • 常用操作
    • 判断处理器类型:if (handler instanceof HandlerMethod)
    • 获取方法信息:HandlerMethod handlerMethod = (HandlerMethod) handler;
    • 获取方法注解:handlerMethod.getMethod().getAnnotation(MyAnnotation.class)
  • 使用场景:根据不同的处理器或方法注解执行不同的逻辑(如仅对特定接口进行拦截)。
4. ModelAndView modelAndView
  • 作用:封装处理器返回的模型数据和视图信息(仅当处理器返回ModelAndView时有效)。
  • 常用操作
    • 修改模型数据:modelAndView.addObject("key", "value");
    • 更改视图:modelAndView.setViewName("newView");
    • 判断是否有视图:if (modelAndView != null)
  • 使用场景:在响应返回前,动态添加额外数据(如全局变量)或修改视图路径。
5.Exception ex 参数的作用
  • 作用:封装处理器(Controller 方法)执行过程中抛出的未被捕获的异常
  • 注意事项
    • 仅当请求处理过程中发生异常时ex 才不为 null
    • 如果请求正常完成(无异常),ex 为 null

4. 拦截器链

对同一个controller配置多个拦截器就会形成拦截器链

如下面对访问/books、/books/的控制器添加两个拦截器,将会以以下顺序执行

  1. projectInterceptor.preHandle
  2. ->projectInterceptor2.preHandle
  3. ->projectInterceptor2.postHandle
  4. ->projectInterceptor.postHandle
  5. ->projectInterceptor2.afterCompletion
  6. ->projectInterceptor.afterCompletion
@Configuration
@ComponentScan({"com.itheima.controller"})
@EnableWebMvc
//实现WebMvcConfigurer接口可以简化开发,但具有一定的侵入性
public class SpringMvcConfig implements WebMvcConfigurer {@Autowiredprivate ProjectInterceptor projectInterceptor;@Autowiredprivate ProjectInterceptor2 projectInterceptor2;@Overridepublic void addInterceptors(InterceptorRegistry registry) {//配置多拦截器registry.addInterceptor(projectInterceptor).addPathPatterns("/books","/books/*");registry.addInterceptor(projectInterceptor2).addPathPatterns("/books","/books/*");}
}

http://www.dtcms.com/wzjs/33107.html

相关文章:

  • 枣强网站建设网络推广的网站有哪些
  • 自动采集的网站网站你应该明白我的意思吗
  • 专业科技网站建设网站制作公司有哪些
  • 现在做推广有什么好的方法网站优化培训
  • 室内设计网站大全网网站推广排名公司
  • 长春疫情最新情况最新消息今天试分析网站推广和优化的原因
  • 做近代史纲要题的网站百度健康
  • 做水果网站需要些什么百度网站怎样优化排名
  • 毕业设计网站成品产品互联网营销推广
  • 如何用阿里云做私服网站seo公司优化
  • 网站备案拍布幕谷歌推广怎么样
  • 天猫店铺怎么开店seo搜索优化公司排名
  • 做网站必须要有前台吗长沙网站优化效果
  • 网上哪个网站做的系统好用seo岗位是什么意思
  • 设计师分享网站seo教程技术资源
  • 舟山 网站制作友情链接交换网址大全
  • 有没有可以做兼职的网站seo 适合哪些行业
  • 家具网站模板想做电商应该怎么入门
  • 北京网站建设建设公司关键词难易度分析
  • 摄影网站建设方案东莞推广公司
  • 网站流量分析报告seo如何优化关键词
  • 国外网站在国内做镜像站点服务营销
  • 手机网站设计教程百度一键安装
  • 河北网站开发报价成都百度
  • 校园网站建设情况说明书优化网站排名如何
  • 企业网站制作步骤网站自建
  • 南平 网站建设如何提高网站排名的方法
  • 福田企业网站优化最好的方法网店推广的方式
  • 内容营销公司seo专员是干什么的
  • 临沂市网站建设seo公司 杭州