00:00
呃,行了,咱们来看一下啊,就是点这个啊,比如我修改是吧,这个123改成456啊就改完了啊,把这个改成银行密码改成一啊密码改一下,改完之后就保存了吧,我一保存不就修改了吗?是吧,咱们该做这步了吧,行就做这个吧。做这个的话,咱们看一看啊,一起来做一下吧,这个打开打开。啊,这边呢,我做的时候啊,你就心里想的啊,就当你在做一样。这样的话,就等于做了一遍了。就是说我在写这步的时候,你你哎想一想下一步该干嘛,下一步该干嘛,就当你你在写一样啊,你不要在这我写的就是我写什么就是什么啊,我写错了还是什还是错啊行,咱们来看一看,这叫修改用户信息啊,重点是哪个呢?就是说修改信息之后跳转到什么分页查询页面。
01:03
啊,关键是什么呢?在哪一页修改在哪一页啊这个。啊,一页修改还有什么呢,回到那一页啊。啊,这么着吧,啊这边呢,我们来看一下啊,怎么去做,首先呢,我们入手点肯定在保存上面。啊,那这个页面的话你也知道哈,这页面是看不出来,那只能看见个thread了,但是呢,这个页面你知道吧,是因为之间这thad跳到这个页面了是吧,这个JP是个什么JP呢。是一个update吧。打开它啊,你你在这上上午不是做那个叫什么面向对象那个那个校验了吗?你就打开看看。这个啊,这不这个成功了之后,他就提交表单了,在哪在这提的吧,提过去了啊,这边就是更新吗。
02:05
行了就这个了,来复制一下,咱们接下来呢,就开始呢,在这边开发呢,啊,这边我还要讲一个东西啊,没有这个东西咱们没法做。能更新吗?你觉得现在更新用户信息,那你能更新吗?你觉得。你看我就一写到这,我就知道它不能更新,更新不了。因为啥呢?因为我看这个界面就不行,我一看这个界面就有问题,嗯,是吧,行是不是有问题啊。啥问题啊?一更新呢,你肯定会想那个。搜狗语句怎么写的?来这边咱们写一下。继承啊。
03:15
好,这边呢,咱们加上。啊,你写错写错了啊,来,再来。重写啊,不是这个这个是吧,行吧,啊是这个。你这波信息里面有一个信息拿不到。我们在以前说过啊,在一个表单里面向服务器提交数据的时候,他只能是什么提交这个他提交不过去。他只能提交用户姓名,用户密码,确认密码跟银行什么什么机构类型是吧,这能提交过去,但是这个像这种普通文本是不是不会发过去啊,所以我们学过隐藏域吧啊还的呢,所以我们希望呢,呃能发过去,但是呢又希望用户看不见。
04:04
是吧,实际上发的不是这个啊,在这呢,给个隐藏域行吗?啊看不见,但是他会发了,咱们加上去吧,啊,我就懒得再再再到最后再加了,这边我想到了有个form是吧,这这这往这看有用,有个用户代码了,这个用户代码在这肯肯定是发不过去的啊,在后边你给加一个什么?哎,你给它加个隐藏域不就行了吗?对吧,你加上它,那就写上叫your code吧,那value就写上吧,Value是谁呀?那就是它了,跟他一样,它是123,这边是不是就是123啊,记住啊,这不能有空格啊。比如就粗心了,这加工他其实也不是人,他是他是手一哆嗦加上你的。就这错误,能找能能找能找,一天都找不着,不好找。这一看,哎不对呀,这哎这用大么是123呢,看半天了,因为你空格看不见吧。你想一想,你加了个debug,你调试的时候你加了个断点,那最后这个乘绩输出那个U点扣的是个U点扣的没问题,就表面看123跟这一模一样啊,就是123呢,他自己去数据库里面查一下这个来句啊,写了半天123对呀,能查询数据。
05:15
故事能更新就半天更新不了,这种情况太常见了啊。所以其实就是个粗心吧,啊,这边咱们这个空格得得去掉的。你想底层是这么一个语句啊,叫什么update t user是吧,Set等set什么叉叉叉是吧,逗号叉叉叉逗号叉叉叉Y条件是吧?右边code等于后边呢,本来写的是123就对了,这就行了,但是你非得加上空格,数据库里边没有123空格这个数据。啊,数据库里面只有123,所以它不认是吧,所以有的时候啊,我们有的时候需要在程序中写一句话叫tri,这叙述前后空白是吧,那这个,但是咱们这个成句的细心点吧,啊咱不加trip这块的话,你就不要往这再额外加一个空格了,你说这个里边加空格,那你再加那也是没有关系的,因为整体。
06:18
是加了是吧,你不要往这加,你往这加就麻烦了,来这个呢,你注意点吧,啊行了,这个我多提议啊,如果你有这个错误的话,你就给他改正一下,有很多错误其实很莫名其妙。写了半天觉得哎,不对。程序运行不出来,怎么找也找不出来,找了半天急的不行。为什么呀,因为东西多呀,是吧,做不完啊,做半天就是老半天整这么一个东西,一天哪能做的完,咱们来看看修改啊呃,把这个用力打开,呃,这个啊。
07:02
这个该做这个了吧,嗯,修改了啊,那把修改做一做这个,这个就是简单的啊发一下行了,就这个来双击打开,咱把这个角色再拖过来啊,还是它翻开吧,撕来吧,你这都一样的,最后呢是个啥呀。最后不是一个JSP啊。最后是一个serve ne,你你修改完你得分页查询吧,所以这块你得注意啊,你想这个都得想到了,这是一个更新用户信息等s light下边这边呢,应该我猜都猜到了,它是个斜杠page query Yoga分页查询用户信息问号page number还等于动态的是吧,动态的是这么一个东西。啊,大点来,咱们给它大点啊。太大了。
08:00
行。肯定是这样,你大体想一想,是不是你肯定是调它完了之后呢,调它它就更新了,它一连数据更新完之后,你肯定得分线查询吧,你跳到分线查询这个页码怎么办?这动态呀,是吧,这个页码它不是死的,你想一想这个页码是不是得得是你在第二页改的,你这个这个就是二,你要是在第三页改的,那这个就是三呗,那你写三不就到到第三页了吗?是吧,所以这个东西呢,你得看一下啊,来它来它掉,它得获取信息,然后连接数据库吧,直接更新语句吧,重镜像呗。是不是更新重进向啊,重镜向之后呢,就是整合啊,这个还得往下走了啊,这个我就我就不管了啊,这个整合得了啊,他就返回了啊,行了,我就不再具体化了,实际上这个S的话调的是另外一个了啊来咱们往回就行了。嗯,行吧,这边咱们行就这样。
09:02
大概我写一写啊,这是一个什么,这是获取用户信息,拿到用户信息之后呢,其实就是连接数据库啊,没什么可写的,执行更新语句,执行更新语句,返回这个更新结果,然后就在这干什么重定向啊,重定向就过去了,这就不画了啊,没什么可画的重点,其实这个就是讲一讲啊,大家能不能把这个页码给我找到,能把页码找到咱们这个就算成功了啊,其他的咱们都做过,行,咱们一起来写一写,这边写的话应该是拿信息呗,这个一个这个一个吧,哦对了,这个是隐藏域。是吧,那这边的话咱们user password吧,还有一个叫org type吧,行了,就这么着吧,啊,这个呢,咱们就老规矩了啊,Get parameter这边写上去user code啊,这个呢,你在写之前呀,我希望你能够再翻一翻啊,翻一翻这个JT,你这样呢,看看这个name到底写了没有,你不要一个劲的写啊,这个name是吧,叫user nameme name叫user pass overw。
10:21
下边机构类型的name容叫org type,刚开始的时候这个页面啊,它给的不是这个名字,还记得吧,他这个org type给的是一个好像我记得好像是个select来着,给了这么一个东西。有同学就没改。就那个没改呀,没做好准备工作呀,然后干什么了,就在拿了,拿完之后呢,这也写了,叫org tab,心里想着这是org tab写完了。网页上有吗?没有。然后结果一更新,把什么更新就空了。这是浪啊,你拿着这个浪去更新数据库的,数据库不变更不变更才怪呢,是吧,最后机构类型空了。
11:04
所以呢,小心点啊,仔细一点,这个东西得改一下。你想这个东西还是那句话,不用记啊,你说我写了多少你都记下来,这都没必要啊,其实就是思路啊,你有思路呢,你就明白这个东西哪出问题了,你要是没有思路,那这边的话就很难说了啊,其实我这个编程习惯不太好啊,我是不懒得翻了,正规的编程习惯应该打开它,从这复制是最好的,这边是select,那这边复制就把这个select是不是复制过来了,是不是一错就就错到底了,错到底反而对了。什么不改名啊,这个我非得叫or t吗?我就叫莱对吧,写完之后行了,就这么着了,那这是or行,把这个复制一下,那就是它呗,复制粘到这呢,就把它粘到这了,这就不久啊,你想看。是吧,所以这个东西其实你看看怎么写啊,这种编程方式的话,还是得好好的琢磨琢磨啊,不能说编写点东西写一点就错了,写一点就错了啊行这个呢,咱们叫。
12:10
你看写错了吧。对吧,下边呢,咱们就连数据库了啊,这个连数据库呢,咱们写了有上百遍了,我可以这么说的啊,咱们这个连数据库呢,这六步应该记住了啊。行,咱们或许连接啊,还好啊,咱们还有工具类啊,要不然咱们这个东西还得费费半天劲再写啊好,这边咱们写上lo,我说一下啊,就用这个买一开发的时候呢,这个额外的键不要敲啊,额外的键不要的桥什么意思,比如说这个吧,这个。这个你在写的时候怎么写呢?写上这个括号就行了啊,你敲回车就行了,它自动生成了啊,你不要说你用这个工具啊,完了之后还这么写。
13:00
是吧,你写双引号它就生成了是吧,你不用是重复去写了,所以有些东西的话,开发呢,你看怎么去开发,嗯,你看我这个格式也没怎么着,但是下来之后呢,这个格式还是差不多的,不怎么乱。不要加一些额外的键啊,你就敲单词敲空格敲回车啊就完事了,有些东西呢,就自动生成了啊,来close吧是吧,你这边都回车就行了,这个没有你就写个空就行了啊。就这样就可以了,行了,这边的话咱们写一个circle语句吧,这circle语句怎么写呀?这个更新吧,是吧,Update he user是吧,That user name等于问号and user pass word等于问号and。对吗?这样写。想想写对吗?哎,你有同学就写错了啊,这语句写半天啊,这个错了不是按呢啊,是逗号,逗号是吧?ORGPI等于问号,Y条件u code的等于问号。
14:15
对吧。修改用户名密码,机构类型条件是一个扣的嘛,所以这个时候呢,咱们就编译吧,啊编译啊好,我说一个问题啊,我发现好几个学生这句话都不写。这句话不写。啊,直接干什么呀,叫set string了啊,给这个问号赋值了,叫什么name是吧,你也不看看,这都爆黄色了。往这儿看。哎,你就你多注意点啊,我说一下啊,这个这个你这程序中呢,出现这种黄色警告的话,你要留神了,不是说你这你这出现一个红色的,你就看一看,出现黄色的你就不看了,有的时候黄色也是有帮助的,明白吧,比如像这个变量吧,为什么是黄色的呀。
15:21
因为它上面没有用,你想一想,你说你在整个程序中这个单词都没有用过,你写这么一个变量的话,是不是就浪费内存了,所以他提醒你了啊,那你这出现这个警告,那就看一看了,这个为什么怎么能出现警告呢?啊,整半天这个东西没创建,还是浪级别的。掉了,附上值吧,第二个第三个,第四个一定要记住啊,第一个问号是user name,第二个问号是user password,所以这个不能叫什么张冠李戴了啊来org type是谁啊,Org type吧,最后这个u code吧,这才是u code啊,所以你不要写偏了,你不要把这个东西放到第一个位置上。
16:01
你这不是随本共时的啊,然后就执行吧,啊点of啊接下来在上面呢,我们生一个变量一零啊写上去。我们在这写上去if,如果can等于等于E啊,Response redire就行了啊。这边的话写一个吧,Page query page number等于234,反正是个动态的吧,先写个一吧。我我说一下啊,这个东西不能写啊,应该打开它复制的,这不是有一个分页查询吗?你把这个路径从这复制一份。你复制的才不会出错,你写下的东西就可能出错了,删掉CTRLV啊就这样。因为呢,我一般命名是严谨的,是有规范的,明白吧,所以呢,我也可以不复制,我也可以直接写,其实这是一个编程习惯啊,我提的编程习惯提过好几回了,像这种东西你就你一般呢,从写成语到到最后呢,你一般都是什么呢?有规范,你规范是满足的,所以这个时候你还是按照那个规范去写,就一定不会出错了,你看我写程序很少出错。
17:18
是吧,很少出错,那不会什么第二个字母什么,多了个字母,多了个空格,少个空格,不会这样。这其实是有。有些东西是默认的一些规范,按照规范,当然这个规范不一定啊,是你自己心里的一个规范了,这个问题名怎么命名,你说你这个单词小写还是大写,你这是自己说了算的。啊,所以这个呢,就是个编程习惯吧,啊,有的好的编程习惯其实也会提高你的开发效率,因为你不会老错一错一错一错错的烦了是吧,开发你就就就就就很烦人啊来咱们一起看一下啊,这边呢,我给它停掉,停掉之后呢。我给他部署一下,哎,点它点它部署OK,把服务器启动啊,启动之后呢,没有错啊,先看一看这个没有问题,清空,然后这边呢,我给它关了吧,重新再来吧,打开我更新一下啊,大家看一看,我点登录啊,我先更新吧这个嗯,大家看啊,现在不是在这儿吗?我就更新这个吗?我不喜欢123啊,我喜欢三二一来。
18:21
这边改了321,改完了来保存,你看就变成321了,这就改完了。对吧,但是你说你现在翻到第二页了,把这个关于改一改,你说修改改了之后呢,这边改改一改啊擦擦擦擦改了,改完之后保存了,保存了之后你看回到这儿呢,对吧,你下一页在这呢。是吧,所以啊,我说一下啊,你在哪个页改的,你最后是不是还得回到哪一页啊?我突然想起来还有一个问题乱码没解决。是吧,就是老得写这句话烦人是吧,这个。
19:02
然。那你这写一遍,在那个类里面又写一遍,这不好。啊,像这种代码我得封装一下,到以后再说啊,现在先这么着吧,行了,反正就是大家想一想应该怎么去做这个页码。页码在哪个页面上?我重新再来啊,我们把那个页码追踪一下吧,行不行,把页码追踪一下啊,来打开打开啊。点登录,大家想在这个页面上有个页面,是不是应该把这个页面传到下个页面上,你只要你看啊,我比如翻到最后一页吧,在最后一页这不有李四吗?我把李四改一改,选中啊,这是最后一页,这个上面肯定有一个有一个变量,这个变量是什么呢?你可以看一下。呃,是吧,是这个数字叫四吧,四这个数字你想一想,这个数字你点点修改的时候,你会提交这个用户代码,那么同时你是不是也可以提交一个页码,这个页码是四,你只要提交过去,想一想到这个页面,这是几次请求?
20:09
是不是一次性求?他要不是一次紧急就完了,他在这是不是取了一个最后一个页面的李四,在底层执行了一条查询语句,执行完之后把李四查出来,查出来之后存到了那个范围对象里边,Request存到request范围里边之后,你好好想一想,是不是跳转到下一个页面啊,在这个页面上是不是把那个request的数据取出来,在这展示了一下啊,那整个过程这肯定是几次请求啊,那肯定是一次啊,因为request里面是不是有数据啊,所以你在这个页面上是不是提交了一个四啊。你在这个页面上提交一个数字四,你想一想,我在下一个页面上,在这个页面上能不能把这个字再取出来。行吧,那我试试吧,来在哪提呢?现在提交了吗?还没有提交是吧?怎么提交,能不能写个隐藏域。
21:03
把四提交过去,这个页面在哪呢。好说吧,这经常做了,就这俩呗,这个这个GP里面,你看你不是在这,你看放表单吗?你这里边有个有一个那个变量吗?你往上走这是个变量吗?几呀是四吗?这个是四的啊,那么接下来你就提交吧,怎么提交,你反正会提交这个表单,你只要一提交表单,我可以写个隐藏语嘛,对吧,写隐藏语,写完隐藏语来这加一个type类型,那就是hidden嘛,Hidden啊,然后name,那就是page number one value6那就是几啊四呗。是吧,你就不要写这个,你写这个动态的写它就行。是吧,那你就提交过去了啊,隐藏域方式,提交页码隐藏域啊隐藏域方式。提交页码,把页码提交过去之后,它这个页面跳到哪个页面了。
22:02
啊,这个页面跳到哪个页面了。是这个页面吗?这个页面是什么页面是update吗?所以诶就在这吧,啊就是这样跳到这了吗?跳到这之后你想一想,将来是不是要点保存一点保存是不是要把这个页面提交过去啊,怎么把这个页码提交过去啊,是不是还是隐藏域啊。是不是点保存还是隐藏域吧,来这个页面上就可以拿页码吧,来你看啊,在这写一个什么。Input吧,来type吧。哎,太。类型什么类型had name,什么name page number吧,Value,什么value是四吧,在这个时候呢,这个地方怎么办?这个地方你就拿就行了,是request的点,不是get attribute是get parameter叫take。
23:03
你想你是不是在这隐藏域给提交过去了,这是个Java变量吗?这是不加个变量吗?再往上这呢,你在这你说你提交了,把这个四给提交过去了,这是一个name,这是一个value,这是一个input,这是个form表单,这个一定会提交过去,Page number等于四提交过去之后,我们到这个JSP里边,是不是通过这个request调get这个方法是不是可以把这个取出来再放到这,这是不是还是四啊,那么接下来你想一想,我是不是还是个隐藏域,那我将来我点这个保存的时候,会不会提交这个字啊,那所以就这么写就行了啊,这的话你看一看怎么写,就这么写啊,是request.get所以这写什么,这写什么,你看这个JB他提交的是个什么,你这叉叉叉,那我就把这个叉叉叉对吧,就把它复制一下放过去。那你这是写的正规的还是page number是吧?你这是page number的话,到这个页面上,我是不是从request里面取还是取page number取出来就行了。
24:03
这就提交了,这还是是有隐藏域吧,还是使用隐藏域啊隐藏域提交页码。它是先通过这个JB跳到这个ZB之后,先取,取到放到这儿之后。我们点那个保存,才会把这个页码提交过去。啊,所以要注意这个问题,行了,那咱们试试吧,啊点它我就在第三页吧,大家看这是第三页吧,接下来我把国王改一改啊,点它点修改国王二。好,直接保存。啊,这没改。怎么改呀?你这边有个隐藏域,是不是把这个页码提交过去了,那这样的话,我这获取就行了吗?是不是还是它。拿过来就行了啊,这就可以了,来我们再来试一下,我们再把国王二改一改啊,来国王二改一下,来点它点修改,国王二改成国王好了点保存。
25:08
你看是吧,这不还是第三页吗?这个页码追踪啊,把页码追踪下去就行了,这个一般编程都是这样编程的啊,你就这么写就可以了,肯定是可以的,点国网再修改,你把那个银行改成外国管理局,点保存让外国管理局。我这就改了啊,修改我们就算做完了。这没什么疑问吧,难的就难在这个页码的传上面啊,看你怎么传。咱们把页码传下去,首先隐藏一的方式提交,然后从快把数据接过来之后再隐藏,隐藏之后再提交,提交之后这个类里边直接调那就可以拿到了。拿到之后呢,放到这,这个就是动态的。行吧,就这样做就可以了啊,嗯,这是关于这个东西。
26:02
现在这个例子做完了,这是第13,修改用户信息,主要是页码追踪。
我来说两句