一次面试总结

关于一次面试的汇总记录一下

html引入音频,type问题

音频和视频:
原文链接: 作者:qq_33205354

网络的七层协议

从下到上分别是:
1.物理层
2.数据链路层
3.网络层
4.传输层
5.会话层
6.表示层
7.应用层

js中函数“先使用,后定义”

原文链接: 作者:雨帘轻挂

拦截器和过滤器的执行和区别

过滤器:依赖于servlet容器。在实现上,基于函数回调,它可以对几乎所有请求进行过滤,缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的,是用来做一些过滤操作,获取我们想要获取的数据。
使用场景:过滤器中修改字符编码,过滤某些参数(低速文字,危险字符)
拦截器:
依赖于web框架,在springmvc中就是依赖于springmvc框架。在实现上,基于Java的反射机制,属于面向切面编程(AOP)的一种运用,就是在service或者一个方法前调用一个方法或者在方法后调用一个方法,甚至在抛出异常的时候做业务逻辑的操作,缺点是只能对controller请求进行拦截,对其他的一些比如直接访问静态资源的请求无法拦截处理。

servlet的生命周期

1.被创建:执行init方法,只执行一次
– 默认情况下,第一次被访问时,servlet被创建,然后执行init方法;
可以配置servlet的创建时机
2.提供服务:执行service方法,执行多次
3.被销毁:servlet正常关闭时,执行destory方法,只执行一次

${}和#{}的区别

#{}使用的是 预编译,对应jdbc中的preparedStatement
${}:mybatis不会修改或者转义字符,直接输出变量的值

排序功能时使用 ${} 注意进行参数校验(可以使用枚举类做字段检查)

tomcat查看日志

linux下查看tomcat运行日志
先切换到:cd home/tomcat/log
运行时就可以实时查看日志了
ctrl+c是退出命令

你可能感兴趣的:(java,spring,面试)