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

相关推荐
认真的酒窝6 小时前
自己动手开发编译器(十一)语义分析
java·开发语言
wbs_scy8 小时前
Linux C++ 高并发编程:线程池全链路深度解析,从原理到手撕实现
java·开发语言
JAVA面经实录9178 小时前
Linux 常用命令完整知识体系
java·linux·开发语言·汇编
Full Stack Developme9 小时前
Java LRU 与 LFU 算法及应用
java·开发语言·算法
程序员老油条11 小时前
WSL2 + Docker Desktop:Windows 下的完美 Java 开发环境
java·windows·docker·wsl2
shushangyun_12 小时前
2026智能采购商城系统选型指南:如何引领企业数字化采购升级
java·大数据·数据库·人工智能·机器学习
她说..12 小时前
Java 默认值设置方式
java·开发语言·后端·springboot
学渣超13 小时前
记一次分布式事务数据不一致的排查之旅:从超时到索引,层层剥茧
java·后端·架构
掉鱼的猫13 小时前
Agent Harness 实战指南:构建生产级 AI Agent 的"马具"框架
java·llm·aigc
带刺的坐椅13 小时前
Agent Harness 实战指南:构建生产级 AI Agent 的"马具"框架
java·ai·llm·agent·solon-ai