JavaWeb期末速成 JSP

关键词:动态Web页面技术 生命周期 隐含变量 作用域对象 Java Beans MVC设计模式

动态Web页面技术

ASP(Active Server Page),活动服务器页面,是Microsoft公司推出的一种动态Web文档的技术。

PHP(PHP:Hypertext Preprocessor),超文本预处理器,它是一种HTML内嵌式的语言。

JSP(JavaServer Pages)Java服务器页面,它与PHP非常相似。


JSP语法

JSP(JavaServer Pages)是一种在HTML页面中嵌入JSP元素的动态Web页面 ,它的主要用来实现表示逻辑。

在JSP页面中可以包含多种JSP元素,当JSP页面被访问时,Web容器将JSP页面 转换成Servlet类执行后将结果发送给客户。

与其他的Web页面一样,JSP页面也有一个唯一的URL,客户可以通过它访问该页面。

JSP页面元素 简要说明 标签语法
声明 声明变量与定义方法 <%! Java 声明 %>
小脚本 执行业务逻辑的Java代码 <% Java 代码 %>
表达式 用于在JSP页面输出表达式的值 <%= 表达式 %>
指令 指定转换时向容器发出的指令 <%@ 指令 %>
动作 (标签) 向容器提供请求时的指令 <jsp: 标签名 />
EL表达式 JSP2.0引进的表达式语言 ${applicationScope.email}
注释 用于文档注释 <%-- 任何文本 --%>
JSP表达式。以"<%="开头,以"%>"结束的标签,它作为Java语言表达式的占位符。
今天的日期是:<%= date.toString() %>

表达式语言(Expression Language,EL)是JSP 2.0新增加的特性,它是一种可以在JSP页面中使用的简洁的数据访问语言。格式为:
${expression}

下面EL显示客户地址:
${pageContext.request.remoteAddr}


JSP页面生命周期

客户首次访问页面时,Web容器执行该JSP页面要经过6个阶段:

前三个阶段将JSP页面转换成一个Servlet类并装载和创建 该类实例

后三个阶段是初始化提供服务销毁阶段


JSP隐含变量

  • out
  • request
  • response
  • application
  • session
  • pageContext

作用域对象

作用域名 对应的对象 存在性和可访问性
应用作用域 application 在整个Web应用程序有效
会话作用域 session 在一个用户会话范围内有效
请求作用域 request 在用户的请求和转发的请求内有效
页面作用域 pageContext 只在当前的页面(转换单元) 内有效
属性存取方法:
  • void setAttribute(String name, Object value)方法
  • Object getAttribute(String name)方法

Java Beans

JavaBeans是用Java语言定义的类,是Java平台的组件技术,在Java Web开发中常用JavaBeans来存放数据

JavaBeans类非常简单,所以有时也称为POJO(Plain Old Java Object),普通的Java对象。在数据库应用中也叫实体类。

定义JavaBeans类,需要遵循有关约定:

JavaBeans应该是public类,且具有无参数的public构造方法。也可以定义带参数构造方法。

类的成员变量一般称为属性(property)。对每个属性访问权限一般定义为private。

(注意:属性名必须以小写字母开头)

每个属性通常定义两个public方法,一个是访问方法(getter),一个是修改方法(setter),使用它们访问和修改JavaBeans的属性值。


MVC设计模式

MVC基本概念

MVC(Model-View-Controller)是一种软件架构模式,将应用程序分为三个核心组件:

组件 说明
Model 处理业务逻辑和数据持久化,代表应用程序的数据和业务规则
View 用户界面层,负责数据的展示和用户交互
Controller 接收用户输入,协调Model和View之间的交互
MVC工作流程

User Controller Model View 发起HTTP请求 调用业务逻辑 返回处理结果 转发数据 渲染响应页面 User Controller Model View

相关推荐
间彧4 分钟前
ReentrantLock与ReadWriteLock在性能和使用场景上有什么区别?
java
Lbwnb丶6 分钟前
p6spy 打印完整sql
java·数据库·sql
间彧7 分钟前
公平锁与非公平锁的选择策略与场景分析
java
渣哥8 分钟前
锁升级到底能不能“退烧”?synchronized 释放后状态解析
java
间彧12 分钟前
Java ReentrantLock详解与应用实战
java
间彧23 分钟前
volatile与Atomic类的性能对比与适用场景分析
java
间彧26 分钟前
Java Atomic类详解与实战应用
java
间彧33 分钟前
Java 中volatile详解与应用
java
多多*36 分钟前
2025最新centos7安装mysql8 相关 服务器配置 纯命令行操作 保姆级教程
java·运维·服务器·mysql·spring·adb
寻星探路39 分钟前
Java EE初阶启程记03---Thread类及常见方法
java·java-ee