面试题宝典01

Jsp的重定向与转发的流程有什么区别

重定向是客户端行为,转发是服务器端行为

重定向时服务器产生两次请求,转发产生一次请求。重定向可以转发到项目以外的任何网址,转发只能在项目里转发。

重定向会导致request对象信息丢失。转发则不会。

转发的url不会变,request.getRequestDispatcher("页面").forward(request,response); 

重定向的url会改变,response.getRedirect();

 

重定向通过response.getRedirect()方法实现的,是在客户端执行的,重定向时服务器产生两次请求,可以跳转到项目以外的任何网址,会导致request对象丢失,url会改变(两次请求:客户端向服务器发送请求,服务器接收到请求返回给客户端(一次),客户端将再次发送请求给新的地址,服务器端返回结果给客户端(两次))。

转发通过request.getRequestDispatch().forward()方法实现的,在服务器端执行,转发会产生一次请求,只能在当前项目里跳转,request对象信息不会丢失,url不会改变

 

Jsp和Servlet的区别

1.jsp有HTML代码和jsp标签组成,可以方便的编写动态网页

2.servlet完全由java程序代码组成,擅长于流程控制和事务处理。

3.jsp是servlet技术的扩展,本质上就是servlet的简易方式。

4.jsp编译后是“类servlet”

5.jsp侧重于视图,servlet主要用于逻辑控制

 

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实例的属性值

 

posted @ 2018-12-18 16:43  物是人非l  阅读(111)  评论(0编辑  收藏  举报