当前位置: 首页 > news >正文

初识JSP

一、什么是JSP

  JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。如:

<%
    request.setAttribute("path", request.getContextPath());
%>

  JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。

  JSP 技术是以 Java 语言作为脚本语言的,JSP 网页为整个服务器端的 Java 库单元提供了一个接口来服务于HTTP的应用程序。

  JSP开发的WEB应用可以跨平台使用,既可以运行在 Linux 上也能运行在 Windows 上。

二、JSP和Servlet的联系与区别

  JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是"类servlet"。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。

三、JSP生命周期

  JSP生命周期就是从创建到销毁的整个过程,类似于servlet生命周期,区别在于JSP生命周期还包括将JSP文件编译成servlet。

以下是JSP生命周期中所走过的几个阶段:

  • 编译阶段:

    servlet容器编译servlet源文件,生成servlet类

  • 初始化阶段:

    加载与JSP对应的servlet类,创建其实例,并调用它的初始化方法init()

  • 执行阶段:

    调用与JSP对应的servlet实例的服务方法service()

  • 销毁阶段:

    调用与JSP对应的servlet实例的销毁方法destroy(),然后销毁servlet实例

四、JSP的内置(隐式)对象

  JSP有九大内置对象,开发者可以直接使用它们而不用显式声明。也被称为预定义变量。

  使用方式有两种:

  ①Java脚本段:如 <% ... %>

  ②JSP(bean)标签:如 <jsp:property>

对象说明
request是javax.servlet.http.HttpServletRequest 类的实例。每当客户端请求一个JSP页面时,JSP引擎就会制造一个新的request对象来代表这个请求。request对象提供了一系列方法来获取HTTP头信息,cookies,HTTP方法等等。
response是javax.servlet.http.HttpServletResponse类的实例。当服务器创建request对象时会同时创建用于响应这个客户端的response对象。

response对象也定义了处理HTTP头模块的接口。通过这个对象,开发者们可以添加新的cookies,时间戳,HTTP状态码等等。

outout对象是 javax.servlet.jsp.JspWriter 类的实例,用来在response对象中写入内容。
session

session对象是 javax.servlet.http.HttpSession 类的实例。和Java Servlets中的session对象有一样的行为。

session对象用来跟踪在各个客户端请求间的会话。

application

application对象直接包装了servlet的ServletContext类的对象,是javax.servlet.ServletContext 类的实例。

这个对象在JSP页面的整个生命周期中都代表着这个JSP页面。这个对象在JSP页面初始化时被创建,随着jspDestroy()方法的调用而被移除。

通过向application中添加属性,则所有组成您web应用的JSP文件都能访问到这些属性。

configconfig对象是 javax.servlet.ServletConfig 类的实例,直接包装了servlet的ServletConfig类的对象。

这个对象允许开发者访问Servlet或者JSP引擎的初始化参数,比如文件路径等。

pageContext pageContext对象是javax.servlet.jsp.PageContext 类的实例,用来代表整个JSP页面。

这个对象主要用来访问页面信息,同时过滤掉大部分实现细节。

page 这个对象就是页面实例的引用。它可以被看做是整个JSP页面的代表。

page 对象就是this对象的同义词。

exception exception 对象包装了从先前页面中抛出的异常信息。它通常被用来产生对出错条件的适当响应。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/ToukoXu/p/7854425.html

相关文章:

  • Silverlight整合Asp.net AjAX的技术应用
  • Python多进程
  • Presto实战
  • 顺时针打印矩阵
  • linux/unix中如何用find命令详解,非常详细的介绍,比man find强100倍(2
  • 在Hyper-V的虚拟机中安装集成服务
  • 编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别
  • Windows Server 2012安装SQL 2012
  • IDEA Maven 创建Java Spring MVC Web项目
  • Powershell管理系列(二十二)PowerShell操作之统计移动设备登录exchange情况
  • 1706-1组 如何计算团队成员贡献分
  • Linux机器之间复制文件和目录方式Linux的scp命令详解
  • 27. Python对Mysql的操作(2)
  • Windows常用的快捷方式
  • MyBatis 3(中文版) 第四章 使用注解配置SQL映射器
  • ----------
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • java第三方包学习之lombok
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • vue-router的history模式发布配置
  • 包装类对象
  • 对JS继承的一点思考
  • 排序算法学习笔记
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 微信开源mars源码分析1—上层samples分析
  • 译自由幺半群
  • 鱼骨图 - 如何绘制?
  • elasticsearch-head插件安装
  • ​香农与信息论三大定律
  • #include<初见C语言之指针(5)>
  • (a /b)*c的值
  • (C++17) optional的使用
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (顺序)容器的好伴侣 --- 容器适配器
  • (四)Android布局类型(线性布局LinearLayout)
  • (转)项目管理杂谈-我所期望的新人
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • ***利用Ms05002溢出找“肉鸡
  • .jks文件(JAVA KeyStore)
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...
  • .NET/C# 获取一个正在运行的进程的命令行参数
  • .xml 下拉列表_RecyclerView嵌套recyclerview实现二级下拉列表,包含自定义IOS对话框...
  • @vue/cli 3.x+引入jQuery
  • [acwing周赛复盘] 第 69 场周赛20220917
  • [AS3]URLLoader+URLRequest+JPGEncoder实现BitmapData图片数据保存
  • [C#]手把手教你打造Socket的TCP通讯连接(一)
  • [Docker]三.Docker 部署nginx,以及映射端口,挂载数据卷
  • [EMWIN]FRAMEWIN 与 WINDOW 的使用注意
  • [go] 迭代器模式
  • [Godot] 3D拾取