JavaWeb笔记
JavaWeb
HTML + CSS
CSS选择器
元素选择器:标签,例如h1
id选择器:给标签指定id属性,用
#
选择,注:id不会重复类选择器:用class注明类,用
.
选择
优先级:id选择器 > 类选择器
盒子模型:由内向外,content,内边距padding,边框border,外边距margin
div 标签:一行只显示一个,宽度默认是父元素的宽度
span 标签:一行可以显示多个
表单form标签:主要负责数据采集功能,例如登录,填写信息等
JavaScript
运算符:==
会进行类型转换,===
不会进行类型转换。
类型转换:parseInt,将字符串转换为数字,从第一个字符开始转换,一直到非数字字符。转换不了的话返回NaN
对象:
基础对象:
Array:定义:new Array() 或 直接[]。数组长度可变,例如一个有三个元素的数组可以给第十个元素赋值,中间的元素为undefined。数组可以存放不同类型的数据。
for循环遍历数组中所有元素,forEach遍历有值的元素1
2
3
4
5
6
7var arr = [1, 2, 3, 4];
arr.forEach(function (e) {
console.log(e);
});
arr.forEach((e) => {
console.log(e);
});自定义对象
1
2
3
4var 对象名 = {
属性名: 属性值;
函数名() {};
};
BOM 浏览器对象模型
DOM 文档对象模型
Vue
基于MVVM模型(Model - View - ViewModel)实现数据的双向绑定,将编程的关注点放在数据上
Ajax
异步的javascript和xml
通过ajax可以给服务器发送请求,并获取服务器响应的数据
异步交互:不重新加载整个页面的情况下,与服务器交换数据并更新部分网页。
axios是对ajax的封装
Maven
用于管理和构建java项目。mac中用brew安装maven,安装目录在/usr/local/Cellar/maven下,里面有配置文件,其中指定了依赖仓库的位置在/.m2目录下,还可以指定镜像仓库。
Maven坐标由groupId(项目隶属组织,域名反写),artifactId(项目名称或模块名称)和version组成。通过坐标可以唯一定位资源。
依赖可以传递,如果不想要传递的依赖,就在dependency里面加入exclusions标签来排除依赖。
可以用scope标签指定依赖的作用范围,四种取值:compile,test,provided,runtime。
Spring Boot
快速构建程序。
接收参数:
简单参数:
直接在形参定义,形参名字要和参数一样,localhost:8080/hello?a=tom&b=1
如果想让形参名字和请求参数不一样,要加入RequestParam注解1
2
3
4
5@RequestMapping("/hello")
public String hello(@RequestParam(name="name") String a, Integer b) {
System.out.println(a + b);
return "ok";
}实体参数:
简单实体,定义POJO,参数名和对象内的字段名一样
如果对象有嵌套的话,用符号“点”
数组参数:直接定义一个数组作为形参
集合参数:定义同名集合,在前面加上RequestParam注解
日期参数:用DateTimeFormat注解来指定日期格式
JSON参数:定义POJO接收参数,需要加上RequestBody注解
路径参数:
1
2
3
4
5@RequestMapping("/hi/{name}")
public String who(@PathVariable String name) {
System.out.println(name);
return "ok";
}
响应:
使用ResponseBody注解,将方法返回值直接响应,如果是对象或者集合,将其转换为JSON后响应。
RestController = Controller + ResponseBody
三层架构:
Controller:控制层,接收前端发送的请求,对请求进行处理,并响应数据。
Service:业务逻辑层,处理具体业务逻辑
dao:数据访问层(持久层),负责数据访问操作
控制反转IOC:容器来控制对象的创建控制权
依赖注入DI:容器为程序提供运行时所依赖的资源
bean对象:IOC容器中创建、管理的对象。
Service层和Dao层的实现类交给IOC容器管理:类上面加上Component注解
为Controller层和Service层注入运行时所依赖的对象:变量上面加上AutoWired注解
要把某个对象交给IOC容器管理,在类上加注解:
注解 | 说明 |
---|---|
@Component | 声明bean的基础注解,不属于以下三类时用此注解 |
@Controller | 标注控制器类Controller |
@Service | 标注业务类Service |
@Respository | 标注数据访问类,由于与mybatis整合,用得少 |
AutoWired自动装配,默认按照类型,如果有多个相同类型的bean,会报错。解决方法有:加上Primary注解,指定优先级;加上Qualifier注解,手动指定注入哪个bean;加上Resource注解,手动指定bean。