JavaWEB 篇五 jsp 技术

JSP(Java Server Pages)是一种基于Java的动态网页技术,本质是Servlet的一种特殊形式,用于页面展示。Servlet是Java开发Web应用程序的组件,负责处理逻辑。两者的区别在于JSP侧重于视图展示,Servlet侧重控制逻辑。在 MVC 模式中,JSP常作为视图,Servlet作为控制器。JSP运行时会被转换为Servlet并编译执行。四大域对象(pageContext、request、session、application)和九大内置对象(如request、response、session等)是JSP中的关键概念,用于管理数据和页面交互。

什么是 jsp,什么是 Servlet?jsp 和 Servlet 有什么区别?

  • jsp 本质上就是一个 Servlet,它是 Servlet 的一种特殊形式(由 SUN 公司推出),每个 jsp 页面都是一个 servlet 实例

  • Servlet 是由 Java 提供用于开发 web 服务器应用程序的一个组件,运行在服务端,由 servlet 容 器管理,用来生成动态内容。一个 servlet 实例是实现了特殊接口 Servlet 的 Java 类,所有自定 义的 servlet 均必须实现 Servlet 接口。

  • 区别:

    • jsp 是 html 页面中内嵌的 Java 代码,侧重页面显示;

    • Servlet 是 html 代码和 Java 代码分离,侧重逻辑控制

    • mvc 设计思想中 jsp 位于视图层,servlet 位于控制层

  • Jsp 运行机制:

    • JVM 只能识别 Java 类,并不能识别 jsp 代码!web 容器收到以.jsp 为扩展名的 url 请求时,会 将访问请求交给 tomcat 中 jsp 引擎处理,每个 jsp 页面第一次被访问时,jsp 引擎将 jsp 代码解 释为一个 servlet 源程序,接着编译 servlet 源程序生成.class 文件,再有 web 容器 servlet 引擎去装载执行 servlet 程序,实现页面 交互

jsp 有哪些域对象和内置对象及他们的作用

  • 四大域对象:

    • pageContext

      • (1)pageContext page 域-指当前页面,在当前 jsp 页面有效,跳到其它页面失效

    • request

      • (2)request request 域-指一次请求范围内有效,从 http 请求到服务器处理结束,返回响应的整个过程。在这个过程中使用 forward(请求转发)方式跳转多个 jsp,在这些页面里你都可以使用这个变量

    • session

      • (3)session session 域-指当前会话有效范围,浏览器从打开到关闭过程中,转发、重定向均可以使用

    • application

      • (4)application context 域-指只能在同一个 web 中使用,服务器未关闭或者重启,数据就有效

  • 九大内置对象:

    • JSP 中一共预先定义了 9 个这样的对象,分别为:request、response、session、application、out、pagecontext、config、page、exception

    • 1、request 对象

      • request 对象是 javax.servlet.httpServletRequest 类型的对象。 该对象代表了客户端的请求信息, 主要用于接受通过 HTTP 协议传送到服务器的数据。(包括头信息、系统信息、请求方式以及请 求参数等)。request 对象的作用域为一次请求。

    • 2、response 对象

      • response 代表的是对客户端的响应,主要是将 JSP 容器处理过的对象传回到客户端。response 对象也具有作用域,它只在 JSP 页面内有效。

    • 3、session 对象

      • session 对象是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个 session 对象,用于保存该用户的信息,跟踪用户的操作状态。session 对象内部使用 Map 类来 保存数据,因此保存数据的格式为 “Key/value”。 session 对象的 value 可以使复杂的对象类 型,而不仅仅局限于字符串类型。

    • 4、application 对象

      • application 对象可将信息保存在服务器中,直到服务器关闭,否则 application 对象中保存的信 息会在整个应用中都有效。与 session 对象相比,application 对象生命周期更长,类似于系统的 “全局变量”。

    • 5、out 对象

      • out 对象用于在 Web 浏览器内输出信息,并且管理应用服务器上的输出缓冲区。在使用 out 对 象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出 缓冲空间。待数据输出完毕后,要及时关闭输出流。

    • 6、pageContext 对象

      • pageContext 对象的作用是取得任何范围的参数,通过它可以获取 JSP 页面的 out、request、 reponse、session、application 等对象。pageContext 对象的创建和初始化都是由容器来完成的, 在 JSP 页面中可以直接使用 pageContext 对象。

    • 7、config 对象

      • config 对象的主要作用是取得服务器的配置信息。通过 pageConext 对象的 getServletConfig() 方法可以获取一个 config 对象。当一个 Servlet 初始化时,容器把某些信息通过 config 对象传递 给这个 Servlet。 开发者可以在 web.xml 文件中为应用程序环境中的 Servlet 程序和 JSP 页面提 供初始化参数

    • 8、page 对象

      • page 对象代表 JSP 本身,只有在 JSP 页面内才是合法的。 page 隐含对象本质上包含当前 Servlet 接口引用的变量,类似于 Java 编程中的 this 指针。

    • 9、exception 对象

      • exception 对象的作用是显示异常信息,只有在包含 isErrorPage="true" 的页面中才可以被使用, 在一般的 JSP 页面中使用该对象将无法编译 JSP 文件。excepation 对象和 Java 的所有对象一样, 都具有系统提供的继承结构。exception 对象几乎定义了所有异常情况。在 Java 程序中,可以使 用 try/catch 关键字来处理异常情况; 如果在 JSP 页面中出现没有捕获到的异常,就会生成 exception 对象,并把 exception 对象传送到在 page 指令中设定的错误页面中,然后在错误页面 中处理相应的 exception 对象

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xinyi_java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值