00:00
学员朋友们大家好,欢迎大家学习我来教你学Java系列专题课程,我是北京动力节点公司讲师Rico。我们这个专题学习的内容是。JSP编程。JP。是什么?我们首先来解决这个概念的问题。Jed p。就是Java server pages的首字母。就是Java服务器页面。是运行在服务端的页面。这概念啊,我们先就着这个讲义把它简单说一下,它由散公司倡导,许多国际性大公司参与。一起建立的一种动态网页技术。这是一种动态网页技术。
01:02
他和IL。是相比较的。itl是静态网页技术,而JSP动态网页技术。那么JSP是在传统的静态网页IL里边加入了什么Java代码?就插入Java代码段。和JSP标签形成了一种文件。这种文件的后缀。是点GDP。我们大家知道Java是跨平台的。我们使用JSP开发的web应用也是跨平台的。嗯,它可以运行在各种操作系统之上啊。那么这样。我们看一下什么是JSP文件。
02:04
帮我们打开eclipse。这个eclipse啊,我用的版本,这样我们把它关掉。重新打开一下。我用的是oxygen,这个是oxygen m3版本。呃,环境呢?这里边大家看我服务器配了两个,一个是TOMCA71个是TOMCAT9,我们以九为主。但九和七有些地方有不一样的地方,所以呢,我们安装了两个。回头讲到哪些地方不一样,我们会分别来说啊。好,下面呢。那么我再说一下我。
03:03
个人习惯使用快捷键来操作。所以如果你不清楚我如何操作出来这些东西的,那么请看一下。我的一个专题是eclipse的用法,这里边我详细的介绍了。最常用的。这个eclipse快捷键也是我一直使用的,当然了,所谓最常用的啊,我比较喜欢使用快捷键,所以这里边儿有几十个,你需要仔细看一下。好,我首先创建一个工程。Dynamic web project。我这个叫01JSPJSP最基本的啊。
04:01
2.5。我们直接finish就可以了。然后呢?在这儿。在这儿我们。直接建一个JSP文件。这个叫什么都行,我叫index.jsp,因为。它里边默认的啊,欢迎页面就有index.jsp。所以我就起这个名儿了。大家看,这就是一个JSP文件。我们很熟悉的是这段这itml的,对不对,这是iml文件。上面添加的这个内容。
05:04
就是JSP的标签。这是配置指令,我们后边会详细来学习配置指令。好。我在这里边写上一句话,在包子里边写上了这样吧,Hello JSP okay。选上它以后呢,我们直接运行。我运行在九上啊finish。大家看这我默认的是火狐浏览器啊,大家看这不显示hello JSP word吗?其实从目前我的这个代码来看啊,它和iml文件是一模一样的。
06:00
没有用到。动态网页技术。那么这里边啊,给大家说一下,这里边有一个东西,你看着啊在哪呢?在这我们看一下这个JSP到底这个文件是个什么样的文件啊在哪。看清楚,我要找到我的workspace。就这个workspace打开。Me?Plugins。这边找一个S。就找一个啊,这个server。TEMP0TAP1,我是仙剑的。Tomca的九,这个是TOMCA9的。临时目录,这是他们开的七的临时目录,我们打开它。在。Web ABS,但前面是w TP webpbs里边。
07:07
打开。这是我们这个项目吧,对不对,这是我们这个项目已经找到了,现在我不看他,我不想看它啊,这项目的内容我们给他找到这个JSP文件了,是不是我现在不看它,看谁呢?看work。看它里边有个catalina。Localhost。Low是什么,这是我们的主机呀,对吧,这是我们的主机啊,然后呢。这儿。大家看这这样还是。正常是不是有我们这个项目啊打开。打开打开打开。诶,看到没,这有两个文件,这个文件名你看一下,一个叫index_Jsp.Java一个叫index_sp.class。
08:01
这是个自解码文件,这个自解码文件是这个文件的自解码,这是个源码,是谁的源码呢?我们看这个名字有点奇怪,Index_JSP。它和这个文件有什么关系呢?就是index.jsp。我们打开它看一下。用ADD plus。我们看一下啊,有什么关系。这什么东西啊,我看不懂啊。是不是?看不明白。诶。大家看这个是不是我们刚才在这儿写的这个。Hello JSP word呀。是不是他?确实是他。这个文件和我们那个GP之间的关系是。我们的服务器会自动将这个JSP文件,会将这个JSP给它翻译成这样的一个点加了。
09:11
这Java语言程序文件。会翻身它,所以它们之间的关系是什么?是点JSP。被翻译为了点加法。那这个翻译成这什么东西啊,再看一下,仔细看一下,这是这什么,哎呀,这里边看啊,这这这语句都出现在哪,出现在一个叫做。下划线JSP service是吧?Service方法我们好像知道service是service里边是不是一个方法呀。看它下划线去,诶Detroit下在接去in。哎,有点意思啊。大家记不记得我们讲的时候说过。
10:07
它的生命周期方法里边。很重要的四个生命周期。创建初始化。Service服务和Detroit,当然如果我说的这个你不是很明白,你可以看。另外一个专题由我主讲的so编程。这个。专题啊,生命周期方法里边四个重要的阶段,四个重要的方法,这是不是就有了三个了?这三个,但是和那个不一样,这都是是不是下划线GSP开头的,但跟那个这是不是有点有点关联呢。这这方法在哪放着呢,再看。再看再看,找找。
11:04
找这里边儿在哪儿呢。看看。诶,似乎发现个class。对不对,发现了一个class叫什么。是不是就是这个类名啊。这个文件名啊。Index下划线减去。什么东西?Http JSP base,这是什么呀?不知道。咱真不认识,这这这这是个什么东西是吧。他继承的这个,咱们这样CTRLC。我给这查一下,打开这open type呀,粘过来,诶看到没,这有它吧。
12:08
连源码,连谁都源码。当然是连tomcat的源码。连tomcat服务器的源码。为什么?因为我们加YEE的。这个协议。或者确切的说的协议。它的实现者是谁?是Tom开的服务器。所以我们腾不开的又叫什么叫容器?那我们找到。大家看就这个他们看的九。这是源码,这是我们那个服务器。打开。OK。OK了吧,连上圆满了。
13:00
Itp JP,雅呵。我明白了呀,Http JSP base是个什么东西?是个。它是一个,本质是一个,所以我们才能看到。这是什么?这里边儿。有这样的三个方法。所以在这儿。需要大家认识一点,给大家写出来了啊,什么东西呢?JP文件的本质是。只不过。那就是啊,这个这个JSP也是,这俩有什么不一样,它的不同是JSP是专门用于进行数据展示的。
14:00
它有特殊的写法。而我们普通的是用于完成。业务逻辑处理的。他专门做业务逻辑处理的,这是不一样的地方。所以JSP本质是什么,是?而我们知道三倍是什么。单例多线程的,所以GP同样也是单多线程的。OK,重新看这个。他这个这个东西看着这么乱呢,是吧,乱七八糟。这是还有这你看。你看这抬头是不是在这儿密探?然后body。然后哎,大家再看啊。你看看这恰at uf-八,包括这个这个content type啊,Page u TF-八,像这东西都写哪了,你知道吗?在这呢。
15:13
他在这呢,Set content type.set content type我们知道。这是解决响应。是不是乱码中文乱码问题啊。那他写到这儿,他写到这儿,这个东西为啥会写成这个,是因为。我们的,哎。这有个content type,这它怎么这个东西啊,我们服务器怎么样就把它给翻译成这个样子了呢。这是我们下边要学习的内容。我们来看GSP规范啊。
16:01
那么将JSP页面翻译成的过程是由tomcad完成的,而tomcad里边内置了一个叫做JSP翻译引擎的东西。这翻译工作就是他来完成的。什么时候翻译?当我们第一次访问这个JS界面的时候,这个翻译引擎会将这个JS面翻译成点加文文件。再编译为。点class文件。那咱们这样啊,咱们这样看着大家看啊。我把这个项目,咱们这样先把服务器停了。好。删掉。我把它删掉,大家看到这儿。我退回到work。退回到low host,看着这个东西啊。我把它删掉。没了吧?
17:01
是不是这个就没了啊,我把它直接删掉,Work里边现在什么东西都没有。然后。看着。诶。发现没?Catalina有了。老好吃的,你看。是不是这东西都有了呀。对不对,所以它是什么时候生成的。你第一次访问这个页面的时候,咱们这样为了让大家能看出这个效果啊,我再给你定一个页面。拷贝一个他。这个叫什么啊,叫hello吧。叫hello。
18:01
我这儿呢,就写。这样三个hello。好。大家现在看这没东西吧,没有那个hello的事儿吧,我现在要访问了。我现在访问hello.jsp,看好走。是不是多了?你第一次访问的时候,是不是这俩文件就有了,紧接着我要再访问呢?再发我刷新。不会变化了吧?这就是我们这儿强调的啊,你第一次访问这个页面的时候,翻译引擎会把这个JSB面翻译成。Service的点Java文件,紧接着会把这个点Java翻译成点class。
19:06
在这个翻译是什么时候进行的,你第一次访问的时候?那么三公司制定的Java规范里边啊。包含两个很重要的子规范,一个是规范,一个是JSP规范。其实啊,确切是这样说是的,规范里边。包含JSP规范。这个规范在它里边呢啊。呃,咱也不管谁大谁小是吧,反正这里边儿有这个规范,有GSP规范。那么其中JSP规范中就包含了如何将JSP页面翻译成。这个翻译。翻译的规则是什么?在这个JSP规范里边定义好了。你比如说这说了atl CSS javascript以及普通文本会翻译到哪out.right里边,你看看是不是。
20:07
我们out write里边是不是放的都是it的东西?普通文本是不是都在这放着呢?至于为什么?这个东西会到这儿,这个是哪儿的呀?是他这儿的东西为什么会写到这儿,这都是。GP。规范里边它的翻译规则定义好的。我们这个他CA的JSP翻译引擎,他就遵循这样一个规范,遵循这样的规则,我们一会儿就要学习这种翻译的规则。OK了,这就是先简单给大家说说啊。什么是尖子?
我来说两句