天天看点

小滴课堂-学习笔记: Javaweb核心里面的转发-重定向和EL表达式你知道多少

小滴课堂-学习笔记: Javaweb核心里面的转发-重定向和EL表达式你知道多少

 愿景:"让编程不再难学,让技术与生活更加有趣"

更多架构课程请访问 xdclass.net

目录

第1集 【面试必备】请求转发RequestDispatcher你知道多少

第2集 EL表达式-让JSP访问JavaBean中的数据更简单

第3集 【面试必备】什么是请求重定向sendRedirect

干货文档

第1集 【面试必备】请求转发RequestDispatcher你知道多少

简介:讲解请求转发RequestDispatcher的知识点

  • 什么是请求转发:
    request.getRequestDispatcher(URL地址).forward(request, response)
               
    • 客户端发送请求,Servlet做出业务逻辑处理。
    • Servlet调用forword()方法,服务器Servlet把目标资源返回给客户端浏览器
    • 可以访问WEB-INF下的文件,WEB-INF的文件一般是需要一定的权限才可以访问
    • 例子:req.getRequestDispatcher("/WEB-INF/admin.jsp").forward(req,resp);
    小滴课堂-学习笔记: Javaweb核心里面的转发-重定向和EL表达式你知道多少
  • 注意点:在浏览器地址栏中不会显示出转发后的地址,属于服务器内部转发,整个过程处于同一个请求当中,所以转发中数据的存取可以用request作用域
//存储java对象到request作用域,转发后一样可以获取到值,具体怎么获取?JSP或者EL表达式
request.setAttribute("name","jack");


           

第2集 EL表达式-让JSP访问JavaBean中的数据更简单

简介:介绍EL表达式

  • 什么是EL表达式:全称 Expression Language,让JSP写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化
  • 语法:
EL表达式的格式都是以 ${ }表示。例如 $ {userinfo}代表获取变量userinfo的值,${对象.属性},可以有多层操作
​
当EL表达式中的变量不给定范围时,则默认在page范围查找,然后依次在request、session、application范围查找,如果找到不再继续找下去,但是假如全部的范围都没有找到时,就回传""
​
可以用范围作为前缀表示属于哪个范围的变量,例如:${pageScope.userinfo}表示访问page范围中的userinfo变量
           
  • 属性范围在EL中的名称
    【jsp中】【EL表达式中】
    Page    pageScope
    ​
    Request requestScope
    ​
    Session sessionScope
    ​
    Application applicationScope
               
  • 对比:
    • <%= (String)request.getAttribute("name")%> 等价于 ${name}
  • 案例:在reqeust中设置值,然后在请求转发到页面,使用EL表达式取值

第3集 【面试必备】什么是请求重定向sendRedirect

简介:讲解请求重定向sendRedirect

  • 什么是请求重定向
    • 客户端发送请求,Servlet做出业务逻辑处理
    • Servlet调用response.sendRedirect("xxx.jsp")方法,把要访问的目标资源作为response响应信息发给客户端浏览器
    • 客户端浏览器重新访问服务器资源xx.jsp,服务器再次对客户端浏览器做出响应
    • 请求重定向,不能访问WEB-INF下的文件,浏览器上的窗口地址会改版,可以用于跳转第三方地址或者应用里面的其他Servelt、jsp等
    • 例子: response.sendRedirect("/WEB-INF/admin.jsp");
小滴课堂-学习笔记: Javaweb核心里面的转发-重定向和EL表达式你知道多少
  • 注意点:
    • 重定向是取不到request中的存储的数据,如果当前servlet是重定向,浏览器可以看到两个请求
      • 案例测试:在reqeust中设置值,然后在请求转发到页面,使用EL表达式取值
    • 调用sendRedirect()方法,会在响应中设置Location响应报头,这个过程对于用户来说是透明的,浏览器会自动完成新的访问
    • 重定向路径问题:如果没有加 http 开头,则认为是当前应用里面的servlet重定向,默认加上应用上下文;如果有加http则会使用配置的全路径进行跳转
    • 如果请求转发可以满足需要时,尽量使用请求转发,而不是重定向,效率性能更好

干货文档

小滴课堂-学习笔记: Javaweb核心里面的转发-重定向和EL表达式你知道多少
小滴课堂-学习笔记: Javaweb核心里面的转发-重定向和EL表达式你知道多少
小滴课堂-学习笔记: Javaweb核心里面的转发-重定向和EL表达式你知道多少
小滴课堂-学习笔记: Javaweb核心里面的转发-重定向和EL表达式你知道多少

                                                        关注公众号发送:“CSDN干货文档”  即可领取

小滴课堂-学习笔记: Javaweb核心里面的转发-重定向和EL表达式你知道多少