00:00
我们来看session的典型案例。第一个使用session实现购物车。我们暂时呢,先创建创建一个简版的。后边呢,我们会写一个专业的。这个步骤哈,第一个有一个JSP说选择要购买的书籍,然后呢,去一个so,这个so就是把这个书存到。筛选里面去,然后使用重定向的方式到第二个JSP输入提交的地址和信用卡数据,然后。点提交到我们的这个,呃,第二个self这个第二个干的事呢,又是将数据保存到三审里面,然后使用一个重镜像到。Confirm的GP这个页面呢,显示嗯,书的信息跟地址,信用卡的信息,具体走的话就是这样走。
01:09
去买个Java Oracle,你还可以买很多,然后的话呢,我勾选了两本,然后。再点提交,我会到这个第二个页面,实际上这个中间是不是经过了一个SOSO已经把买的书的信息放到session里边,然后通过重镜像的方式来到第二个页面,输入姓名、寄送地址、种类、卡号。这是我以前在这个海归的时候写的哈,然后拉过来。拉过来之后呢,在这个页面上啊,这是一个页面啊,输入信息,然后再点提交。中间又经过了一个设到最后的一个确认页面,告诉顾客姓名,地址,信用卡类型,卡号,订货项目,看清了吧,哎,整个这个操作里面没有其他的数据结构,我们直接把数据存到在这里边去,所以说呢,这是一个简易的购物车。
02:11
这后边我们做那个综合练习的时候呢,我们会有一个真正的购物车,好了,大家来参照这个需求,把这个功能来实现一下,我们一起来完成这个练习,首先呢,新建一个文件夹。这里我们。然后呢,有两个GST。双减。一点点P。01点第二里边放的是什么呢?大家看上边应该是一个。是吧,这是一个什么呀,这是一个吧,然后底边底下有一个,我来写一下。
03:07
H4STEM1选择要购买的图书。整个是一个这个应该在一个里边吧,表单嘛,好了表单我提交的是process step。1METHOD,凡是表单的话,请求方式都应该是。里边是个table。天。T。
04:04
九。书名购买。第二。T。第一个书叫渣啊。然后大家看这个是单选还是多选啊。多选吧,多选应该是input type等于什么?多选check box name y6,我们几个Java。好几本书,CTRLC。第二个我们写个Oracle。
05:05
这个呢?那需要注意的是,这三个名字是不是必须一样啊,叫一吗?后面是一个提交按钮。写完看一下。就长成这样。这写啊。
06:00
在拍顶十。So busy mean。没解包的。好了,这就可以了,你选摁一个三米的不就可以过来了吗?那现在的话呢,我们写一个。直接写了哈。八。呢,写的时候一般都以结尾。这个需要写于它。Finish就可以了。好了,这个时候我们是个什么请求啊。
07:01
是不是S请求啊,所以说方法。好了,这步骤应该是什么呀?第一步获取选中的图书的信息,第二步呢。从定向页面到step吐点JP应该是哪个,具体要说的话呢,应该是在。这个目录下了啊,别搞错了。Copy。到这儿不就完了,那写吧。绘出的信息string books等于request。点get per以前要是写这么一个的话,这是不是只能选一本书啊,我现在是不是一组啊哪个。
08:07
Values吧,Get values,所以说这块是book。这应该是一个数组,我们说把它放在session里面,request.get session settribute。当然,这不忘写了啊,至关重要的一步把。图书信息放入。到HTTP3分之好了,然后的话呢,重定向一个页面,response.sendra OK OK好了,那这个时候的话呢,你看啊,这个页面啊,来的时候就是从这个页面来的,然后你在写的时候呢,你这个时候写个相对路径,直接写它也没啥问题,但是我们来写一个绝对路径怎么写啊,绝对路径首先获取contact pass。
09:08
加加它就可以了。这就是一个绝对路径。我来打一下啊。Can you see。过来,然后呢,这是第二个页面CTRLC。第二个页面的样子呢,是呃,请输入寄送地址与信用卡信息。
10:00
好了,我们先看目前的情况。刷新选了过来,诶出个什么问题啊,他说我是不是找不着这个process step1啊,这个时候的话呢,就出现了比较严重的路径问题。怎么严重呢?过来看在这个里面,这个时候这个路径的问题很严重哈,我们开发的时候都需要使用绝对路径,而不能用相对路径,这是不是一个相对路径啊,因为是相当于这个GP对吧?呃,相当于这个GP的,所以说的话呢,这个时候题跑哪来了,是不是在so car这个下边啊找这个,那你就那你就不行呗。我映射的时候怎么映射呢?我映射这个时候这个process step1是不是根目录下呀,看见了吧,那这个我要写一个绝对路径这么写。
11:02
request.get context保存回来刷新,再看右键原文件。哦,差一个斜杠是吧,再加上一个斜杠。那同样这里边儿应该也差一个记号。好。再回来再刷新,注意看。这个时候怎么了,这个时候的话呢,我说我去的是这个STEP1,哎,我这个斜杠不是加上了吗?加这这块没加是吧,加它保存再回来。好了,这个时候是不是就到到这个页面来,这个时候呢,我勾选的图书信息已经放到筛选里边了,好,我到第二个,我到了这个第二个,第二个呢,我也是一个table。
12:10
Cell pading。石灵。好,这个里边呢,呃,基本信息,信用卡信息,姓名寄送地址种类卡号。第二。TD,这TD是怎么回事啊,合并单元格两个。这叫寄送信息。第二。
13:00
TD。姓名、居住地址。Put a test name name。一中地址。Address完事好了,整个的话呢,再跑一个ctrl c ctrl a叫信用卡信息。分别是种类和卡号。
14:06
种类是个什么呀?是不是个单选啊,单选应该怎么写?Radio版。看着看吧。写个value VIA。妈。好写完最后一个呢,应该是一个提交。嗯。你找个卡号,卡号。一会儿见。
15:11
嗯。卡号。长成这样卡号啊。说D。Three。啊。行好了,这个写完之后的话呢,这个去的页面应该是,哎哟,我是不是没写form啊,没写form就不行吗?加个吧,我去的是。To,好了,我们也写一个绝对路径request.get pass过来。
16:07
转X放这。保存行了。哦。嗯。新建一个。类的第一个字母一定要大写。Next根目录下的这个路径。Next这个不要直接读post。嗯。好,这里边儿这个,呃,具体的实现方式呢,跟上一个差不多,第一个获取请求。
17:07
参数具体有几个请求参数啊,有name address hard,菜,还有一个哈。就这四个吧,看name address,看time跟car,然后呢,把请求信息存入到。LTP。三针中,然后呢。从定向页面到段。点这P就写完了,哎,第一个我需要获取一个一个的请求参数,request.canter name。Address等于request.gater address string card看等于request,点在ter card看再来string car等于request.get me看好了,写完了,下一步我们需要放session里边,当怎么写?首先获取一个。
18:29
Section等于request.get session,然后是不是要一个一个放啊,诶这个时候我问大家,你一个一个放的时候,你会有什么想法吗?是不是觉得这么一个一个放挺麻烦的呀,你想吧,所以说如果这个时候你想了,哪怕是动了一点这么念头也可以啊,哎,我好像可以把这四个变成一个对象,把这个对象放赛程里边。会这么想吧,这就是面向对象的一个基本思想,如果你想到的话,那就恭喜你,没想到的话,那现在就想一下,我一个一个放就是很麻烦,所以说我可以把用户的信息,我们认为这是用户的信息哈,都封装到一个这个客户的一个类里面,那不就可以了吗?那对于我这个里边,我这个客户的类,我们写一个卡吗?
19:27
哎,我对于我就对于我这个应用的话,我只有这样的四个属性。二。干赛方法。为了有很快的这个初始化方式的话,写一个代餐的构造器,为了反射的话,再写一个无参的构造器。
20:07
CTRLF。写完了,然后呢,回来你看这个时候呢,把它们封装成一个对象。往里边一放。这就写完了,然后再重定向好了,我们还是写一个绝对路径,我现在的话呢,写的是一个绝对路径,大家可能会感觉诶。写绝对路径有点麻烦,一会儿我告诉大家,如果不写绝对路径的话,这个问题会多么的严重,我们暂时的话呢,先写哈,会让这个程序能够转起来。
21:09
嗯。好,写完写这么一个页面去。这界面就直接姓名地址,信用卡卡号,还有订货项目。People。第。A。顾客姓名。
22:06
怎么写?我目前这个写法的话呢,还有点麻烦这么写。首先我需要从30里面获取他。看。他另一个强转。最大化,这个时候这个值呢,大点get。嗯,好了,顾客姓名。地址。
23:13
卡号。嗯。卡的类型。还有指定的书生是个什么呀?书是个死,这数数啊。好,编译一下。首先的话呢,我是一个TRPD。
24:07
Books and。有哪些?这块的话呢,是一个TD,你放在一行里边啊。然后呢,这块需要进行遍历,目前无论是变历还是直接访问这个值都比较麻烦。我们。明天吧,就会讲到ell跟GSCL,那个时候页面会变成会变得优雅的多。现在的话呢,还是账号代码,那个时候是标签跟表达式,那目前这个没办法啊,For循环,我们假定一这个。加上一个边。
25:04
OK,回退刷新,看javas。写姓名。And硅谷。其中地址。北京吧。为什么不能写汉字啊?是不是会有乱码呀?因为我们没有处理乱码的问题。VISA。13455779900。他说process to,没有control c看一下。是不是有啊。看这哦,这是怎么回事,我这块的话,大家看我这块我找的是不是一个什么请求啊,我这是不是一个盖的请求啊,但这个问题还不是最主要的问题,他说这个没有。
26:05
Process to,我首先呢,我需要来改一下它。请求方式变为。Master变,然后呢,服务器重启一下。有可能没有完全加载啊。过来。爱硅谷北京。VISA123456。好用吧,这硅谷北京123456 VISA Java这个地方没有格式化啊,那整个这个过程就写完了。我们首先的话呢,把这个来做一个小结看一看,呃,难点在哪。首先呢,我需要编辑编辑这样的一个页面,这里边儿有一个问题,就是关于路径的问题,一会儿我们单独讲。
27:03
嗯。编辑这个页面,需要注意的是,这是一组check box check box,如果要是一组的话,这个name必须是一样的。然后到so,到这个so的话呢,我如果要是获取多选框的这个值的话,那么是不是get perter values啊,它反过来是一个字符串的数组,然后呢,我把这个值放到了section里边。重庆下。到到这个页面。这个地位没啥了哈,这套它我们这块的话呢,我们使用了面向对象的基本思想,诶这些个属性应该是对应的一个卡模,于是呢,我把它封装成一个卡放到了session里边,然后再重镜像到这个页面,我通过嗯获取sessionin值显示就可以了。
我来说两句