1.讲一下HTTP get和post的区别?
答:相同点:get请求和post请求都是http请求,用户通过不同的http请求完成对资源的不同操作,get、post、put、delete分别对应资源的查、改、增、删,get请求一般用来获取/查询资源信息,post请求用来更新资源信息。
不同点:
(1)get请求提交的数据会显示在地址栏,而post请求提交的数据不会显示在地址栏;get提交,请求的数据会附在URL后,用?分隔URL和传输数据,多个参数用&连接,post提交,提交的数据放置在HTTP包的包体中。
(2)传输数据大小;get请求由于浏览器对地址长度的限制导致传输的数据有限制,post请求不会因为地址长度的限制导致传输的数据有限制。
(3)安全性;post请求的安全性比get请求的安全性高,由于数据会显示在地址栏,所以可以通过查看历史记录找到密码等关键信息。
2.说一下你对servlet的理解?或者说一下servlet是什么?
答:Servlet(Server Applet),使用Java编写的服务器端程序,而这些servlet都要实现servlet这个接口,功能在于交互式的浏览和修改数据,生成动态Web内容,实际在编写时继承HttpServlet,重写doGet和doPost方法,或者也可以重写service方法完成对get和post请求的的响应。
3.说一下Servlet的生命周期
答:Servlet有良好的生命周期的定义,包括加载、实例化、初始化、处理请求及服务结束,这个生命周期由javax.servlet.Servlet接口的init、service、destory方法来表达。
加载servlet的class----->实例化servlet------>调用servlet的init方法初始化------>响应请求(调用servlet的service方法,包括doGet和doPost方法)------>servlet容器关闭(调用servlet的destory方法)