搭建骨架
JAVA基础语法学习
-
java中的逻辑判别式的值只能是
boolean值 -
java倒序排序:
Arrays.sort(a,(x,y) -> y-x),自定义函数不支持默认类型,需要用对象,int => Integer -
java判断字符串是否相等,使用api =>
"xxx".equals(op);因为字符串可能是空的 -
框架初始
前后端分离的概念
前后端不分离返回给用户的是页面(html)
遇到的问题:
-
创建backend后运行文件按钮不亮解决方法:将
Project SDK: 设置为1.8版本.将Project language level: 设置为对应的8版本.
在我们JavaSE文件夹下
创建文件夹名为out, 并将Project compiler output: 设置为指向我们创建的out文件夹.最后点Apply(应用) , 然后在点OK就行了.
Django的模式:
Django的MTV模式本质上和MVC是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,Django的MTV分别是值:
M 代表模型(Model):负责业务对象和数据库的关系映射(ORM)。
T 代表模板 (Template):负责如何把页面展示给用户(html)。
V 代表视图(View):负责业务逻辑,并在适当时候调用Model和Template。
M-Model模型 (数据存储层,和数据库打交道。相当于mvc的m)
T-Template 模板(模板层,用来处理页面的显示。相当于mvc的v)
V-View 视图(业务逻辑层,处理具体的业务逻辑,如下图所示,它的作用是通过请求响应获取Model 层,把Model层与 Template层联通。相当于mvc的c)
Java的模式
M-model模型(数据存储层,和数据库打交道)
V-view视图(视图层,用户看到并与之交互的界面,如由html元素组成的网页界面,或软件的客户端界面)
C-controler 控制器(控制层,如图下所示,控制器把视图层所给的指令用来检索数据层的数据,该层编写代码产生结果并输出)
项目流程
用户会先将代码
下载到自己的浏览器内,然后执行代码;根据ajax的url进行找寻,先找到/pk/目录下得Controller,找到/botgetinfo/并调用相对应得函数,由其返回的函数进行return,并传到前端渲染;
SpringBoot解决跨域问题
添加配置类:CorsConfig
package com.kob.backend.config;
import org.springframework.context.annotation.Configuration;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
创建项目静态地图

创建蛇
之前地图的两条蛇初始坐标为(11,1)和(1,11),有可能会使两条蛇同时进入一个格子,对优势方不利
解释:刚开始坐标之和都为偶数,所以之后会按照奇数->偶数->奇数.......
解决方式:将列数变为偶数,但变成这样就不再是轴对称,但可以是中心对称;
配置SpringBoot在pom.xml文件中添加依赖
在pom.xml文件中添加依赖: Spring Boot Starter JDBC Project Lombok 帮我们简化代码帮我自动写一些构造函数 MySQL Connector/J mybatis-plus-boot-starter MyBatis Plus 帮我们默认写好了许多sql语句我们不需要写了 mybatis-plus-generator spring-boot-starter-security 后面两个先别装 jjwt-api
SpringBoot中关于层的概念
数据库里的表user类似于Java中的class,
pojo层其实就是直接将这个表转化成class,表的名称直接定义成class名称就可以了。
mapper层 对于class里面的增删改查,最终所有数据都需要存到数据库上, 对于class的对象的增删改查都需要将数据存到数据库里 都需要用到sql语句,所以mapper层就是将class里面的增删改查操作crud, 转化成SQL语句。
service层,实现具体业务可以用多个不同的mapper操作 mapper类似于一些最基本的操作, service可以将最基本的操作组合实现一些具体的业务
Controller,将前端的请求以及请求中的参数接收然后选择将这些参数传给哪个service 将service的返回结果再返回给前端,调度service
@RestController用在类上,标注类里面的所有方法不用被视图解析解析,而是直接返回数据。
@Controller
表明这是Controller类,MVC层中的Controller层。
用户前端发起请求,中央调度器DispatcherServlet就会根据处理器映射器找到标注了@Controller注解的类,从而找到相应的处理器方法来处理请求。
sevice层的增删用户
数据库查询流程
根据
路径匹配函数,然后调用UserMapper函数,UserMapper函数是我们自己定义在/mapper/UserMapper/中的,然后这个函数实现了很多api
实现SpringSecurity之后
为了能够让数据库的用户访问,需要配置一下
实现
service.impl.UserDetailsServiceImpl类,继承自UserDetailsService接口,用来接入数据库信息 实现config.SecurityConfig类,用来实现用户密码的加密存储

传统session验证

存放公开链接的地方
在Config/Securityconfig/里面
Controler 用来调用Service的,在Service里面写一个接口,在Service/impl里面写一个接口的具体实现,

浙公网安备 33010602011771号