00:00
好,刚刚呢,我们已经解释了这个JP的本质啊,我们知道它是一个select啊,我们也通过观察源代码,我们发现它的底层对吧?确实跟我们自己写的Le程序一样,是通过一个输出流啊,输出这些HTML的页面数据,但是有同学刚刚就问了老师,光这样子接的P就可以取代select吗?要知道我们在是可以写成负循环的if语句的,甚至我还可以查询数据库,这些接P可以吗?好,那接下来我们就深入的来了解一下这个JSP,首先呢,咱们来看一下哈,这个呢就是咱们的一个JSP文件,那么我们发现下面这些内容其实跟我们前面学的HTML是一样的,对吧?那剩下就是这行呗,那我们就从这行开始学吧,那这一行是什么东西,大家注意看,我们管它叫做配置指令。配置指令,那配置指令能干嘛?咱们先来说一下哈,咱们说JSP的配置指令可以修改JSP页面中一些重要的属性或者行为,这咱们了解一下啊,那么每个属性和行为呢,都表示不同的意义。
01:14
那接着我们就来学习一下吧,那都有哪些属性呢?以下这些是常用的属性,我们需要了解的。那么第一个表示GDP翻译后是什么语言?啊,什么语言文件,那么这个纸大家注意看到啊,暂时只支持Java。啊,大家看一下这个这个啊,没写这个有了吧,Language吗?就表示JP翻译之后呢,是个加法是吧,哎,加法好,那接着。大家注意啊,这里只是加吧,你要赶上其他还不行啊,就比如说你你C加加行吗。来你访问一下这个。B。走大看这是不行吧,呃,它暂时暂时只支持这个Java哈加va OK,这个咱们了解一下好,那么第二个属性叫做contain type,这是表示什么?表示JDP返回的数据类型是什么啊,也是什么呢?也是源码中response.set content type。
02:26
Type参数值就这样子,我们可以看到源码啊,那么在我们的这个源码当中啊。这个地方你看response second type,这个是不是设置了返回的这个数据类型对吧?嗯,OK,那我们这里呢,也是一样的,就比如说如果我把这个改成GPK,大家看它也会跟着改G。GBK,好,我现在改了哈,那我改了,我我刷新一下,OK,当然了,这时候咱们不看这个了哈,因为它是a.JP我们去找B的那个,B的这个,我们打开它,你就发现它改了往下拉。
03:04
大家看一下现在是不是变成GBK了对吧?哎,那我们改回去啊,一般咱们都是用UTF杠八,咱不要去改它,好,咱们再次返回刷新,大家请看这边。变成U杠八了吧,好。呃,接着我们看另一个属性,比如说page encoding,这是表示当前JP页面文件本身的字符集啊,本身的字符集好了,那么大家注意看,这里其实是没写的吧,那默这个默认字符集现在是多少呢?现在其实是U吧。但是这里其实有的哈,那你也可以手动的去写。比如说pat in coding是吧,你也可以写成GBK。好,那么我写上之后,咱们来看一下哈,我们来刷新一下。这就改了,再看这是不是GPK了,看见了吗?过一会它就能改过来哈,然后呢,咱们一般呢,也都是大家注意,一般呢,咱们进入web之后,这个字符集都是统一的。
04:08
都是统一的,那这个就是什么?就是UTF杠八,咱们一般不用去动它好吧,哎,统一字符集,否则的话会出现乱码好。这个U8又改回来了吧,好,这咱们了解一下,呃,还有input是干嘛呀,就是跟Java源代码中一样,用于导包导类,就这么简单。哈,就这么简单,来,我给大家演示一下哈,就比如说我在这里间号百分号at,然后。配置是零是吧,有一个I input,诶input呢m input你看导包出来了吧,就java.u点大家看新这是不是导包,你也可以导类map大家看见吧。可以的,好。这个呢是I input的属性,那么还有以下两个啊,这两个呢,它是属于一类的哈,是给谁用的呢?是给当以什么说明一下啊,以下两个属性是给out输输出流使用。
05:16
那二的输出流在哪呢?来,我们稍微看一下哈,我把这个拿过来。好,输出流就是咱们源代码当中来,就这个out就是它。啊,这个它那这两个属性分别表示什么东西呢?第一个是out flash,就是设置,当out输出流缓冲区满了之后,是否自动刷新缓冲区,就这样子,默认值是处啊默认值是处好。
06:00
那么像这个呢,就是设置out缓冲区的大小,默认是8KB,就这样子。啊,我们给大家看一下哈,嗯,我把这个写的叫out to flash。Flash,那么默认指示处。默认值是处啊,那么buffer你看默认值。是不是8KB啊,好,那么大家注意看一下哈。那现在我们来做个测试,这两个属性有什么作用呢?比如说我在这里面多加点内容。啊,那么国歌好帅是吧,好,大家注意看,我现在呢,复制这个东西,但他有很多很多很多啊很多,好,现在我要干什么事情呢?现在这里的内容已经很多了哈,然后我把这个缓冲区改小了。同时把这个改成注意看啊,把这个改成false,会出现什么情况,来我们刷新一下。
07:04
走,大家看这个是不是出错了,记住啊。这什么错误呢?他说,GDP buffet of看见了吗?缓冲区溢出了,缓冲区溢出了。呃,这个呢,咱们了解一下,大家注意,如果说这个时候我们把这个缓冲区刷新改成处,它会出错吗?不会。大家看见了吗?就不会出错了,好,那一般情况下这个缓冲区都是设置为出,我们不要改。啊,那么一般这个大小呢,我们也不建议大家改啊,因为这个缓冲区8KB啊,是早期这个上公司做过。很多很多实验。最后才得出8KB这个缓冲器大小呢,是性能综合上来说最优的啊,最优的好,这个咱们了解一下,OK,当然了,我把那个错的给他截个图哈。好,当然了,现在它不报错,是因为咱们缓冲区是不是够大呀,缓冲区还没有满,来咱们刷新,来我们把这个说明一下。
08:06
这个这个错误啊。是缓冲区out,缓冲区满了,满了以后不能自动刷新,充区满了之后不能自动刷新,就会报错啊,这个要注意啊。OK,我们把这个拿过来啊,就是缓冲区一出错误。错误就这样子啊,就这样子好,接着呢,我们来看一下其他的属性,就比如说配啊,这个是什么呢。它可以设置当JSP页面运行时出错,运行时出错自动跳。转去的错误页面啊,路径就这样子,有啥意思呢,大家注意看一下哈。
09:06
我先把这东西都去掉,上上用默认的好,那么大家请看,如果说我把这个也删了哈。稍等,如果说我现在在这里面让他故意的产生一个错误运行时啊,这个代码大家还没有学过啊,就先看就是这个大括号百分号,这个大家先别管,这个能干嘛,总能看得懂吧,除以零必然会产生错误吧,好,这时候注意看当它页面运行时产生的错误,大家看这里是不是看到一个除以零的错误。请问这样的页面对于普通的用户来说友好,我跟你说用户根本就看不懂。不知道是啥情况,搞不好他还以为你这个页面效果就是这样子的,能理解吗?哎,那么当我们页面出错之后啊,那你应该给用户一个友好的提示,说我们网站出错了,你就应该。哎,提示一下用户,而不是给用户看到,这样程序员才看得懂了这个错误页面啊,那这时候怎么办呢?你看啊,我们就要准备一个错误页面,就比如说这里有一个JDP叫做500.jdp好,那么这里说很抱歉,对吧,您访问的页面服务器。
10:23
出现错误啊程序员。小哥正在努力为您抢修对吧,那这样就比较友好一点,那么我现在希望这个页面一出错,我就跳到这个页面来给人用户一些提示,怎么办?注意看就在这里面,通过配置这个配o page这个属性,然后写成这个路径。写什么呢?斜杠,然后是欧500接着P,那为什么是这么写呢?来尖号叹号减减,咱们说明一下哈,我们说大家注意啊。
11:03
恶属性表示错误后自动跳转去自动。跳转去的路径就这样子啊,那么。OK。那么大家注意看一下哈,那么这个路径一般都是以斜杠打头啊,那么它表示请求地址为HTP冒号双斜线IP地址端口号,工程路径到这个地址,那么映射到。代码的web目录也就是哪里啊,也就是这个。对吧,有同学老师为啥是它呀,你前面不是说过这个在浏览器解析的时候,它是到端口号吗?但是大家想想啊,我们这个解P它本质最终是不是还得翻译成什么,是不是类程序,那它是不是还是被服务器解析,那服务器解析的话得到了地址呢?是到工程路径,这个一定要注意啊,也就是说到这个web,那到了web的话,那咱们后面是不是只能跟着我这里就行了,看到了吧,那这个时候我们访问一旦出错之后。
12:19
它是不跳这样一个页面对吧,我们还可以在这里面提供返回首页啊,呃,联系客服啊之类的一些信息,能理解吧,好这个呢,就是俄配置它的作用。我把这个拿过来。好,然后啊,我们再来看。下面这个is page啊,那我们说它是什么呢?设置当前JP页面是否是错误?信息页面啊,默认是false。啊,了解一下哈,那么如果是to可以获取异常信息,就这样子,大家注意看一下哈,在我们的这个源代码当中,上面这部分你稍微看一下,有CE异常对象吗?Page contact contact con,看见吧,没有except吧,那么如果说。
13:23
注意看,我把它改了哈,叫做一。配置,如果我写成为醋。那会出现什么情况,大家注意看啊,默认是false哈,我标识了吗?默认是false来,如果我们写成to的话走。啊,当然我们要把除以零这个。错误的去掉是吧,是把这个去掉好我们再来。刷新好这个出来了哈,大家看这个源代码当中。走源代码这个地方是不是有一个exce这个异常的对象实例啊,大家看见了吗?诶这就怎么出来的呢?就是由于我们这里面设置为处了以后啊,源代码当中才会出现这样的一个异常对象,我们可以通过这个异常对象啊得到异常的信息,这个呢,咱们了解一下哈,啊,当然这个用的也不是特别多了,哎,那还有session这个是什么,是设置访问。
14:17
访问当前GDP页面是否会是否会创建http session对象默认是处,那一般我们其实也不推荐改,大家来看一下哈,由于它默认是处的话,这里是不是有ATP session是吧?那如果说我们把它改成为false。那会出现什么情况?啊,那会出现什么情况,来请看我们刷新,刷新之后看这边的改动。看见了吗?Http session这个类就没有啊,这个类就没有了,好,那我们一般其实也不推荐改哈,我们一般都是需要这个绘画的,就咱们了解一下,那下面这个继承呢,就是设置。
15:09
设置接着批翻译成为注意看啊翻译成为类的程序,那么呃,翻译的类是吧,翻译出来的Java类默认继承。继承谁?就这样A继承谁就这诶诶这谁怎么圈不出来呢?啊继承谁好了,这咱们了解一下哈,就比如说我在这里改改。继承是吧,HTP呃,加了X点点HTP来看,我是写这个类啊,那现在呢,你来访问一下他。啊,咱们姑且不说这个东西能不能这个错误先不管啊,我们就先看源代码。再来看看这上面。
16:01
这个翻译出来单位默认是不是继承了Java xp select,大家看见了吗?哎,就修改这个默认的这个效果。啊好,这个呢,咱们了解一下,我们一般呢,是不推荐大家改啊,那改除非你有什么特殊的需求。啊,特殊的需求,好这个呢,咱们了解一下。好。
我来说两句