J2EE的十三个技术——JSP
简介
JSP,Java Server Page,Java服务器页面。它是在传统的网页HTML文件中插入Java程序段(Scriptlet)和JSP标记,从而形成JSP文件,后缀名为(*.jsp)。
特性
◆解耦
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,JSP是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。
◆跨平台性:
用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。JSP与Servlet一样,是在服务器端执行的。
◆面向对象:
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
语法
HTML语法的java扩展,加入了新的标签。
JSP原始代码中包含了JSP元素和Template data两类
1)Template
data
标记<%...%>之外的部分,他们是jsp引擎不处理的部分。比如HTML中显示的内容,他们会直接传送到客户端的浏览器。
2)JSP元素
标记<%...%>中的部分,由JSP引擎直接处理的部分。
注意:这部分必须符合JSP语法,否则编译会出错。
例如:
执行过程:
当服务器上的一个JSP页面第一次被请求时,JSP引擎首先将JSP页面编译成Servlet(稍后会解释),然后执行该Servlet。该Servlet主要完成以下2项任务:
(1)页面中的HTML标记——》客户端的浏览器——》解释执行。
(2)JSP指令标记、动作标记、JSP声明、代码段和表达式 ——》服务器 ——》执行,然后将结果送给浏览器。
下图也可表明他们之间的转换关系。
1)将JSP转换为Servlet
2)JSPServlet编译为class文件
3)执行JSP
示例:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.util.*"%> <HTML>
<BODY>
<%
for(int i=0;i<2;i++)
{
%> Hello!<br> <%
}
%> </BODY>
</HTML>
HTML文件:
<HTML>
<BODY>
你好<br>
你好<br>
</BODY>
</HTML>
最终在浏览器中显示你好字样。
总结:
在介绍jsp执行过程的时候,我们就已经知道了Servlet是jsp的基础。如果没有Servlet的转换,它的请求就无法成功执行。这里只是简单的提及了一下Servlet,相关内容见下篇博客。
J2EE的十三个技术——JSP的更多相关文章
- J2EE的十三种技术(规范)
J2EE的十三种技术(规范) Java数据库连接(JDBC) JDBC API以一个统一的方式访问各种数据库.与ODBC类似,JDBC将开发者和私有数据库之间的问题隔离开来.由于它建立在Java上, ...
- j2ee的十三种技术
J2EE的十三种技术(规范) 种不同的驱动,具体来说,包括有: 类型1:JDBC-ODBC桥 在JDBC刚产生时,JDBC-ODBC桥是非常有用的.通过它,开发者可以使用JDBC来访问一个ODBC数 ...
- J2EE的十三种技术——JNDI
背景: 上一篇博客中介绍了J2EE的十三种技术之一--JDBC,主要用于提供了统一访问多种数据库的方式.这篇文章我们继续介绍J2EE的技术--JNDI. JNDI: Java Naming and D ...
- J2EE的十三种技术——JDBC
背景: 之前准备软考的时候,我们就学习过J2SE的视频.在进入J2EE之前,一定要复习和回顾下Java的基础知识,这对以后的学习十分重要.首先,简单回忆下java的体系结构.Java有三个体系结构:J ...
- J2EE的十三个技术——Servlet
简介: 基于协议的请求/响应服务的Java类.通俗的说,Servlet是在服务器上运行的小程序.为什么叫Servlet?Applet表示小应用程序,Server+Applet即为Servlet,表示小 ...
- J2EE的十三个技术——EJB之概述
含义: 企业级的JavaBeans(Enterprise JavaBean),其设计目标是部署分布式应用程序. EJB是J2EE的一部分,称为Java企业Bean,它把使用Java开发的服务器组件的部 ...
- J2EE的十三个技术——EJB之消息驱动JMS
JMS--Java Message Service JAVA的消息服务,消息可实现两端通信. 用于访问面向消息中间件的标准api,他提供与厂商无关的访问方法,以访问消息收发服务. 特点:即使其中一方不 ...
- J2EE的十三个技术——EJB之实体Bean
概述: 实体Bean与会话Bean不同,实体Bean是持久的,即使应用程序结束,它仍然存在.它允许共享访问,具有主键. 组成: 1)本地(Local)接口 本地访问EJB,只有在EJB与客户在同一个应 ...
- JAVA EE的十三种技术
java ee 的十三中技术 一.jdbc 1). jdbc-odbc桥 2). jdbc-native 驱动桥 3). jdbc-network 桥 4). 纯java驱动 二. java命令和目录 ...
随机推荐
- mycat特点及用途
Mycat关键特性 关键特性 支持SQL92标准 遵守Mysql原生协议,跨语言,跨平台,跨数据库的通用中间件代理. 基于心跳的自动故障切换,支持读写分离,支持MySQL主从,以及galera clu ...
- DateTools,可能是最好用的iOS日期工具库
项目简介 DateTools 用于提高Objective-C中日期和时间相关操作的效率.灵感来源于 DateTime和Time Period Library. 项目主页: DateTools 最新示例 ...
- PCA 实例演示二维数据降成1维
import numpy as np # 将二维数据降成1维 num = [(2.5, 2.4), (0.5, 0.7), (2.2, 2.9), (1.9, 2.2), (3.1, 3.0), (2 ...
- HttpServletRequest cannot be resolved to a type The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
HttpServletRequest cannot be resolved to a type The superclass "javax.servlet.http.HttpServlet& ...
- JQ常用方法(哈哈)
1ajax请求 $(function(){ $("#send").click(function(){ $.ajax({ type:"get" ...
- 微信小程序相关
https://www.cnblogs.com/shenzikun1314/p/7805168.html
- @ApiModelProperty用法
@ApiModelProperty()用于方法,字段: 表示对model属性的说明或者数据操作更改 value–字段说明 name–重写属性名字 dataType–重写属性类型 required–是否 ...
- POJ:1995-Raising Modulo Numbers(快速幂)
Raising Modulo Numbers Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 9512 Accepted: 578 ...
- SpringBoot推荐基础包
技术交流群:233513714 Spring Boot 推荐的基础包 名称 说明 spring-boot-starter 核心 POM,包含自动配置支持.日志库和对 YAML 配置文件的支持. spr ...
- luogu3343 [ZJOI2015]地震后的幻想乡
ref 前置技能是bzoj的串珠子.这种子集dp好神啊qwq. 还有这种钦定点转移子集的方法建议按这题的方法写,不要看串珠子qwq #include <iostream> #include ...