CSS
选择器
id,class,标签,属性,子(空格) 兄弟(+) 后代(>)
div的水平和垂直居中
div{
margin:0 auto;
width:200px;
height:200px;
background-color: pink;
}
盒子模型
JavaScript
数据类型
- Number
- String
- Boolean
- Object
- undefined
- null
- Symbol(ES6)
作用域
- 全局作用域
- 函数作用域
- 块作用域(let const)
OOP
创建对象的方式:
- 字面量
let obj={
name="tom"
}
- 构造函数
function Obj(name){
this.name
}
- 内置对象Object
Object.create()
DOM
获取元素的方式:
- document.getElementById
- document.getElementByName
- document.getElementByClassName
- document.getElementByTagName
- document.querySelector
- document.querySelectorAll
事件
- 事件注册的方式:标签的属性,DOM对象的属性,DOM2级事件注册
- 事件冒泡:子元素上发生的事件会一层层往上冒泡,如果父元素上注册了监听则会捕获并处理(应用:事件委托,将子元素的事件处理函数注册到父元素上)
- 常见的事件:鼠标事件,焦点事件,键盘事件,表单事件,change事件
Ajax
- 概念:ajax(Asynchronous JavaScript and XML:异步JavaScript和XML),可以做到页面无刷新来更新数据,
- 场景:即时校验账号或影响唯一性,前后端分离
- 实现方式:JQuery,Axios,LayUI
- 遇到问题:跨域,函数回调问题
跨域
- 产生原因:浏览器的同源策略(协议、域名、端口三个全部一致才叫同源),只有ajax请求才会有跨域问题
- 解决办法:
CORS在服务器端使用某中手段往响应中增加响应头
JSONP
WebSocket
客户端数据的存储
Cookie,localStorage,sessionStorage的区别?
存储大小: Cookie4k, Storage5M
有效期: Cookie拥有有效期,localStorage永久存储,SessionStorage是一种会话技术,浏览器关闭即清除。
Cookie会发送到服务器端,存储在内存中,localStorage只存储在浏览器端,sessionStorage存储在内存中。
路径: Cookie有路径限制, Storage只存储在域名下
API: Cookie没有特定的API,Storage有对应的API
JavaWeb
Servlet的生命周期(经典面试题)
- 实例化:Servlet第一次处理请求时由容器进行实例化
- 初始化:在Servlet实例化之后,调用init()方法,初始化servlet信息
- 处理请求:接收请求调用service()方法,每次接收请求调用一次(模板方法设计模式)
- 摧毁:在服务器正常关闭(手动关闭,重启)时调用destory()方法
Servlet的特点
单实例,多线程
由于Servlet对象是单例的,对于servlet中的类成员的修改就需要考虑到线程同步问题
获取参数
- 文本:
request.getParameter("paramName");
- 多个同名参数:自动组成一个数据
- 二进制文件:添加注解
@multipart
,request.getPart("fileName")
- 获取头信息:
request.getHeader("name")
前台重定向和后台转发(经典面试题)
- 从Http协议上说,前台重定向服务器发送给客户端状态码为302,再加上location,然后客户端继续发送请求到location;而后台转发客户端仅发送了一次请求
- 前台重定向的地址栏会改变,后台转发不变
- 由于前后两次请求,前台重定向的request作用域中的数据不可共享,而后台转发仅有一个request域所以可以获取到
- 再次刷新时,前台重定向访问重定向之后的页面;而后台转发会重复提交请求
JSP
- JSP与Servlet的关系
JSP在第一次被访问时,由Servlet容器翻译成Servlet类,再编译为class文件
- JSP隐式对象(经典面试题)
共九个:request、response、session、application、config、page、pageContext、out、exception
- 表达式语言
${expression}
XML
- 合法的XML和有效的XML:符合语法的XML称为合法,符合验证规则的XML称为有效的XML
- Java解析xml的方式
DOM:将整个XML文件一把读入内存进行处理
SAX:一个节点一个节点处理
- 通常使用的开源包:dom4j,jdom