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

JavaWeb ( 六 ) JSP

2.4.JSP

JSP (Java Server Pages) : 一种在服务器端生成动态页面的技术,本质上就是Servlet。将HTML代码嵌入到Java代码中, 通过Java逻辑控制HTML代码的结构从而生成页面。在MVC中通常担任视图层(view),负责信息的展示与收集。

2.4.1.生命周期

转换 Jsp源文件转换成servlet源文件
编译 Java文件编译成类(class)文件
装载 将类文件加载到内存中
创建 创建一个servlet类的实例对象
初始化 调用_ jspInit()方法,最终调用servlet的init()
服务 调用_ jspService()方法,最终调用servlet的service()
销毁 调用_ jspDestroy()方法,最终调用servlet的destroy()

2.4.2.九种内置对象

JSP(Java Server Pages)九种内置对象包括:

名称所属类描述作用域
pagejava.lang.Object类型指向页面自身的方式page(页面执行期)
requestjavax.servlet.ServletRequest的子类型此对象封装了由WEB浏览器或其它客户端生成地HTTP请求的细节(参数,属性,头标和数据)。request(用户请求期)
responsejavax.servlet.ServletResponse的子类型此对象封装了返回到HTTP客户端的输出,向页面作者提供设置响应头标和状态码的方式。经常用来设置HTTP标题,添加cookie,设置响应内容的类型和状态,发送HTTP重定向和编码URL。page(页面执行期)
sessionjavax.servlet.http.HttpSession类型主要用于跟踪对话session(会话期)
applicationjavax.servlet.ServletContext类型servlet的环境通过调用getServletConfig().getContext()方法获得。它提供了关于服务器版本,应用级初始化参数和应用内资源绝对路径,注册信息的方式application(整个程序运行期)
pageContextjavax.servlet.jsp.PageContext(抽象类)类型此对象提供所有四个作用域层次的属性查询和修改能力,它也提供了转发请求到其它资源和包含其他资源的方法page(页面执行期)
configjavax.servlet.ServletConfig提供一些配置信息,常用的方法有getInitParameter和getInitParameterNames,以获得Servlet初始化时的参数page(页面执行期)
outjavax.servlet.jsp.JspWriter类型代表输出流的对象。page(页面执行期)
exceptionjavax.lang.Throwable只有在page指令中具有属性isErrorPage="true"时才有效page(页面执行期)

2.4.3.三种伪指令

用来传送JSP容器中的一种信息,通常写在<%@...%>之间

1.page指令  定义当前页面的属性

 <%@page  language="java" import="java.util.*"  pageEncoding="utf-8" %>

2.include指令 向当前文件插入一个静态文件的内容

 <%@include file="../../../common/include.jsp"  %>  

​ 这里的 …/ 使用的是相对路径

3.taglib指令  引入定制的标签库

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"   %>

2.4.4.动作

动作(行为):创建,修改,或使用对象。遵守严格的XML语法。

<jsp:include> 引入一个文件
<jsp:forward> 转到新的页面
<jsp:useBean> 实例化一个JavaBean
<jsp:setProperty> 设置JavaBean的属性
<jsp:getProperty> 得到JavaBean的属性
<jsp:plugin> 插件

2.4.4.1.<jsp:include> 动作与 include指令比较

  1. 语法格式 :

    指令

<%@ include file=”relativeURI”%>

​ 动作

<jsp:include page=”relativeURI” flush=”true” />
  1. 执行时间

    ​ 指令是在翻译阶段执行
    ​ 动作是在请求处理阶段执行

  2. 引入内容

    ​ 指令 引入静态文本(html,jsp),在JSP页面被转化成servlet之前和它融和到一起.
    ​ 动作 引入执行页面或servlet所生成的应答文本.

2.4.5.整体结构

脚本 <%... %> : 用于编写java的逻辑代码, 如:for 循环,if 判断 ,连接调用javaBean,传接值
表达式<%=… %> : 将= 等号后面的内容显示在页面上, 如:展示的内容

在这里插入图片描述

2.4.6.与Servlet比较

  1. JSP就是Servlet :
    -Jsp是Servlet的简化,更方便的生成及维护HTML页面
    -Jsp页面要先转化成Servlet类,再编译执行

  2. 都可以服务器端动态的生成页面
    -Servlet是一行一行的生成
    -JSP参考ASP,将JSP元素嵌到HTML代码中

  3. 侧重各有不同
    -Servlet侧重于重程序逻辑的模块开发
    -JSP侧重于重页面输出的模块开发

http://www.lryc.cn/news/65886.html

相关文章:

  • 2023世界超高清视频产业发展大会博冠8K明星展品介绍
  • Map接口以及Collections工具类
  • SOA协议DDS和Some/IP对比
  • Sass使用
  • 超大excel文件读,避免内存溢出
  • 第0章 学习之前的准备
  • 数组排序sort()方法
  • 【.NET AI Books 前言】Azure OpenAI Service 入门
  • 散列查找实验(开散列) 题目编号:583
  • Java版spring cloud 企业工程项目管理系统平台源码(三控:进度组织、质量安全、预算资金成本、二平台:招采、设计管理)
  • Go type关键字定义新类型和类型别名的区别
  • Neural Network学习笔记2
  • 用@Value注解为bean的属性赋值
  • 拨云见日:深入理解 HTML 解析器与有限状态机
  • Java线程池及其实现原理
  • 进程替换函数组介绍exec*
  • 欧科云链OKLink:2023年4月安全事件盘点
  • KubeVirt备份与还原方案【翻译】
  • 使用PyQt5设计一款简单的计算器
  • Htop使用说明
  • PostgreSQL Linux安装
  • 亚商投资顾问 早餐FM/0509车辆电动化
  • AI绘画天花板——Midjourney注册使用保姆级教程(5月5日验证有效)
  • 学习笔记(2)项目结构描述 - manifest.json和pages.json
  • vector、deque、list相关知识点
  • 多维时序 | MATLAB实现基于VMD-SSA-LSSVM、SSA-LSSVM、VMD-LSSVM、LSSVM的多变量时间序列预测对比
  • 设计模式——适配器模式(类适配器、对象适配器)
  • iOS开发多target
  • 100种思维模型之每日评估思维模型-58
  • libreoffice api