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

低功耗集成主板做网站开封建站公司

低功耗集成主板做网站,开封建站公司,上海建设工程交易中心,WordPress滑动验证码插件文章目录 零、学习目标一、Spring MVC 自动配置(一)自动配置概述(二)Spring Boot整合Spring MVC 的自动化配置功能特性 二、Spring MVC 功能拓展实现(一)创建Spring Boot项目 - SpringMvcDemo2021&#xff…

文章目录

  • 零、学习目标
  • 一、Spring MVC 自动配置
    • (一)自动配置概述
    • (二)Spring Boot整合Spring MVC 的自动化配置功能特性
  • 二、Spring MVC 功能拓展实现
    • (一)创建Spring Boot项目 - SpringMvcDemo2021
    • (二)改造当前项目 - 移植上一讲项目的内容
    • (三)写MVC配置文件,定义视图跳转
      • 1、注释掉登录控制器toLoginPage()方法上的注解
      • 2、创建自定义MVC配置类 - MyMvcConfig
      • 3、修改登录页面,注释掉显示年份的代码
      • 3、启动应用,测试效果
    • (四)编写拦截器,让登录页面显示年份
      • 1、创建自定义拦截器 - MyInterceptor
      • 2、在自定义MVC配置类里加载自定义拦截器
      • 3、修改登录页面,取消显示年份的注释
      • 4、启动应用,测试效果
    • (五)编写登录拦截器,防止非登录用户查看全部用户信息
      • 1、还原登录控制器中的toLoginPage方法的注解
      • 2、在自定义MVC配置中注释掉相应的视图控制器
      • 3、在登录控制里修改login()方法
      • 4、在自定义拦截器里重写preHandle()方法
      • 5、在自定义MVC配置文件里排除不能拦截的路径
      • 6、启动应用,测试效果
  • 三、课后拓展练习
    • 1、改造用户实体类,添加password字段
    • 2、把session中保存的user字符串改造成user对象
    • 3、使用JPA等方式把用户保存到数据库中,使用数据库查询用户信息后进行登录判断

零、学习目标

  1. 了解Spring Boot中Spring MVC自动配置
  2. 掌握Spring Boot中Spring MVC功能扩展和定制

在Web开发中,会涉及到静态资源的访问支持、视图解析器的配置、转换器和格式化器的定制、文件上传下载等功能,甚至还需要考虑到与Web服务器关联的Servlet相关组件的定制,Spring Boot框架支持整合一些常用Web框架从而实现Web开发,并默认支持Web开发中的一些通用功能。

一、Spring MVC 自动配置

(一)自动配置概述

在Spring Boot项目中,一旦引入了Web依赖启动器spring-boot-starter-web,那么Spring Boot整合Spring MVC框架默认实现的一些XxxAutoConfiguration自动配置类就会自动生效,几乎可以在无任何额外配置的情况下进行Web开发。

(二)Spring Boot整合Spring MVC 的自动化配置功能特性

  1. 内置了两个视图解析器:ContentNegotiatingViewResolverBeanNameViewResolver
  2. 支持静态资源以及WebJars
  3. 自动注册了转换器和格式化器;
  4. 支持Http消息转换器;
  5. 自动注册了消息代码解析器;
  6. 支持静态项目首页index.html
  7. 支持定制应用图标favicon.ico
  8. 自动初始化Web数据绑定器ConfigurableWebBindingInitializer

二、Spring MVC 功能拓展实现

在这里插入图片描述

(一)创建Spring Boot项目 - SpringMvcDemo2021

  • 使用Spring Initializr方式创建Spring Boot项目,并在Dependencies依赖选择中选择Web依赖启动器和Thymeleaf依赖启动器
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

(二)改造当前项目 - 移植上一讲项目的内容

  • 复制第10讲案例【Thymeleaf18N】的html模板文件,国际化配置文件,全局配置文件和相关Java文件(除入口文件)到当前项目的相应位置
    在这里插入图片描述

  • 启动应用,查看是否成功
    在这里插入图片描述

  • 访问登录页面 - http://localhost:8080/toLoginPage
    在这里插入图片描述

  • 访问显示全部用户页面 - http://localhost:8080/allUsers
    在这里插入图片描述

(三)写MVC配置文件,定义视图跳转

1、注释掉登录控制器toLoginPage()方法上的注解

在这里插入图片描述

2、创建自定义MVC配置类 - MyMvcConfig

  • 实现接口WebMvcConfigurer,并重写addViewControllers方法
    在这里插入图片描述
    在这里插入图片描述
package net.hw.lesson11.config;import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;/*** 功能:自定义MVC配置类* 作者:华卫* 日期:2021年05月26日*/
@Configuration // 配置类
public class MyMvcConfig implements WebMvcConfigurer {/*** 添加视图控制器* * @param registry*/@Overridepublic void addViewControllers(ViewControllerRegistry registry) {// 通过login.html访问时,直接跳转到login逻辑视图对应的页面,即login.html页面registry.addViewController("login.html").setViewName("login");// 通过toLoginPage访问时,也直接跳转到login逻辑视图对应的页面,即login.html页面registry.addViewController("toLoginPage").setViewName("login");}
}
  • 注意:自定义MVC配置类一定要添加注解@Configuration
  • 说明:toLoginPage()方法里通过model设置了属性currentYear,会在跳转到登录页面传递给前端,但是直接通过刚才定义的视图控制器来跳转,就没有数据的传递,因此,得修改登录页面代码,暂时不要显示年份,以免程序报错。

3、修改登录页面,注释掉显示年份的代码

在这里插入图片描述

3、启动应用,测试效果

