Servlet
1、post和get之间的区别:
①数据传递长度:get长度比较小,post没有限制
②数据传递方式:get使用URL传递参数值,post直接将参数值传入request body
③数据传递的安全性:get不安全,post相对安全
④发送的数据包数据量:get发送1个TCP数据包,post发送2个TCP数据包(首先发送1个request head请求头【1个TCP数据包】,服务器接收之后返回100状态码,再发送request body)
2、重定向和请求转发的区别:
①重定向是客户端浏览器执行的;请求转发是服务器端直接跳转
②重定向之后:客户端浏览器显示新的请求地址 请求转发之后:客户端浏览器地址栏显示旧的请求地址
③重定向代表1次新的请求;请求转发没有发起新的请求,是同一个request对象
3、JSP运行原理
①当用户访问一个JSP页面时,会向一个Servlet容器(Tomcat等)发出请求;
②servlet容器首先要把JSP页面(假设为list_order.jsp)翻译为Servlet代码(list_order_jsp.java),再将其编译为class文件(list_order_jsp.class文件);这种过程第一次会耗费时间
注意:list_order_jsp.java继承自HttpJspBase.java;HttpJspBase.java继承自HttpServlet.java,因此JSP文件本质是一个Servlet文件
③容器执行字节码文件(包括调用的servlet),并将其结果返回到客户端(返回的最终方式是servlet输出html格式的文件流)。
4、Servlet生命周期(4个阶段)
①实例化:执行当前Servlet的构造方法,完成当前Servlet实例的创建
②初始化:调用当前Servlet实例的init( )初始化方法【重写父类】
③服务:调用父类HttpServlet的service( )方法,根据请求方式不同,调用不同的doXXX( )方法处理请求
④销毁:调用destory( )方法