一、JSP9大内置对象(自带的,不需要new也能使用的对象)

out:输出对象,向客户端输出内容
request:请求对象,存储“客服端向服务端发送的请求信息”。
response对象的常见方法
String getParameter(String name):根据请求的字段名Key(intput标签的name属性值),返回字段值value(intput标签的value属性值)
String[] getParametervalues(Sting name):根据请求的字段名Key,返回多个字段值value(checkbox)
void setCharacterEncoding(“编码格式UTF-8”):设置请求编码
getRequestDispatcher(“b.jsp”).forward(request,response); :请求转发的方式跳转页面
getServerContext():获取项目的ServletContext对象

二、调用方式

在servlet中调用转发、重定向的语句如下:

request.getRequestDispatcher("request.jsp").forward(request, response);//转发到request.jsp
response.sendRedirect("request.jsp");//重定向到request.jsp

也可以在JSP中实现

<%response.sendRedirect("request.jsp");//重定向到request.jsp%>

三、重定向与请求转发

1.重定向流程图
重定向是两次request,
第一次,客户端request 某一个资源,服务器响应,并response回来,告诉浏览器,你应该去另一个。
缺点:在重定向的过程中,传输的信息会被丢失。

2.请求转发

请求转发是服务器内部把对一个request/response的处理权,移交给另外一个
对于客户端而言,它只知道自己最早请求的那个A,而不知道中间的B,甚至C、D。
优点:传输的信息不会丢失。

四、区别

1.request.getRequestDispatcher()是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;服务器内部转发,整个过程处于同一个请求当中。
response.sendRedirect()则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。不在同一个请求。
重定向,实际上客户端会向服务器端发送两个请求。 所以转发中数据的存取可以用request作用域:request.setAttribute(), request.getAttribute(),重定向是取不到request中的数据的。只能用session。
2.RequestDispatcher是通过调用HttpServletRequest对象的getRequestDispatcher()方法得到的,是属于请求对象的方法。sendRedirect()是HttpServletResponse对象的方法,即响应对象的方法,既然调用了响应对象的方法,那就表明整个请求过程已经结束了,服务器开始向客户端返回执行的结果。
3.重定向可以跨域访问,而转发是在web服务器内部进行的,不能跨域访问。

Eclipse中页面跳转、请求转发相关推荐

  1. JSP中的重定向和请求转发以及它们的区别

    我们先硬着头皮看一下重定向的定义: 重定向(Redirect): 客户端浏览器向Web应用服务器端发送一个请求,Web服务器端使用HttpServletResponse的sendRedirect()方 ...

  2. 页面跳转之转发和重定向+Servlet中文乱码问题

    页面跳转之转发和重定向+Servlet中文乱码问题 一.页面跳转 <?xml version="1.0" encoding="UTF-8"?> &l ...

  3. 在Nginx中让所有HTTP请求转发到HTTPS

    title: 在Nginx中让所有HTTP请求转发到HTTPS date: 2017-10-23 20:50:24 tags: nginx http https categories: 运维 背景 在 ...

  4. 使用Flash制作IeBook中页面跳转的按钮

    在IeBook中,如果是纯文字无特效按钮可以直接在IeBook中插入文字,并在属性栏中指定链接类型为页面跳转. 如果是swf格式的特效按钮,如果设置了链接值的话,鼠标经过滤镜特效会不起作用. 于是转换 ...

  5. JSP中页面跳转response.sendRedirect()和request.getRequestDispatcher()的区别

    Java Web开发中,采用MVC模式的时候,在控制器完成模型的调用之后会选择界面对用户响应,用常有2种方式 1,通过response对象的sendRedirect方法重定向: response.se ...

  6. 内部跳转(请求转发)和外部跳转(重定向)的区别?

    总结归纳要点: 1.内部跳转的时候实际上是通过服务器端将请求转发到另外的页面或者servlet中,这个时候跳转到的目标页面或者servlet可以获取到请求对象, 也可以获取到请求中的属性和参数.而外部 ...

  7. HTTP中的重定向和请求转发的区别

    一.调用方式 我们知道,在servlet中调用转发.重定向的语句如下: request.getRequestDispatcher("new.jsp").forward(reques ...

  8. Swift中页面跳转与传值:

    1.简单方式 首先,Swift的跳转可分为利用xib文件跳转与storyboard跳转两种方法,我这里选择使用storyboard的界面跳转方法. 1.通过在storyboard中拉button控件建 ...

  9. vue中页面跳转传值_vue的页面跳转方式和传值、取值

    写业务中,从一个页面跳转到另一个页面,经常需要传值和取值,如何实现? 1.通过router-link进行跳转,传递方式: 使用query传递参数,路由必须使用path引入, 使用params传递参数, ...

最新文章

  1. 1086 Tree Traversals Again
  2. 浅谈JavaScript中按键事件的e.keyCode || e.which || e.charCode
  3. PPIO 商业化架构解析
  4. crawlerNo.1(video,audio,image)
  5. 【渝粤题库】广东开放大学 系统工程 形成性考核
  6. springmvc log4j配置
  7. mysql8 修改加密方式_mysql8修改密码加密方式
  8. 二层交换机 不在同一子网_从二层交换机来说为什么三层交换机比路由器转发速率快...
  9. android 无网络处理布局,Android网络开发
  10. 问题:ajaxSuccess() ajaxComplete() ajaxError()....??? 参数event xhr options的用法
  11. win32汇编 多线程编程与事件
  12. Q4实现盈利,搜狐迎来“疫”外春天?
  13. 网格布局---grid
  14. 计算机网络---通过DNS服务器查询Web服务器的IP地址
  15. Python爬虫:网易云音乐评论爬取
  16. 【案例】简单图片和段落上下排版制作
  17. 8321平台修改WIFI_ONLY总结
  18. DataGridView控件数据导出表格
  19. ANSYS中Beam188\Beam189单元命令流提取最大应力
  20. MATLAB聚类分析(Cluster Analysis)

热门文章

  1. uniqid()说明
  2. js验证银行卡号属于哪家银行
  3. 微信小程序、小游戏,组件化开发框架wepy开发资源汇总分享
  4. 数据库删除重复(所有列都重复)数据,保留一条,并且再给此表加上联合主键
  5. 分享丨一篇文读懂19款数据分析软件,解救选择困难症!
  6. 中国移动商业画布-0408-v1.0-张雅慧
  7. 2D/3D文档查看器ABViewer v12大大提高了PDF转DWG的速度
  8. 【python】opencv双边滤波
  9. gear s3刷android wear,教程:三星Gear S3/Gear S3 classic智能手表如何刷机?
  10. 京东商城活动页面构建系统——通天塔