什么是Servlet?
作为来自Web浏览器或其他HTTP客户端的请求和HTTP服务器的上的数据库或应用程序之间的中间层;使用Servlet可以手机来自网页表单的用户输入,可以动态的创建网页。
Servlet的生命周期
加载-----实例化-------初始化--------处理请求------服务结束
GET和POST请求的区别?
① GET请求的数据量较小,不能大于2KB,POST传递的数据量比较大,一般默认为不受限制。
② GET是不安全的,在传输数据过程中,数据被存放在URL中;POST的所有操作对于用户来说都是不可见的,因此相对来说是安全的。
③ GET执行效率相对于POST来说比较好。GET是form表单体校的默认方法。
④ GET限制Form表单的数据必须为ASCII字符,而POST支持整个ISO10646字符集
doGet()和doPost()方法
默认情况下调用的是doGet()方法,JSP页面中的Form表单的method属性设置为post的时候,调用的为doPost()方法;为get的时候,调用doGet()方法
转发(Forward)和重定向(Redirect)的区别?
转发(Forwar):是服务器行为
重定向(Redirect):是客户端行为
request.getAttribute()和request.getParameter()的区别?
① request.getAttribute()获取的是Object类型;request.getParameter()获取的是String类型。
② request.getParameter()获取的是POST/GET传递的参数值和URL中的参数;request.getAttribute()获取的是对象容器中的数据值/对象
JSP如何解决乱码问题
一般的处理方法就是配置一个过滤器对每个JSP页面进行字符集处理
实现会话跟踪技术有哪些?
① 使用Cookie
② URL重写
③ 隐藏的表单域
④ HttpSession
Cookie和Session的区别?
① Cookie是存放在客户端的浏览器上的,Session的数据是存放在服务器上
② Cookie不太安全,Session比较安全
③ 单个Cookie数据不能超过4K,现在的大多数浏览器对Cookie的保存数量一般都在20个左右
④ Session会在一定时间内保存在服务器上,当访问增多时,会比较占用服务器的性能。考虑到减轻服务器性能方面,应当使用Cookie。
JavaSpring Bean的装配方式?
① 基于XML的方式装配
② 在JAVA中进行显示配置
③ 隐式的bean扫描发现机制和自动装配
synchronized和Lock的区别
① Lock是一个接口,并且Lock在发生异常的时候,不会主动释放占有的锁,必须要手动来释放锁,可能会引发死锁的发生
② synchronized是java的一个关键字,在发生异常的时候会自动释放占有的锁,可以避免死锁