首页 > 代码库 > jsp和servlet

jsp和servlet

1.讲下servlet的执行流程。

  Servlet的执行流程也就是servlet的生命周期,当服务器启动的时候生命周期开始,然后通过init()《启动顺序根据web.xml里的startup-on-load来确定加载顺序》
方法初始化servlet,再根据不同请求调用doGet或doPost方法,最后再通过destroy()方法进行销毁。

2.Jsp的重定向和转发的流程有什么区别

重定向是客户端行为,转发是服务器端行为
重定向时服务器产生两次请求,转发产生一次请求,重定向时可以转发到项目以外的任何网址,转发只能在当前项目里转发
重定向会导致request对象信息丢失。转发则不会
转发的url不会变,request.getRequestDispatch().forward()
重定向的url会改变,response.getRedirect().sendRedirect();
<%request.getRequestDispatcher("result/result.jsp").forward(request, response);%>  
<%response.sendRedirect("result/result.jsp");%>    

3.Jsp和Servlet的区别

Jsp的可读性强,容易看得懂,并且Jsp在最后会编译成Servlet
servlet容易调试,但是生成html页面工作量大

4 SessionCookie
Session是在服务端保存的一个数据结构,用来跟踪用户的状态,这个数据可以保存在集群、数据库、文件中;
Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Sssession的一种方式

12.Jsp的九大内置对象,三大指令,七大动作的具体功能

JSP九大内置对象:

pageContext :只对当前jsp页面有效,里面封装了基本的request和session的对象

Request :对当前请求进行封装

Session :浏览器会话对象,浏览器范围内有效

Application :应用程序对象,对整个web工程都有效

Out :页面打印对象,在jsp页面打印字符串

Response :返回服务器端信息给用户

Config :单个servlet的配置对象,相当于servletConfig对象

Page :当前页面对象,也就是this

Exception :错误页面的exception对象,如果指定的是错误页面,这个就是异常对象

三大指令:

Page :指令是针对当前页面的指令

Include :用于指定如何包含另一个页面

Taglib :用于定义和指定自定义标签

七大动作:

Forward,执行页面跳转,将请求的处理转发到另一个页面

Param :用于传递参数

Include :用于动态引入一个jsp页面

Plugin :用于下载javaBean或applet到客户端执行

useBean :使用javaBean

setProperty :修改javaBean实例的属性值

getProperty :获取javaBean实例的属性值

 
 

jsp和servlet