JavaEE基础三之JSP入门

  • 概述

    • 动态网页的执行原理
    • JSP功能与特性
      • JavaEE规范的web组件,编写动态页面
      • 运行在服务端,本质是Servlet
      • 以.jsp为后缀,放在WebContent目录下
    • JSP执行流程解析
      • 翻译->编译->实例化->提供服务
  • 页面元素及内置对象

    • 页面元素 pass,有兴趣去看之前的那个资料
    • 内置对象: JSP中直接使用的对象,不需要声明,使用固定名字进行使用
      • 对象哪儿来?-----服务器翻译编译jsp时默认声明创建。在jsp的Service方法的参数和方法体中
      • 为什么可以直接用?—写的jsp中的所有内容,都在服务器翻译在内置对象创建后。
      • 有哪些内置对象?—request、response、out、session、等
    • 内置对象 的 详细----------已经在jsp的java类中变量或作为参数已经初始化好的
      1. HttpServletRequest request请求
      2. HttpServletResponse response响应
      3. Httpsession session 会话
      4. ServletContext application 应用(你的网站项目)
      5. Object page this当前jsp java类
      6. PageContext pageContext----注意源码,你会发现其他对象基本是由它获取的
      7. exception
      8. JspWriter out
      9. ServletConfig config
  • jsp生命周期

    • <%=request.getServletContext().getRealPath(".") %> --真实文件目录
      • 找到work文件夹那儿查看编译后的文件 /Catalina/localhost/
    • jsp翻译成java
      • 表达式元素<%= %> out.print(表达式代码) =>_jspService
      • 脚本元素<% %> 直接java代码运行=>_jspService
      • 静态部分(HTML或文字) out.write(静态代码)=>_jspService
      • 声明元素<%! %> 在类中作为属性或者方法存在
      • 静态注释 out.write(静态代码),保留在原处/动态,直接不翻译
    • jsp编译成class文件
    • 执行
  • Serlvet与JSP作用总结

    • Servlet与JSP作用总结

      • Servlet接受来自JSP请求,处理后,跳转到JSP页面显示结果
    • Servlet与JSP之间跳转的方式–当然是可以互相跳转的

      • 响应重定向 响应接口中提供该方法

        • void sendRedirect(String location) 响应重定向到location,相当于重新请求
        重定向:reponse.sendRedirect("show.jsp")//注意可以重定向到另一个servlet中去。
        
      • 请求转发 RequestDispatcher接口中定义请求转发方法

        • forward(ServletRequest request,ServletResponse response) 将请求转发到服务器上的其他资源,包括其他的Servlet、JSP等
        • 获取RequestDispatcher对象
          • getRequestDistpatcher(String path) 返回一个RequestDispatcher对象
        请求转发:response.getRequestDispatcher("showl.jsp").forward(request,response);
        
      • 区别:

        • 响应重定向:2次请求 请求转发:1次 请求
        • Url地址会变 ; Url地址不会更改
        • 通过浏览器跳转(对用户不透明) ;服务器跳转(对用户透明)
        • 得不到原始请求参数 ;携带原始请求参数
      • 两种方式的使用场景

        • 响应重定向:业务处理结束,进入一个新的界面或跳到外部网页
        • 请求转发:多用于服务器内部的多个处理阶段之间的衔接:
          • Jsp:编写动态网页,本质上是Servlet
          • Servlet处理业务逻辑->jsp渲染页面
      • 注意:在使用请求转发时,记得return,否则后面仍然要执行。

    • 请求属性的使用

      • 如果需要在Servlet、JSP之间跳转,同时将自定义的,或通过数据库查询、调用其它资源获得的数据传递到下一个资源时,可以设置为请求的属性即可
      • 请求接口中定义一系列与属性相关方法
        • setAttribute(String name,Object o) 将任意类型对象设置为请求属性
        • getAttribute(String name) 获取属性值
        • removeAttribute(String name) 删除属性
  • 登陆案例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值