  • 访问http://localhost:8080/toLoginPage
    在这里插入图片描述

  • 访问http://localhost:8080/login.html
    在这里插入图片描述

  • 两种方式都可跳转到login.html页面,当然此时都没有显示年份。

(四)编写拦截器,让登录页面显示年份

拦截器作用,就是在访问请求前或后进行相关的处理,比如访问资源前判断用户是否登录,如果登录则可以访问,否则不能进行访问。本案例是在访问请求后获取当年年份数据,带到登录页面去显示出来。

1、创建自定义拦截器 - MyInterceptor

  • 实现接口HandlerInterceptor,并实现postHandle()方法
    在这里插入图片描述
    在这里插入图片描述
  • 说明:请求前要处理就得重写preHandle()方法,请求后要处理就得重写postHandle()方法,请求完成之后要处理就得重写afterCompletion()方法
package net.hw.lesson11.interceptor;import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Calendar;/*** 功能:自定义拦截器* 作者:华卫* 日期:2021年05月26日*/
@Component
public class MyInterceptor implements HandlerInterceptor {@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {request.setAttribute("currentYear", Calendar.getInstance().get(Calendar.YEAR));        }
}

2、在自定义MVC配置类里加载自定义拦截器

  • 在MyMvcConfig重写addInterceptors()方法,加载自定义拦截器
    在这里插入图片描述

3、修改登录页面,取消显示年份的注释

在这里插入图片描述

  • 编译会报错,说无法解析currentYear,不用管它,因为数据不是来自控制器,而是来自拦截器,要运行时请求后才能获取数据,因此编译会报错。

4、启动应用,测试效果

  • 访问http://localhost:8080/toLoginPage
    在这里插入图片描述
  • 访问http://localhost:8080/login.html
    在这里插入图片描述
  • 两种方式都可以显示出年份,说明自定义拦截器中的postHandle()生效了。

(五)编写登录拦截器,防止非登录用户查看全部用户信息

  • 要求未登录用户不能查看用户信息,但是定义拦截器前,通过路径http://localhost:8080/allUsers是可以看到所有用户信息的。
    在这里插入图片描述

1、还原登录控制器中的toLoginPage方法的注解

在这里插入图片描述

2、在自定义MVC配置中注释掉相应的视图控制器

在这里插入图片描述

3、在登录控制里修改login()方法

在这里插入图片描述

4、在自定义拦截器里重写preHandle()方法

在这里插入图片描述

  • 拦截非登录用户,直接重定向到登录页面,强制其登录

5、在自定义MVC配置文件里排除不能拦截的路径

在这里插入图片描述

6、启动应用,测试效果

在这里插入图片描述

  • 未登录前,访问http://localhost:8080/allUsers,直接跳转到登录页面。登录成功后,才可以查看全部用户信息。

三、课后拓展练习

1、改造用户实体类,添加password字段

2、把session中保存的user字符串改造成user对象

3、使用JPA等方式把用户保存到数据库中,使用数据库查询用户信息后进行登录判断

http://www.yayakq.cn/news/799681/

相关文章:

  • 诚信的小程序开发兼职网站做网站属于什么费用
  • 免费网站有哪些dz论坛网站源码
  • 卓企做的网站怎么样南宁青秀万达网站建设
  • 免费php网站有哪些诸暨网站制作公司 网页
  • 怎么建网站appwordpress get_search_form()
  • 建网站需要什么步骤wordpress控制上下页链接
  • 网站内链设置永川建网站
  • 手机网站设计制作服务宁波有几个区
  • 天津专业网站制作备案网站域名被抢注
  • 电子商务网站软件建设的核心眼镜网站建设
  • 平台网站建设需求制作海报用什么软件
  • 可以做视频剪辑兼职的网站网站推广公司兴田德润官网多少
  • 网站建设编辑器网站备备份教程
  • 鄂州网站建设公司wordpress 8.0怎么登录
  • 做苗木免费网站平原网站建设电话
  • 网站建设搞笑广告词wordpress缩略图错乱
  • 石家庄建立网站的公司91福利社区wordpress
  • 正规网站建设公司一般要多少钱哈尔滨最专业的网站建设
  • 衣柜做网站的关键词上海缪斯设计公司的主题文化
  • 网站设置gif禁用蜂网站开发
  • 学校网站建设报价是多少钱网页传奇加速器
  • 做网站接单渠道网站开发周总结
  • 做品牌特价的网站有哪些WordPress显示更新进度插件
  • 如何制作网站视频教程wordpress 间距
  • 北京手机网站开发费用广州 电商网站建设
  • 金环建设集团有限公司官方网站wordpress评论嵌套
  • 教育教研网站建设的意义网站建设怎么加音乐
  • 石墨网站开发全屏类网站
  • 怎么样免费做自己的网站wordpress ajax失败
  • 中国小康建设网 是个什么网站网站权限配置