• JSP(三)-- JSP注意事项


    目录

    1.  JSP -- 九大隐式对象

    2.  PageContext对象的认识

    2.1  PageContext的简介

    2.2  PageContext生命周期

    2.3  Servet四大域对象

    3.  MVC模型

    3.1  JSP 演化历史

    3.2  MVC模型

    3.3  MVC模型的优缺点


    1.  JSP -- 九大隐式对象

    小拓展:

    (一)什么是隐式对象?

            它指的是在jsp中,可以不声明就直接使用的对象。它只存在于jsp中,因为java类中的变量必须要先声明再使用。其实jsp中的隐式对象也并非是未声明,只是它是在翻译成.java文件时声明的。所以我们在jsp中可以直接使用。

    隐式对象名称类型备注
    requestjavax.servlet.http.HttpServletRequest请求对象
    responsejavax.servlet.http.HttpServletResponse响应对象
    sessionjavax.servlet.http.HttpSession会话范围内
    applicationjavax.servlet.ServletContext整个应用范围内共享
    pageJava.lang.Object当前jsp对应的servlet引用实例
    configjavax.servlet.ServletConfig配置对象
    exceptionjava.lang.Throwable异常对象
    outjavax.servlet.jsp.JspWriter字符输出流,相当于printwriter
    pageContextjavax.servlet.jsp.PageContext很重要,页面范围

    2.  PageContext对象的认识

    2.1  PageContext的简介

            它是JSP独有的对象,Servlet中没有这个对象。本身也是一个域(作用范围)对象,但是它可以操作其他3个域对象中的属性。而且还可以获取其他8个隐式对象。

    2.2  PageContext生命周期

            它是一个局部变量,所以它的生命周期随着JSP的创建而诞生,随着JSP的结束而消失。每个JSP页面都有一个独立的PageContext。

    2.3  Servet四大域对象

    域对象名称范围级别备注
    PageContext页面范围最小,只能在当前页面用因范围太小,开发中用的很少
    ServletRequest请求范围一次请求或当期请求转发用当请求转发之后,再次转发时请求域丢失
    HttpSession会话范围多次请求数据共享时使用多次请求共享数据,但不同的客户端不能共享
    ServletContext应用范围最大,整个应用都可以使用尽量少用,如果对数据有修改需要做同步处理

    3.  MVC模型

    3.1  JSP 演化历史

    1. 早期只有servlet,只能使用response输出标签数据,非常麻烦。

    2. 后来又jsp,简化了Servlet的开发,如果过度使用jsp,在jsp中即写大量的java代码,有写html表,造成难于维护,难于分工协作。

    3. 再后来,java的web开发,借鉴mvc开发模式,使得程序的设计更加合理性。

    3.2  MVC模型

    1. M:Model,模型。JavaBean

      • 具体的业务操作,如:查询数据库,封装对象

    2. V:View,视图。JSP

      • 展示数据

    3. C:Controller,控制器。Servlet

      • 获取用户的输入

      • 调用模型

      • 将数据交给视图进行展示

    3.3  MVC模型的优缺点

    1. 优点:

      1. 耦合性低,方便维护,可以利于分工协作

      2. 重用性高

    2. 缺点:

      1. 使得项目架构变得复杂,对开发人员要求高

     如果对你有帮助,请帮我点一下赞,我才有动力继续创作,谢谢!

  • 相关阅读:
    如何才能搭建高质量的在线产品手册呢?
    java 调用C#语言写的dll文件代码 超详细过程
    Mac平台文件传输工具Transmit 5
    儿童牙刷,U型牙刷,磨牙器亚马逊CPC认证检测标准
    C++数据结构X篇_19_排序基本概念及冒泡排序(重点是核心代码,冒泡是稳定的排序)
    支持向量机SVM--线性
    数据结构-单链表
    redux 和 react-redux
    结合 Vuex 和 Pinia 做一个适合自己的状态管理 nf-state
    Java-day14(多线程)
  • 原文地址:https://blog.csdn.net/PUYALEI/article/details/130915581