不要急,我与你一起学习JSP——JSP的基本概述

Posted 神密者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不要急,我与你一起学习JSP——JSP的基本概述相关的知识,希望对你有一定的参考价值。

一般教科书都喜欢让人家先学习一些概念,之后再开始找平台,我喜欢先干点,有了一定的概念再谈谈那些讲理论的事。

我们在上次搭建平台时已经对 JSP 的平台搭建及写法有了相关的了解。我们这回来说一下理论方面的事。嗯。。。从哪开始呢???好吧从这里开始(和没说一样)。


一、介绍一位新同学——JSP

JSP(全称:Java Server Pages)是由 Sun MicroSystem公司(简称:Sun,现在被 Oracle 甲骨文公司收购)公司倡导、多家公司共同参与,并于1999年建立起来的一种动态网页技术标准。在技术上,JSP 是基于 Java Servlet 以及整个 Java 体系的 Web 开发技术。在应用上,JSP 是一个服务器端技术。在服务器端通过JSP引擎解释成JSP代码,然后以html或XML之页面形式发送至客户端。JSP的写法很也简单,也就是将代码加入到HTML中去,即可。这和 ASP、php 这两种语言的使用方法相同(表要说 MVC 之流,那只是个框架)。


二、JSP的优势与劣势

1、JSP的优势:

(1)一次编写,到处运行,兼容性强,支持多种系统。

(2)支持服务器端组件。


2、JSP的劣势

(1)为了实现跨平台性,系统复杂性强。

(2)由于第一次运行时,系统要自动编译 JSP 代码,所以产生大量的 .java,.class。


三、JavaEE 与 JSP 之间的关系

JavaEE 是 J2EE 的一个新的名称,是 Java2 平台企业版。


JSP 其实是最早的 JavaEE 规范之一,也是最经典的 JavaEE 技术之一。直到现在,JSP 依旧广泛地应用于各种 JavaEE 当中,充当 JavaEE 的表现层角色。JSP具有简单、易用的特点,学习道路之平坦也,国内又有大量之学习资料,所以Java学习的同学们在学习JavaEE时,都是先从JSP开始的。


在 JavaEE 中,除了用 JSP 外,还有 Servlet。两个的原理皆一致。实际上 JSP是必须被服务器编译成 Servlet 后,才运行的。所以,我们用得是 JSP 代码,实际上却是在操作的是Servlet。但Servlet的开发之成本过高,难于维护,不利于美工参与开发,所以实际上大都是用 JSP 来充当表现层的技术。


JSP 只能负责简单的显示逻辑,对于底层就无语了。。。这可怎么办,所以 JavaEE 就用到了 JavaBean (我以前的老师常叫他“Java豆”,实际上,官方也叫他DTO 【Data Transfer Object,数据传输对象】)来处理。

所以,如果在面试时,人家问你你写得是 JSP,你要做 JavaEE,你就告诉他这个。


四、JSP的运行机制

JSP 是服务器端技术,在服务器端 JSP 代码将会被 JSP引擎解释成 JSP代码,最后以 HTML 或 XML 的页面形式发送至客户端,因而在客户端那里,我们是看不到任何 JSP 代码,仅仅看到的是 W3C 所倡导的页面标识。那他是如何在服务器上动作的呢,我们看一下。


1、当 JSP 页面第一次被请求执行时,则 JSP 引擎会将 JSP  页面解析成 Java 源文件(*.java)【如果是第二次执行(就是非新建,非原创),则不执行这一步】。


2、兴奋的 JSP 引擎再把 Java 源文件编译生成为 Java Class 字节码文件(*.class)。这个 Java Class 字节码文件就是 Servlet【如果是第二次执行(就是非新建,非原创),则不执行这一步】。


3、Servlet 开始接收这个 Java Class 字节码文件,JSP 引擎工作结束。


4、Servlet 运行这个 Java Class 字节码文件,并把结果反回给客户端(也就是用户的PC机)。



没办法,我的美工水平太次了。。。哎。。。


以上是关于不要急,我与你一起学习JSP——JSP的基本概述的主要内容,如果未能解决你的问题,请参考以下文章

不要急,我与你一起学习JSP——JSP的基础语法

不要急,我与你一起学习JSP——JSP 内置对象之一

不要急,我与你一起学习JSP——JSP 内置对象之一

不要急,我与你一起学习JSP——JSP的基础语法

不要急,我与你一起学习JSP——平台搭建,让你眼前一亮

一文带你吃透JSP,增删改查实战案例详细解读