一、谈谈http方法中get和post的区别
相同点:get和post都是http的一种请求方式。
不同点:1、一般情况下,get一般用于从获取数据,而post一般用于提交表单,更新数据,增加数据。
2、get请求的参数会显示在url地址栏上,而post不会改变url。这点来说post请求更加安全。
3、因为get请求参数会显示在url上,而url地址栏的长度是有限制的,因此,get请求提交的数据量有限制。而post可提交的数据量比较大。
二、Servlet是什么?什么是Servlet的生命周期
1、是一种用JAVA编写的服务端程序,主要功能是实现交互式的浏览和修改数据,可以生成动态的WEB内容。通过继承HttpServlet类调用init、service等方法对客户端请求进行响应。
2、Servlet的生命周期:
若第一次运行或运行已经销毁的servlet,则启动加载web.xml,进行实例化。
①在被实例化后,调用init()方法进行初始化
②执行service()方法。自动派遣运行doget()、dopost()等方法
③调用distroy()方法进行销毁。
三、谈谈forward和redirect
1、forward
forward指请求转发,是容器控制权的一种转让,forward请求不会改变url地址栏, 请求前后共用一个request对象。从始至终只有一次请求。效率高。
2、redirect
redirect指请求重定向,是重新发送请求链接,会改变url地址栏,请求前后的request对象会改变。有两次请求。效率低。
四、谈谈JSP和Servlet的联系和区别
相同点:JSP就是一种特殊的Servlet,所有的JSP都继承了HTTPJspBase这个类(由tomcat实现),而这个类最终是继承了HttpServlet类的。
不同点:java+html=jsp 更侧重视图,servlet更侧重逻辑结构控制。
五、谈谈JSP四大作用域
1、pageContext
只在当前页面生效
2、request
只要不刷新页面就存在,使用forward可以跨页面使用
3、session
只要不关闭浏览器就不改变
4、application
只要web应用不关闭就改变
六、Session、Cookie的区别
相同点:都是一种会话跟踪技术
不同点:1、Session是内置对象,Cookie不是。
2、Cookie是存在本地存储一些不重要的数据,Session在服务端记录信息确定用户身份。
3、Cookie安全性低,Session安全性高,但占内存,Session实现依赖于Cookie存放SessionID。
七、谈谈你对MVC模式的理解
M:model层,V:view视图,C:Controller 控制器
M:数据模型,提供要展示的数据,因此包含数据和行为,主要提供了模型数据查询和模型数据的状态更新等功能,包括数据和业务。主要使用的技术:数据模型:实体类(JavaBean),数据访问:JDBC,Hibernate等。
V:负责进行模型直观的展示,一般就是我们见到的用户界面,比如JSP,Html等
C:接收用户请求,委托给模型进行处理(状态改变),处理完毕后把返回的模型数据返回给视图,由视图负责展示。主要使用的技术:servlet,Struts中的Action类等。
小弟才学疏浅,若有误人子弟的地方还请各位大佬指出。