<!--thymeleaf--><dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf-spring5</artifactId></dependency><dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-java8time</artifactId></dependency><!--数据库连接--><dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId></dependency><!--mybatis整合springboot--><dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.2</version></dependency><!--druid数据源--><dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.22</version></dependency>1234567891011121314151617181920212223242526272829
对数据源,mybatis,和上传文件进行配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSourceusername: rootpassword: shw123zxcurl: jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTCdriver-class-name: com.mysql.cj.jdbc.Driver servlet:
multipart:
max-request-size: 10MB #上传文件的最大总大小
max-file-size: 10MB #上传单个文件的最大大小mybatis:
type-aliases-package: cn.codewei.pojo mapper-locations: classpath:/mapper/*.xml1234567891011121314
然后写一个文件上传的html,注意表单的==enctype属性要设置为multipart/form-data==
<!DOCTYPE html><html lang="en"><head>
<meta charset="UTF-8">
<title>Title</title></head><body>
<h1>文件上传</h1>
<form method="post" enctype="multipart/form-data" action="/upload">
<input type="file" name="file">
<input type="submit" value="上传">
</form></body></html>1234567891011121314
然后写一个Mapper和对应的Mapper.xml和service
@Mapper@Repositorypublic interface PhotoMapper {
// 向数据库中添加图片
public int addPhoto(Photo photo)
// 从数据库中取出图片
public Photo getPhotoById(@Param("id") int id)}123456789
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="cn.codewei.mapper.PhotoMapper">
<insert id="addPhoto" parameterType="photo">
insert into image values (#{id},#{photo},#{photo_name},#{photo_type})</insert>
<select id="getPhotoById" resultType="photo">
select * from image where id=#{id}</select></mapper>123456789101112
在Controller中进行调用
上传
@Autowiredprivate PhotoService photoService@Autowiredprivate Photo photo@PostMapping("/upload")@ResponseBodypublic String upload(@RequestParam("file") MultipartFile file, HttpServletRequest request) throws IOException {
byte[] bytes = file.getBytes()
photo.setPhoto(bytes)
photo.setPhoto_name(file.getOriginalFilename())
photo.setPhoto_type(".jpg")
photoService.addPhoto(photo)
return "上传成功!"}123456789101112131415161718
取出,在页面中显示
@RequestMapping("/getPhoto")public String getImage(HttpServletResponse response) throws IOException {
Photo photo = photoService.getPhotoById(1)
byte[] photo1 = photo.getPhoto()
ServletOutputStream os = response.getOutputStream()
os.write(photo1)
os.close()
return ""}123456789
<!DOCTYPE html><html lang="en"><head>
<meta charset="UTF-8">
<title>Title</title></head><body>
<h1>首页</h1>
<img src="/getPhoto" width="200px" height="200px"></body></html>
SSL是Secure Socket Layer的缩写,中文名为安全套接层协议。使用该协议后,您提交的所有数据会首先加密后,再提交到网易邮箱,从而可以有效防止黑客盗取您的用户名、密码和通讯内容,保证了您个人内容的安全。SSL证书: 是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上,也称为SSL服务器证书。
ssl也是传输协议。
基于ssl协议开发的一款软件叫openssl。
linux系统默认已经安装。
https出现的背景:
(1)都知道http传输协议是裸漏的,明文传输的,极易被拦截
(2)人们想出的使用加密,也就是 对称加密 例如aes,不过这个由于因为对称加密需要每个客户端和服务器有独立一套,当客户端多的时候维护困难,因此 有了 非对称加密 例如 RSA
1.使用jdk自带的 keytools 创建证书
注:只可用在业务服务上。
(2)配置证书信息(application.properties)
网关路由可以同时支持路由到http和https的后端服务,如果路由到Https的后端,通过以下配置,网关可以设置为信任具有以下配置的所有下游证书。
(3)入口类:
(2) 业务控制器
1.org.springframework.core.io.buffer.DefaultDataBufferFactory cannot be cast to org.springframework.core.io.buffer.NettyDataBufferFactory
解决方法: 由于springcloud的gateway使用的是webflux,默认使用netty,所以从依赖中排除 tomcat相关的依赖
1、属性配置文件(application.properties)spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver12341234
如果使用JNDI,则可以替代 spring.datasource 的 url、username、password,如:
spring.datasource.jndi-name=java:tomcat/datasources/example 11
值得一提的是,无论是Spring Boot默认的DataSource配置还是你自己的DataSource bean,都会引用到外部属性文件中的属性配置。所以假设你自定义的DataSource bean,你可以在定义bean时设置属性,也可以在属性文件中,以“spring.datasource
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)