java后台
mysql基础
- 连接命令:mysql -h(主机地址) -u(用户名)-p (用户密码)
- 创建数据库:create database (库名)
- 显示所有数据库: show databases;
- 打开数据库:use (库名)
- 当前选择的库状态:SELECT DATABASE();
- 创建数据表:create table 表名 (字段名 字段类型 字段要求 字段参数,…);
- 显示数据表字段:describe 表名;
- 当前库数据表结构:show tables;
- 修改用户密码:mysqladmin -u 用户名 -p password 新密码;
更改表格:
- 修改表名:alter table tablename rename [to] newtablename;
- 修改字段数据类型:alter table tablename modify 字段名 数据类型;
- 修改字段名:alter table tablename change old字段名 new字段名 new数据类型;
- 添加字段:alter table tablename add(new字段名 数据类型);
- 删除字段:alter table tablename drop 字段名; //有字段一并删除
- 删库:drop database [库名];
- 删表:drop table [表名];
Springboot笔记
- 逆向工程启动参数:mybatis-generator:generate -e
- springboot实体类的注解时间类型转换:
- 前端:@JsonFormat(timezone = “GMT+8”,pattern = “yyyy-mm-dd”) or @JsonFormat(timezone = “GMT+8”,pattern = “yyyy-mm-dd hh:mm:ss”)
- 后端:@DateTimeFormat(pattern = “yyyy-mm-dd”) or @DateTimeFormat(pattern = “yyyy-mm-dd hh:mm:ss”)
//最好两个都加上
SpringMVC的工作流程
1、个人的理解
请求来源是用户访问url,之后才是SpringMVC工作开始,比如说:
老张第一次去公司上班,必须要经过公司园区的大门才能进去,请求是一样的,需要经过叫做Dispathcer Servlet的前端控制器,公司的工作地点在哪里(请求工作),不认识路(请求需要在哪里才能分析),所以得打开手机地图,在地图上找到公司所在地,在SpringMVC中,从Dispathcer Servlet开始,先找到Handler Mapper,通过这个组件映射找到公司地点的老板(Handler Mapper)。
找到老板以后,老张按照手机地图(Handler Mapper组件里的信息)指明了老张工作的HandlerAdapter。现在老张身为员工(Handler,请求所对应的事件),老张工作的内容就是控制层(MVC中的C)下请求url对应的方法,工作完成后,需要提交工作给老板看(返回ModelAndView对象给HandlerAdpter),老板满意之后,老张把自己做的的”项目“发布到了公司的服务器上让客户尽情浏览(意思就是将ModelAndView对象返回给DispatherServlet)。
2、具体流程
1、用户发送请求到前端控制器DispatcherServlet。
2、DispatcherServlet收到请求后,调用HandlerMapping(处理器映射器)。
3、处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有就生成)一并返回给DispatcherServlet。
4、DispatcherServlet调用HandlerAdapter(处理器适配器) 。
5、HandlerAdapter经过适配,再调用具体的处理器(Controller,就叫做后台控制器),Controller执行完成返回ModelAndView。
6、HandlerAdapter将controller的执行结果ModelAndView返回给了DispatcherServlet。
7、DispatcherServlet将ModelAndView传给ViewReslover(视图解析器),ViewReslover解析后返回具体View。
8、DispatcherServlet根据View对视图进行渲染,并将处理结果通过页面展示给用户。
JSP和Servlet
-
Servlet生命周期
1、初始化:Web容器加载servlet,调用init()方法 只执行一次;
2、请求处理:请求到达,运行service()方法,service()自动调用和请求相对应的doXX(doGet或者doPost)方法, 可执行多次;
3、销毁:服务结束,web容器会调用servlet的distroy()方法销毁servlet,并只执行一次; -
get提交和post提交有何区别
1、请求的时候参数的位置不一样,get的参数是拼接在url后面,别人在浏览器地址栏上可以看到,所以不安全。而post请求是放在请求体中,看不到提交的参数,所以更安全。
2、get提交的数据只能是文本,大小不能超过1024个字节,而post可以提交文本、二进制文件。所以提交和上传文件一般都用post。 -
doGet与doPost方法
1、HttpServletRequest:封装了与请求相关的信息
2、HttpServletResponse:封装了与响应相关的信息 -
四种作用域
1、page:一个页面
2、session:一次会话
3、request::一次请求
4、application:服务器从启动到停止。