目录
JavaWeb:
MVC框架:
Spring框架:
索引:
WebAPI:
无状态,开源,部署在IIS和应用程序上,基于HTTP协议,数据格式为纯文本
WebServlet:
有状态,不开源,只能部署在IIS,基于Soap协议,只支持HTTP协议数据格式为XML
JSP四大作用域:
- 当前页(pageContext):一个属性只能在一个页面中获取。
- 一次请求(request):一个页面中设置的属性,范围是一次请求。
- 一次会话(session):一个会话中的属性,只要页面不关闭,都能获取到
- 整个web应用(application):在这个服务器上,当前项目下的任何一个位置都能获取。
JSP九大内置对象:
***request | 请求 |
***response | 响应 |
***session | 会话 |
out | 输出 |
page | 当前JSP页面对象 |
application | 应用 |
exception | 异常,只能在指定了isErrorPage="true"使用 |
pageContext | 当前页,作用域 |
config | 配置 |
Servlet与JSP:
Servlet是服务器端小应用 | JSP服务器端页面技术 |
Servlet强调是类,控制转发 | JSP强调是页面用来显示 |
JSP是Servlet的简化 |
前后端数据交互:
用JSP也可以实现前后端数据交互,但JSP编译成本太高,JSP在运行过程中转换成servlet的.java的形式,最后再编译成.class形式,同时必须在Tomcat的环境下才能运行
Axios:
是异步刷新,不会跳转页面,向后端发送请求
JSON:
轻量级的数据交换格式
session与cookie:
session存储数据在服务端 | cookie在客户端 |
session没有数据大小限制 | cookie最大3kb |
session数据安全 | cookie相对不安全 |
MVC:
MVC是分层开发的模式
- m:model业务模型,处理业务和视图模型
- v:view视图界面显示
- c:controller控制器,处理请求调用(控制器:用来接收浏览器发过来的请求,控制器调用模型来获取数据)
好处:职责单一,互不影响,有利于分工协作,有利于组件重用,重用度高方便维护
缺点:使项目结构变得复杂,对开发人员要求高,适合大型繁琐的项目
三层架构设计原则:
对外提供接口,对内封装实现
- View(视图层):负责页面的显示,与用户的交互
- Model(模型):进行数据相关操作,与数据库交互的数据模型
- Controller(控制器):接收请求,并将请求跳转到模型进行处理,处理完毕再通过控制器,返回给视图的请求
Spring:
提供了IOC技术,容器会帮你管理对象,不需要自己创建和管理依赖对象,提供了事务支持
AOP实现原理
通过 动态代理 实现的。 如果我们为 Spring 的某个 bean 配置了切面,那么 Spring 在创建这个 bean 的时候,实际上创建的是这个 bean 的一个代理对象,我们后续对 bean 中方法的调用,实际上调用的是代理类重写的代理方法。
AOP(面向切面编程):
通过Spring将业务逻辑从应用服务中分离出来,实现高内聚开发(由相似性强的代码组成,只负责一项任务)
IOC(控制反转):
为降低耦合度,把对象创建和对象间调用过程,交给Spring进行管理
Spring设计模式:
- 工厂设计模式
- 单例设计模式
- 代理设计模式
- 模板方法设计模式
- 观察者设计模式
- 适配器设计模式
- 装饰者设计模式
- 策略设计模式
SpringBoot处理异常:
- 自定义异常错误页面
- 使用
@ExceptionHandler
注解处理局部异常 - 使用
@ControllerAdvice
+@ExceptionHandler
注解处理全局异常 - 配置
SimpleMappingExceptionResolver
类处理异常 - 实现
HandlerExceptionResolver
接口处理异常
索引:
- 唯一索引
- 主键索引
- 联合索引
- 优点:提高数据的检索速度提高系统的性能
- 缺点:降低数据的维护进度
实现:B树及B+树 Hash
索引失效:
- 查询条件中有or
- 模糊查询以%号开头
- 如果列类型是字符串,在查询条件中需要将数据用引号括起来
- 索引列上参与计算会导致索引失效
- 没有查询条件,或者查询条件没有建立索引 。。。