1.请简述http协议中get请求和post请求的区别.
(1)get 是从服务器上获取数据,post是发送数据到服务器。
(2)get通过url传递参数,post通过request中的body。
(3)get请求在url中传递的参数是有长度限制的(主要是因为浏览器对URL的长度有限制),而post没有。
(4)get比post更不安全,因为参数直接暴露在url中,所以不能用来传递敏感信息。
-
get请求只能进行url编码,而post支持多种编码方式
-
get请求会浏览器主动cache,而post支持多种编码方式。
-
get请求参数会被完整保留在浏览历史记录里,而post中的参数不会被保留。
2.请简述session和cookie的区別.
(1)cookie数据存放在客户的浏览器上,session数据放在服务器上。
(2)cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session。
(3)session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能。(Session是保管在服务器端的,每个用户都会 产生一个Session。假如并发访问的用户十分多,会产生十分多的Session,耗费大量的内存),考虑到减轻服务器性能方面,应当使用COOKIE。
(4)单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
(5)session id 基本上是保存cookie中,但是有些浏览器会禁用cookie,所以session id 可以通过重写url实现或使用表单隐藏字段技术,就是服务器会自动修改表单,添加一个隐藏字段,以便在表单提交时能够把session id传递回服务器。
3.简述Servlet与JSP的关系
JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。JSP编译后是“类servlet”。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。
4.JSP内置对象有哪些,各自起到的作用。
5.简述你所理解的JAVA封装、继承、多态。
6.写出2个常用的设计模式(伪代码),并简述应用场景。
7.HashMap和HashTable区别。
8.HashSet和TreeSet的区别。
9.ArrayList和LinkedList的区别。
10.==与equals的区别。
11.简述泛型、反射、注解应用场景及各自解决了哪些问题。
12.Thread类的方法有哪些,如何多种方式实现线程同步。
13进程与线程的区别,JAVA中有哪些方式可以创建线程。
14.现有一学生表结构(student-id,class-id,name),请写出统计每班有多少学生的SQL语句。
15.假如你正在开发一个系统的登录程序,请简述你是如何实现记住用户名和密码这个操作的,并如何实现?
16.在视图层不支持存储cookie,服务端不支持session的场景下如何保持用户登陆状态。