00:00
这个练习啊,是这样的。啊,我首先呢,我输入一个呃,Log in UI,那我输入这个之后的话呢,我会得到这个这样的一个页面,User nameme password,这个password是什么,其实无所谓哈,You nameme的话呢,我们还是写一个,然后呢,诶,我在点三名字的时候啊,我去的是you log in.action。这个时候怎么了?这个时候他会把用户信息存到session里边,你登录了吗?用户信息从session里边,所以说我需要用到那个session对应那个map是吧?这个时候我还不需要访问原生的API吧?好了,在线人数加一,OK,在线人数放哪呀?放application里边吧,啊,用的是application的map,也不用原生的API,然后显示人,显示在线人数没问题,Logout是不是搞一个登出啊,在线人数减一。
01:07
啊,三身失效,三身失效我们是不是可以用那个3MAP的一外子方法呀,所以说整个这个应用我们就可以不用原生的API吧,就可以搞定。清楚了吧,把这个来写一下,讲这个练习之前呢,我们先来说一下。请求的扩展名问题。怎么回事啊,我们看在我这个练习里边标识的呀,我第一个请求叫log in_UI注意没有任何扩展名。好了,在我第一次点表单提交的时候叫点action,然后点logout的时候是点action,那从我这个练习里边,我们感觉到貌似啊stra to可以受理没有扩展名的和以点action结尾的。
02:02
那stra to到底可以应答哪些请求呢?是不是任何请求都可以受理呢?显然不是。那可以应答哪些请求?应该是在一个配置文件里边被配置的,我们来找一下那个配置文件,以及看一看我们如何修改这个扩展名。打开我们这个工程,我们来找到tru to的配置文件,Truts扣在这个里边的话呢,今天我们用过一个文件叫什么呀?叫trus default,这是trus默认的配置文件,这里边我们有一些拦截器站啊,一些拦截器啊,一些常用的结果类型啊,但这个里边没有扩展名那个,扩展名那个啊。在另外一个配置文件里边往上翻。啊。Org,阿帕奇struts这里边有一个default properties这里边。
03:06
也配了一些常量,配了一些常量,这些常量里面,哎,有我们找的那个配置,我先翻一翻,我们看一看啊。我们看到第一个就是180的字库编码是udf杠八。那我们还看到了,呃,Spring的时候呢,我们是使用class的缓存处,好我们往下翻。啊,这个是关于文件上传那些常量,我们在讲文件上传的时候呢,我们会讲到这,再往后翻,我们看到一个什么呀。Trued。Action的扩展名是点action或者是空,什么也不写,哎,这就是配置。To可以受理那个请求的扩展名的,所以说的话呢,点action结尾没问题。
04:00
什么也不写也没问题。那我们当然可以来进行配置,那配置的话呢,我们不是在这里边配置哈,我们是通过常量的方式在X文件里边进行配置。打开来。Page。The bus可以受理的。请求的或。看看,以content这个方式,OK,我要可以应答action符号。Who啊,Action action我都可以用到。保存看一下效果。而action跟度都可以。找到我们这个index。
05:02
嗯,我们前面写这个,我们就以这个为例了哈,点action,我写成一个点数的方式。耳度好,找一个看看效果。第一个action没问题。对,看第二个。哎,点度也没问题,显然是因为我们经过配置了,那我们把这个配置拿掉,大家可以再看一下。What good?重启服务器。回退刷新好点度这个不好用,但怎么样点action这个是好用的,因为它默认情况下它可以应答这个点action,以及没有扩展名,注意我把这个点都去掉。
06:11
这个是可以的。看到了吧。那我们在这个里边的话呢,我们把这个打开,让我们这个。应用可以应答action结尾的。二度结尾的,我还可以再加上一个逗号,就是没有扩展名的。后边嘛,没有扩展名的三个都是可以的。我们来做一个笔记。关于抓兔请求的或。哎,明分解第一个。哎,我们找到了一个配置文件,这个配置文件啊,在这个下边。
07:01
在扣这个包在。org打开。Copy这个吧,这个包儿下载这个文件。这中配置啊。库应用的一些常量,比方说像一些开关啊,像一些这个,嗯。数值啊啊,这里边配的,比方说我们现在这个扩展名,包括上传文件的大小,包括是不是可以进行动态方法调用,这里边配置的配置些常量,有哪个常量呢?哎,这个常量二有一个常量。在这这个场面指明了。
08:01
当前外部应用。当前抓当前抓兔应用可以应答的请求的这个扩展名指明。定义了吧。定义了当前抓to应用。可以。接受的请求的扩,嗯,啊,那我们怎么来修改它呢?可以在是吧。XML文件的XL文件中以常量配置的方式修改。配合中上两。这个中说。
09:00
配置的常量改的方式就是这样。拿过来大家看,在这个开之前可以加上这样的常量。C。知道吧。扩展名这块的话呢,我们可以修改,那改其他常量的方式和这个类似,OK,下面的话呢,我们来看我们这个练习。首先呢,我们要点一个什么呢?我们要点一个叫log in UI。印多挨点点住吧,因为这个时候我必须得有扩展名了哈。好了,那我通过点这个的话呢,我应该可以直接到一个页面吧,这页面我直接写了哈,我写一个呃,Login。
10:27
配了一个文件夹,又漏印点JP。建一个JP文件。好搞定,这里边的话呢,我们不需要太多东西是吧,写个表单,写个一个name可以了,Form这个。这个呢,叫。Method user name。
11:02
Input。Type name。User name找一个。Type summit不定。啊,我们首先需要。在这块点这个转到那个页面个C状图配置文件去找,咋写啊,Action名字办,我直接去那个地了,in.TP是不是这么走啊对吧,这里边的话呢,我们知道我们省略了那个。Export省略了那个省略这里边的success对吧?嗯,OK,好,这个来完之后的话,这还没完,下一个点提交哦,我可以在这里边的话呢,嗯。
12:07
干这样的一些事,这个肯定需要经过一个action,所以说我们搞一个action吧,写一个action。叫优。Action action里面我们写一个方法,Public。In,在成功做成功,好,我们看需要干什么呢?干这样的几个事哈,这两个事。C回来。第一个信息出30里边去,第二个变珠加一。那怎么搞啊?那首先我们需要写这个吧,获取session。
13:07
第二步,获取登录信息。第三步。来把这个信息放三里边吧,三的事获取session审诶,通过实现三成和外二接口,有这个三成和外二接口吗?有三成外二接口吗?有吗?这不只有那个一块子和外边接口啊,嗯,Request接口。有啊,整事儿了吗?通过实现session外接口,我们为什么会想没有session外接口啊,因为是不是有有好几个都没有second的事啊,搞到request,然后request直接那个这个有这不更好吗?是吧?来因为他ma这。
14:15
嗯。Session。过来看点session,等于session搞到第一个就搞定了哈,登录信息登录信息是个什么呀?就是个u name呗,你是写一个吧。Private。在内中心这样就可过来了,怎么说的呢?哎,因为我这块我只有一个这个U内哈,通过在action中。
15:02
添加。塞方法可以了,好了,放里边这个解单法塞点不,哎,You name。You name。好了,哎,在线人数加一怎么搞?第一个获取当前。在线人数20。当前的在线人数加一吧,当前这个在线人数是不是应该在里边啊,所以说就说哎,从。
16:05
Application中获取到application吧。Well。好了。我举一个。人数。等于application点。T就是框吗?两转你这个值可能是空吧,第一次的时候这个值不是空吗?框等于,那那我就让count等于零,没有吗?好加一。
17:14
换他那家装怎么了?赶紧再放回去吧,不。放搞定,我们这是一个贬义的一个这个写法啊,如果我们这块直接纯的是一个,比方说application里边我存的是一个这个,呃,一个对象的话,那个对象里边有这么一个属性的话,我是不是就不需要再put一遍了,懂吧,这个写完了好了,然后呢,去这个目标页面弄一下,用X我形写出来哈,CTRLC。拿过来。
18:13
走散。Log in that几个,这个名字就叫u log in。写完好了,我们写这么一个JSP。WELCOME30里面获去3SCOPE点有DNA。第二,第二来矿。
19:12
Application SCO,点这么一个效果吧,当然还有一个增出,都是我们还没写呢啊。Bra out。点out out行把这个的话呢,先跑起来看看怎么样。刷新。没问题,来几个ABC。找一个一个。复制我在搞一个Chrome。
20:01
A。是不是凉了呀,这就可以了,好了,下面的话呢,我们来研究这个灯初,大家看我点灯出的话呢,我需要人数减一吧,30失效lockout于是过来。啊,不是这个页面,这个页面logout配一下吧。我们还是来写。Out。写个方法吧。Method log out OK。这个时候的话呢,我们直接去lockout。Success,然后的话呢,页面他就可以了。
21:03
了吗?写完写一个log的方法,出的方法public顿knock out。放个out。分几步啊,又和那个相反的第一步。数量减一。第二步30失效吧。一个一个写来写一的话应该怎么写,获取在线人数,说什么弱。
22:00
数量还大于零。得点一吧,你你都已经是零,都小于零了,那你就别减了,是吧,意义不大,好了,这个时候的话呢,这个步骤还需要再写一遍,先搞这个框引。A等于application点。做一个相转,如果如果什么呀,如果count不等于到,而且point还大于零的话,就让point减减,然后的话呢,重新放一个吧,不。搞定。这就简单吧,想转为什么类型啊?三身map部吧,要用什么in invite方法可以了。
23:19
不要啊,点点。In欧找一个。一。二好了,我点个log out。登出了登出了,那这个时候的话呢,我刷新这个值应该是几啊。我现在的话呢,我要一刷新的话,我有个问题是什么呀,我是不是啊,那我就这样写吧,你要是这么刷新的话,这个值是二,为什么呀,你刷新的话,你是不是又找了一个log方法呀,但我可以直接这么写,我手工的写这个log in。
24:22
这个时候这个值是一半,是一半,这个懂吧,好了,现在我登录大家看。是二吧,再刷是不是二了,能理解吧,我这块我点个灯出。再刷是不是一了呀,但是我要这么整不行。12吧,我再刷一个这个就是几了,是不是删了呀,就是重复登录了嘛,相当于是吧,我没有对这个做处理吧,懂这意思吧,所以说的话呢,我要是想刷的话呢,我得从这个页面直接刷,我们做的不是那么严谨,但可以把我们前面学的知识的话呢,做一个很好的使用和复习,行了,这就是我们写的这个登录和登出主要的这个思维的这个,呃,方法的话呢,都是在这个action里面来实现的,看一眼。
25:25
具体用的是session跟application对应那个map吧,而且当初的时候还用了一个session map进行强转,搞了一个validate,其他的没什么。
我来说两句