【J2EE】JSP简介
来源:互联网 发布:淘宝培训多久 编辑:程序博客网 时间:2024/05/19 07:09
一、简介
JSP是Java Server Page的缩写,是一种Web服务设计标准,是基于Java Servlet以及整个Java体系的Web开发技术,利用这一技术可以建立安全、跨平台的先进动态网站。JSP以Java技术为基础,又在许多方面做了改进,具有动态页面与静态页面分离,能够脱离硬件平台的束缚以及编译后运行等优点,完全客户了ASP的脚本执行的缺点。目前,JSP已经成为开发动态网站的主流技术。
一个服务器上可以有许多基于JSP的Web应用程序,以满足各种用户的需求。这些Web应用必须有一个软件来统一管理和运行,这样的软件被称为JSP引擎或JSP容器,而安装JSP引擎的计算机被称作一个支持JSP的Web服务器。支持JSP的Web服务器负责运行JSP,并将运行结果返回给用户。Tomcat就是一个免费的开源JSP引擎,目前能和大部分主流服务器一起高效率地工作。
二、JSP页面
简单来说,一个JSP页面可以有普通的HTML标记和JSP规定的JSP标记,以及通过标记符号"<%","%>"加入的Java程序片。一个JSP页面按文本文件保存,扩展名为.JSP。
在保存JSP页面时,文件的名字必须符合标识符规定,即名字可以由子母、下划线、美元符号和数字组成,并且第一个字符不能是数字。需要注意的是,JSP技术基于Java语言名字区别大小写。如Example.jsp和example.jsp是不相同的jsp文件。
举个例子:
< % @ page contentType="text/html";charset = GB2312 % ><HTML><BODY BGCOLOR=cyan><h3>这是一个简单的JSP页面<h3> < % int i,sum=0; for(i=1;i<=100;i++){ sum = sum+i;}%><h4>1到100的连续和是:<% = sum%><h4></BODY><HTML>
三、JSP运行原理:当服务器上的一个JSP页面被第一次请求执行时,服务器上的JSP引擎首先将JSP页面文件转译成一个Java文件,并编译这个Java文件生成字节码文件,然后执行字节码文件响应客户的请求。而当这个JSP页面再次请求执行时,JSP引擎将直接执行字节码文件来响应客户,这也是JSP比ASP速度快的一个原因。而JSP页面的首次执行往往由服务器管理者来执行。字节码文件的主要工作是:
(1)把JSP页面中的HTML标记符号(页面的静态部分)交给客户的浏览器负责显示
(2)负责处理JSP标记,并将有关的处理结果发送到客户的浏览器。
(3)执行“<%”和“%>”之间的Java程序片(JSP页面中的动态部分),并把执行结果交给客户的浏览器显示;
(4)当多个客户请求一个JSP页面是,Tomcat服务器为每个客户启动一个线程,该线程负责执行常驻内存的字节码文件来响应响应客户的请求。
四、JSP与Java Servlet的关系
Servlet就是在服务器端创建对象的Java类,JSP是Servlet的一种特殊表现形式,本质还是Servlet。
Servlet的最大缺点是不能有效地管理页面的逻辑部分和页面的输出部分,导致Servlet的代码非常混乱,单独用Servlet来管理网站编程一个很困难的事情。为了克服这个缺点才推出了JSP。因此,JSP应运而生,当用户请求一个JSP页面时,Tomcat服务器自动生成一个Java文件、编译Java文件,并用编译得到的字节码文件在服务器端创建一个servlet。
JSP技术屏蔽了servlet创建的过程,使得Web程序设计这只需要关心JSP页面本身的结构、设计好各种标记,比如使用HTML标记设计页面的视图,使用Javabean标记有效地分离页面的视图和数据存储等。
不管是JSP还是Servlet,虽然都可以用于开发动态web资源。根据这两个技术的特点,让他们各司其职,servlet值负责响应请求产生数据,并把数据通过转发技术带给JSP,数据的显示交给JSP来做。
- 【J2EE】JSP简介
- JSP(J2EE)技术简介
- 【J2EE】JSP
- 【J2EE】J2EE简介
- j2ee简介
- J2EE 简介
- J2EE简介
- J2EE简介
- J2EE简介
- J2EE简介
- j2ee简介
- J2EE简介
- J2EE简介
- J2EE简介
- j2ee简介
- J2EE简介
- J2ee简介
- J2EE简介
- POJ-3009-Curling 2.0
- Python进阶07 函数对象
- Android从零开搞系列:自定义View(1)setContent()台前幕后
- 十四周周计划
- JavaEE复习笔记(1)——JavaEE应用和开发环境
- 【J2EE】JSP简介
- 我眼中的subprocess
- 回溯法之经典问题->皇后问题
- jquery对象和dom对象的关系
- 软件测试(二)
- 工厂模式
- 【CodeVS】【2004年NOIP全国联赛提高组】1057 津津的储蓄计划
- 多线程的聊天室实现-服务器端
- 简单工厂模式、工厂模式和抽象工厂模式例子