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命令和目录 ...
随机推荐
- Git配置和常用命令
Git配置 git config --global user.name "hunng" git config --global user.email "huangthin ...
- MyEclipse 自动添加 作者 日期 等注解
使用MyEclipse 编写Java代码时,自动生成的注释信息都是按照预先设置好的格式生成的. 修改作者.日期注释格式:打开Windows->Preferences->Java->C ...
- Java框架 面试题总结
一. Struts1.x 4 1. struts1优缺点,为什么要使用struts1 4 2. Struts1核心组件 4 3. Strust1请求处理流程 工作原理 4 4. Struts1线程安 ...
- javascript入门笔记6-内置对象
1.Date 日期对象 日期对象可以储存任意一个日期,并且可以精确到毫秒数(1/1000 秒). 定义一个时间对象 : var Udate=new Date(); 注意:使用关键字new,Date() ...
- tcl之文件操作-文件名相关
- PHP 日期处理函数 date() 、mktime()
一.前言 php是世界上最好的语言! 二.介绍 mktime()函数获取当周\当天\当月 /** * 微程-日期工具函数 week: 当周 day: 当天 month: 当月 * @author 狗蛋 ...
- CentOS7 配置环境
1.安装CentOS 配置环境 (1)虚拟机中安装CentOS,进入系统使用yum命令不止正常执行…… 原因: 需要设置网卡激活 解决方法: vi /etc/sysconfig/network-scr ...
- #Python编程从入门到实践#第二章笔记
1.变量 (1)变量名只能包含字母.数字和下划线,不能包含空格 (2)不要将python关键字与函数名作为变量名 (3)简短有描述性,避免使用小写字母l和大写字母O (4)python 始终 ...
- selenium库:自动化测试工具
爬虫中主要用来解决Javascript渲染问题 1.声明浏览器对象: from selenium import webdriver browser = webdriver.浏览器名() 2.访问页面: ...
- Python中的not, and, or
logical_operator_lst = [ ('and 与运算',), ('or 或运算',), ('not 非运算',), ('逻辑运算符的优先级',), ('实例',), ('练习',), ...