普通知识点java(包括jwt令牌 Filter拦截器 http状态码RESTFULapi)

1.@slf4j注释 可以令类中使用

2.配置文件可以在application.properties中使用key=value声明log.info(String msg)来输出日志到控制台

如果要使用可在java中使用Value(¥{})注释获得

	@Value("${OSS.aliyun.endpoint}")
	private  String endpoint ;
	@Value("${OSS.aliyun.accessKeyId}")
	private  String accessKeyId;
	@Value("${OSS.aliyun.accessKeySecret}")
	private  String accessKeySecret;
	@Value("${OSS.aliyun.bucketName}")
	private  String bucketName;

3.ylm也可以做配置文件 在springboot中要命名为application.ylm

其中ylm使用格式为 key:value    value前的空格一定有

#定义对象/Map集合
User:
  name: Tom
  age: 18
  address: "China"

#定义数组/List集合/Set
Hobby:
  - java
  - c
  - python
  - go 

4.将系统配置放在yml文件中然后声明一个aliOSSproperties类

@Data//getter setter方法
@Component//代表该对象交给IOC容器管理
@Configuration("aliyun.oss")//前缀名
public class AliOSSproperties {
	private String endpoint;
	private String accessKeyId;
	private String accessKeySecret;
	private String bucketName;
}

然后在要使用的类中声明一个aliOSSproperties类 用Autowried来获取对象 再用get和set方法获取该用的系统配置

	@Autowired
	private  AliOSSproperties aliOSSproperties;
	/**
	 * 实现上传图片到OSS
	 */
	public  String upload(MultipartFile file) throws IOException {
		String endpoint = aliOSSproperties.getEndpoint();
		String accessKeyId = aliOSSproperties.getAccessKeyId();
		String accessKeySecret = aliOSSproperties.getAccessKeySecret();
		String bucketName = aliOSSproperties.getBucketName();

4.Rest风格:

GET:查询
POST:新增
PUT:修改
DELETE:删除

5.cookie和session和JWT
cookie在第一次访问浏览器时由服务端生成的 而后每次发送请求浏览器都会带上cookie信息 以便服务端识别 cookie保存在浏览器端

session是由服务端也生成一个值供服务端保存以便验证身份

JWT:json web Token 最典型的应用就是登录场景
JWT由三部分构成 由Base64编码
第一部分Head(头) 记录算法信息 令牌类型
第二部分Payload(有效负荷)制定一些信息 由程序员定义
第三部分Signature(签名) 防止Token被篡改    

JWT的生成

	@Test
	public void TestGenJWT(){
		Map<String, Object> clams = new HashMap<>(); //定义map集合 封装数据 向JWT中添加JSON格式数据
		clams.put("name", "jeny");
		clams.put("gender","nan") ;
		
		
		String itheima = Jwts.builder() //创建JWT的生成器
				.signWith(SignatureAlgorithm.HS256, "itheima") //设置签名秘钥以及签名算法
				.setClaims(clams) //设置自定义数据
				.setExpiration(new Date(System.currentTimeMillis() + 3600 * 2 * 1000)) //设置过期时间
				.compact();//生成JWT

		System.out.println(itheima); //eyJhbGciOiJIUzI1NiJ9.eyJnZW5kZXIiOiJuYW4iLCJuYW1lIjoiamVueSIsImV4cCI6MTczMDYzNjcwNH0.SfudpccSinXMgM-ImKcH_pKLV-7P79cGI4GskIMLQiY
	}

 JWT的解析
 

	@Test
	public void TestParseJWT(){
		Claims itheima = Jwts.parser() //创建JWT解析器
				.setSigningKey("itheima")//设置签名秘钥
				.parseClaimsJws("eyJhbGciOiJIUzI1NiJ9.eyJnZW5kZXIiOiJuYW4iLCJuYW1lIjoiamVueSIsImV4cCI6MTczMDYzNjcwNH0.SfudpccSinXMgM-ImKcH_pKLV-7P79cGI4GskIMLQiY") //解析JWT
				.getBody(); //获取解析后的数据

		System.out.println(itheima);

	}

6.状态码
状态码响应分为五类

信息响应(100-199) 
成功响应(200-299)
重定向(300-399)
客户端错误(400-499)
服务器错误(500-599)

 3** 重定向 需要进一步操作以完成请求
4** 客户端错误 请求包含语法错误或无法完成请求
5** 服务端错误 服务器在处理请求的过程中发生了错误

100 continue 继续请求 客户端继续其请求

200 OK 请求成功

400客户端请求的语法错误 服务器无法理解
401 请求要求用户的身份认证
403Forbidden 服务器理解请求客户端的请求但是拒绝执行此次请求
404 Not Found 找不到网页
405 Method Not Allowed 客户端请求中的方法被禁止 一般指服务器要一种请求而服务端发送了一个错误请求 比如服务器需要GET请求而客户端发送的DELETE请求
408 Request Time-out 请求超时

500服务器内部错误无法完成请求

程序员最喜欢看到的代码 200-OK
程序员不想看到的 500-Internal-Server-Error
用户最不想看到的 401-Unauthorized 403-Forbidden 404 Not-Found 408-Request-Time-out

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值