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

相关推荐
悟能不能悟1 小时前
java的java.sql.Date和java.util.Date的区别,应该怎么使用
java·开发语言
高山上有一只小老虎2 小时前
java 正则表达式大全
java·正则表达式
_院长大人_3 小时前
设计模式-工厂模式
java·开发语言·设计模式
凌波粒4 小时前
MyBatis完整教程IDEA版(2)--ResultMap/注解/一对多/多对一/lombok/log4j
java·intellij-idea·mybatis
蓝-萧4 小时前
【玩转全栈】----Django基本配置和介绍
java·后端
priority_key4 小时前
排序算法:堆排序、快速排序、归并排序
java·后端·算法·排序算法·归并排序·堆排序·快速排序
汤姆yu5 小时前
基于SpringBoot的动漫周边商场系统的设计与开发
java·spring boot·后端
皮皮林5515 小时前
快速解决 Maven 版本冲突指南 !
java·maven
灰小猿5 小时前
Spring前后端分离项目时间格式转换问题全局配置解决
java·前端·后端·spring·spring cloud
算法与编程之美6 小时前
理解Java finalize函数
java·开发语言·jvm·算法