00:00
啊,那接着我们看看page这个隐含对象啊,它的一个使用。首先呢,来。我在这里呢,再整一个JP是吧,叫做page contact吧。好,我们先干嘛呢?大家看,我先输出这个变量page content,我们先看看它是什么类型。叫做page contract。诶,大家看一看,先看它的类型,啥类型啊,Page content input嘛,这不就跟我们这里所描述的一样吗?首先类型对了是吧?那它的作用是什么?是获取GSP中的九大内置对象啊。来我们看看,在这里面点你看就会有提示,哎,九大内对对象分别是啥呀,Request呀,你看response啊呀,Page啊,哎啊你看。
01:05
哎,还有绿棒啊,对吧,Application啊这些大家注意啊。Select config select content,这些都是什么?就是JSP中的九大内置对象。那么我们不禁就要问了,老师,那他们得到这个对象之后,他能干啥?大家注意啊,他得到这个对象之后,常用的有哪些作用呢?咱往下拉。诶,看到这里面来,他经常用来输出什么呀,输出一些协议信息啊,服务器的IP,服务器的端口号对吧,当前的这个工程路径啊,请求的方式啊,对吧?Get请求ID请求啊,客户端的IP啊,会画的这个IP编号啊,它可以用来输出这些信息,这都是非常常用的信息,那怎么做呢?我把它拿过来,我给你演示一下哈。OK。我先把这个BR呀给大家都准备一下,免得一会再一个个写好。
02:04
现在咱们注意看的哈,我在这里写到符大括号,Page ctl.request大家注意这些信息啊,大部分都是在request对象当中。哎,大部分都是在request对象当中,那么你要获取请求协议怎么办呢?大家注意哈。我先给你用JSP中的表达式脚本给你演示一下,就是通过调用对象点get的什么STEM,那这个方法它能干啥?稍等哈,我们先说明一下。它可以获取请求的协议,我把鼠标移上来看能不能有提示啊。啊,这里看不着啊,那么我们给你执行一下吧,我给你执行一下啊,看这个输出我给他加个BR。你先看看效果,大家看当前协议,什么协议,HTTP协议。
03:02
是吧,那我要通过EL表达式获取这个信息,怎么获取呢?注意看点schema就可以了,诶为什么点schema就可以呢?咱们前面讲过了,对吧,在ell里面输出这个数据的时候,它干嘛?它会默认的找这个。点后面的这个内容,它所对应的那个什么get的方法,也就是读方法,你看这不是那个get方法吗?它就等价于调用这个get的方法,那么输出的内容是一样的,大家请看。都是HCP哎,就得到这个协议了,那么第二个呢,服务器的IP呢,那这个怎么写啊,请看哈。别get serve。Get server,那如果是换成下面这个呢?换这个E怎么写?注意看,就是你得先得到request对象之后server name。就可以了。
04:00
好,那么我们刷新一下,你看两个是一样的,你这里是logo,不就服务器的IP吗?这是log,那你要是127.0的0.1呢,你看它就会动态的获取服务器的这个IP,你如果是。诶,我的本机是多少啊。我先看看我现在这个网络的本机IP是多少哈。呃,1921683174是吧,3174。来。192.168.31.74好,大家看他是不是也能够动态的获取你这个IP都可以啊,你敲是多少他就能得到多少。哎,多少多少好,那我把这个拿上来。哎,这是干嘛呢,获取。请求到服务器IP或域名是吧,域名最终也是解析成IP嘛。那如果是获取服务器的端口号呢,端口号的话,这里就变成另一个方法了,叫做get server port,你看serve服务器嘛,Port是不是端口嘛,对吧?哎,那我把这个拿上来。
05:10
获取请求到服务器端口号,那这个地方大家看啊,那下面换成啥呢。换成E对应的写法,这里变成server port就行了,对吧,它会默认的找到这个server port的get server port的方法去调用,然后输出,请看端口呢,就是8080对吧,跟上面是一致,好,那么紧跟着还有这个获取啊,工程路径啊,那工程路径又怎么获取呢?来,我们先看这个代码怎么写啊,这个地方呢是request.get哎,Content pass,这就是工程路径这个方法。获取啊,当前工程路径。
06:00
哎,那下面怎么写,注意看哈。可以,Content request.content。Pass,大家看见了吗?但凡是有这个get什么什么的方法,它就把这个get去掉,变成一个点后面可以直接用的东西是吧,来吧,那咱们刷新一下啊。当前的工程路径不就是它吗?OK,呃,然后我们再来看一下获取当前的请求方法,哎,这个也可以说是请求的方式啊,就get请求破请求嘛,对吧?啊,这也是咱们接触最早的,就是get什么。Method。哎,这个获取请求的方式。啊,或者方法是吧,就get或post是两个值嘛,哎,那么我们下面怎么写,注意看。Page contact.require.method你看到吗?Method,对它的读方法,Get method好,我们刷新,我们说在地浏览器地址栏上面有地址了以后敲回车是get的请求,你看到吧,哎,Get,还有就是获取这个客户端的IP啊,客户端的IP怎么写呢?它有个方法叫做get remote host。
07:21
哎,这东西怎么理解啊,就是获取客户端的IP地址,怎么是客户端呢?请看一下哈,Remote啥意思啊,远程的哎后就主机嘛,那么对于服务器而言,远程的主机不就客户端嘛,是吧?那这边怎么写呢?Page点哎,叫做。Remote,诶诶诶诶写错了。Mo,诶,就这个好,咱们刷新一下。啊,当然我反过来是自己的电脑嘛,所以我的客户端呢,和服务器是一个IP啊,然后呢,还有获取绘画的ID,那绘画的ID怎么写啊,这地方是session这个对象点get ID。
08:09
是吧,那既然是这么写,那这里就应该怎么写,首先呢,你得通过page contact get得到这个session,大家看到吗?得到这个send对象,然后你这里不是get ID吗?点get ID get不要了,只要那个ID什么,诶它就自动的调那个get ID方法来刷新一下,你看这就是那个ID号一样啊一样。那咱们说这个啊,获取。绘画的唯一,哎,标识好了。这个就是page can事业。但有同学可能不进用要想了对吧,还有问题我能说老师不对啊,老师你不是跟我说EL表达式的输出啊,要比这个什么呢,表达式脚本要简洁吗?但我感觉这个输出怎么看呢,就没有。
09:04
表达式简洁呢?是吧,就特别是这些你看啊,特别是这些,呃,他输出的时候明显的就你看。下面数明显比上面长是吧?好,那其实到了企业开发的时候啊,他们有一个这个使用的技巧,哎,我给大家讲一讲哈,注意看他会干嘛呢?注意看哈,它会把这个宽的对象放到配着肯特域当中。注意看哈IEQ后面放的是什么呢,对象。我不知道大家能不能看懂啊,你看把这个request的对像放到中,Key是多少啊?IEQ,那如果是IEQ的话,大家想想啊,我在这里面写上re EQ,那是不是表示这个对象了?对吧,诶,那我这样写呢,就比上面要简洁很多啊,说出的内容呢,其实还是一样都是协议看到吗?啊,这是在企业里面非常呃简单的一个使用的一个技巧啊,给咱们了解一下好。
我来说两句