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

相关推荐
Moniane15 小时前
时序数据库全面重构指南
java·后端·struts
whm277716 小时前
Visual Basic 值传递与地址传递
java·开发语言·数据结构
没有bug.的程序员16 小时前
云原生与分布式架构的完美融合:从理论到生产实践
java·分布式·微服务·云原生·架构
村口张大爷16 小时前
Spring Boot 初始化钩子
java·spring boot·后端
x_feng_x16 小时前
Java从入门到精通 - 集合框架(二)
java·开发语言·windows
LB211216 小时前
苍穹外卖-缓存套餐 Spring Cache day07
java·spring boot·spring
Le1Yu16 小时前
雪崩问题及其解决方案(请求限流、线程隔离、服务熔断、fallback、sentinel实现以上功能)
java·开发语言
徐子童16 小时前
基于微服务的在线判题系统重点总结
java·微服务·架构
青衫码上行16 小时前
【从0开始学习Java | 第21篇】网络编程综合练习
java·网络·学习
鸽鸽程序猿17 小时前
【项目】【抽奖系统】注册功能实现
java·开发语言