springboot学习(四):安全问题
在web开发中,安全应该放在第一位:拦截器,过滤器,且安全问题应该在设计之初考虑
有两个框架:Spring Security、shiro,两个框架很像
SpringSecurity简介
Sprin gSecurity是Springboot底层安全模块默认的技术选型,它可以实现强大的Web安全机制,只需要少数的spring-boot--spring-security依赖,进行少量的配置,就可以实现
功能权限、访问权限、菜单权限…,我们使用过滤器,拦截器需要写大量的原生代码,这样很不方便
所以在网址设计之初,就应该考虑到权限验证的安全问题,其中Shiro、SpringSecurity使用很多
搭建环境导入静态资源提取码:d4hu
编写controller层的视图控制1234567891011121314151617181920212223242526272829@Controllerpublic class RouterController { @RequestMapping({"/","/index"}) ...
springboot学习(三):连接数据库
整合JDBCSpring Data简介对于数据访问层(dao),无论是SQL还是NOSQL,SpringBoot底层都是采用Spring Data的方式进行统一处理
Spring Boot 底层都是采用 Spring Data 的方式进行统一处理各种数据库,Spring Data 也是 Spring 中与 Spring Boot、Spring Cloud 等齐名的知名项目。
Sping Data 官网 数据库相关启动器
jdbc我们在配置文件中配置数据源
123456spring: datasource: username: root password: 123456 url: jdbc:mysql://localhost:3306/hanser?useUnicode=true&characterEncoding=utf-8 driver-class-name: com.mysql.cj.jdbc.Driver
根据之前学的,肯定有一个xxxxProperties和xxxxAutoConfiguration,前者里的属性就是我们在配置文件里能配 ...
springboot学习(二):web 开发
要解决的问题:
导入静态资源
首页
jsp,模板引擎Thymeleaf
装配拓展SpringMVC
增删改查
拦截器
国际化
静态资源的导入按照之前的逻辑,找到mvc的自动配置类WebMvcAutoConfiguration.java,发现有一个方法
12345678910111213141516@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) { // 说明如果自定义了配置,那么默认的配置失效,直接返回 if (!this.resourceProperties.isAddMappings()) { logger.debug("Default resource handling disabled"); return; } addResourceHandler(registry, "/webjars/**", "classpath:/META-INF/resources/webjars/&qu ...
springboot学习(一):第一个项目以及原理浅析
1. 前言学习历程javase: OOP的思想
mysql: 持久化
html+css+js+jquery+框架: 视图层
javaweb: 独立开发原始的MVC三层框架网站
SSM: 框架,简化开发流程,但配置也开始复杂
war: tomcat运行
spring再简化: SpringBoot-jar: 内嵌tomcat; 微服务架构
服务越来越多: 出现了springcloud
Spring是怎么简化开发的
基于POJO的轻量级和最小侵入性编程,所有东西都是bean;
通过IOC,依赖注入(DI)和面向接口实现松耦合;
基于切面(AOP)和惯例进行声明式编程;3
通过切面和模版减少样式代码,RedisTemplate,xxxTemplate;
什么是SpringBoot 一个javaweb的开发框架,和SpringMVC类似,对比其他javaweb框架的好处,官方说是简化开发,约定大于配置, you can “just run”,能迅速的开发web应用,几行代码开发一个http接口。
所有的技术框架的发展似 ...
springMVC(七):Interceptor
概述
SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能。
过滤器与拦截器的区别:拦截器是AOP思想的具体应用。
过滤器:
servlet规范中的一部分,任何java web工程都可以使用
在url-pattern中配置了/*之后,可以对所有要访问的资源进行拦截
拦截器:
拦截器是SpringMVC框架自己的,只有使用了SpringMVC框架的工程才能使用
拦截器只会拦截访问的控制器Controller方法, 如果访问的是jsp/html/css/image/js是不会进行拦截的
实现简单的拦截器
想要实现拦截器,必须实现HandlerInterceptor 接口。
配置好环境,确保环境正确
编写一个类MyInterceptor实现HandlerInterceptor 接口
1234567891011121314151617181920public class MyInterceptor implements HandlerInterceptor { / ...
springMVC(六):Ajax
异步与同步
异步传输是面向字符的传输,它的单位是字符;
而同步传输是面向比特的传输,它的单位是帧,它传输的时候要求接收方和发送方之间的时钟是一致的。
同步的话,必须这个操作完了才会执行下一步,在等待期间浏览器会挂起不执行下面的js代码;异步则是【告诉】浏览器去做,【告诉】是一瞬间的事情,然后继续执行下一步,等到结果返回之后,浏览器会通知js执行相应的回调。
理解
ajax全称Asynchronous JavaScript and XML(异步的JavaScript 和 XML)
AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
Ajax 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。
Google Suggest 使用 AJAX 创造出动态性极强的 web 界面:当您在谷歌的搜索框输入关键字时,JavaScript 会把这些字符发送到服务器,然后服务器会返回一个搜索建议的列表
传统的网页(即不用ajax技术的网页),想要更新内容或者提交一个表单,都需要重新加载整个网页。
使用ajax技术的网页,通过在后台服务器进行少量的数 ...
springMVC(五):json
什么是JSON?
JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛。
采用完全独立于编程语言的文本格式来存储和表示数据。
简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。
易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率
在JavaScript语言中,一切都是对象。因此,任何JavaScript 支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。看看他的要求和语法格式:
一般对象和String表示为键值对,数据由逗号分隔
花括号保存引用对象
方括号保存数组
1234<!--JSON 键值对是用来保存 JavaScript 对象的一种方式,和 JavaScript 对象的写法也大同小异,键/值对组合中的键名写在前面并用双引号 "" 包裹,使用冒号 : 分隔,然后紧接着值:--> {"name": "QinJiang"} { ...
springMVC(四):Controller层
控制器Controller
控制器复杂提供访问应用程序的行为,通常通过接口定义(实现Controller接口)或注解定义两种方法实现。
控制器负责解析用户的请求并将其转换为一个模型。
在Spring MVC中一个控制器类可以包含多个方法
在Spring MVC中,对于Controller的配置方式有很多种
实现Controller接口Controller是一个接口,在org.springframework.web.servlet.mvc包下,接口中只有一个方法;
1234567891011//实现该接口的类,就说明这是一个控制器,获得了控制器功能public class HelloController1 implements Controller { //处理请求且返回一个模型与视图对象 @Override public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Excep ...
springMVC(三):annotation
整体步骤
新建一个web项目
导入相关jar包
编写web.xml , 注册DispatcherServlet
编写springmvc配置文件
接下来就是去创建对应的控制类 , controller
最后完善前端视图和controller之间的对应
测试运行调试.
使用springMVC必须配置的三大件:处理器映射器、处理器适配器、视图解析器,
前两个开启注解驱动即可,最后一个要手动配置
web.xml这个配置文件没变,和之前一样
12345678910111213141516171819202122<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xml ...
springMVC(二):第一个springMVC程序
是什么是springMVCSpringMVC是Spring框架中的一个分支,是基于Java实现MVC的轻量级Web框架
核心:Spring的web框架围绕DispatcherServlet [调度Servlet] 设计的。
2.1执行原理SpringMVC底层工作原理:和上面图一一对应,实线表示已经被MVC实现了,虚线表示我们自己要写
1.DispatcherServlet表示前置控制器,是整个SpringMVC的控制中心,用户发出请求,DispatcherServlet来接受并拦截请求12345678910111213141516171819202122232425<!--配置DispatcherServlet:SpringMVC核心--><servlet> <servlet-name>SpringMVC</servlet-name> <!--这是框架里自带的一个类--> <servlet-class>org.springframework.web.servlet.DispatcherServ ...