00:00
那么我们再接着来看今天的任务啊呃,首先呢,我先来新建一个啊,我先来新建一个model。Model在这儿。然后Java选择web application,然后点击下一步。Project。第八个Java web。那么这边我写一个叫。啊,我写一个,叫我们先来看一下。下一步。外边印粉没错,好,这边个index.jsp可以删掉不要。来,我们一起来看一下啊。嗯。我把这边全部关掉啊。我在这个地方,我来新建一个read me。我们今天要讲什么内容呢?第一个我们先看一个最基本的一个问题啊,叫设置编码。这是第一个小的知识点,其实很小啊,第二个我们需要看一下S它相关的规范。
01:03
或者叫的继承关系。继承关系。第三个我们需要看一下的生命周期。哎,我们一起来把它看一看啊。好,这是我们需要讲的知识点,然后紧接着呢,我们需要看一下HTTP协议。第五个我们需要看一下叫HTTP或者叫绘画吧啊。叫绘画?到底啥玩意儿叫绘画?这是我们今天保守估计,我们今天必须把它讲完的,如果说大家接受的比较顺畅的话,我们需要把第六个把它看一下,第六个叫time。这个读time。或者读sameif。啊,或者叫什么timeni,随便你怎么读。一般程序员,很多程序员发音都不准,这很正常的,不丢人。啊,所以说你不要去和别人较真,到企业里面去,不要和别人较较真是吧,你读的不对,没必要别人读啥你就读啥。这个技术没关系,这是人生哲学,好吧,嗯。能能能知道我在说啥吧,OK。
02:02
来,再接着看啊。我们来看第一个叫设置编码。设置编码。诶,我们回到昨天的这个话题上来啊,同学们。零七。我们这边有个页面叫ad.h me。我先把它拷过来行吗?同学们好。把它放到web里面去啊,其实我直接在pro键的零七里面写也行啊,要不这样我就在里面写吧,到时候我把这个pro键零七也放到今天国际的行吗。a.HTL这是页面,我们会一个问题,同学们啊,大家一起来看一下啊。会有一个乱码的问题,咱们同学昨天就已经开始问我了。PRO07没错,你看我这边我是不是把哈零幺把它加进去了呀。啊,你不加他默认访问的是index点。那行。那我现在我就直接启动嘛,行吗?同学们我启动一下。现在呢,我们把这个名称啊,或者备注啊,咱们加一个中文来看一下。
03:16
OK,这边没有问题,他正在启动。大家发生一些错误的时候,你不要害怕,请你看一下控制台有没有报错,另外这边还有两个选项卡啊,你要顺便把它看一下,看这边有没有报错啊。好,稍等一下啊。哎,他怎么浏览器没打开啊。难道我这边也错误啊,不可能吧。已经部署好了呀。哦,他这边已经访问了。哦哈,01点下去没有。他怎么报了404啊。
04:01
哎,我这里面不是HELLO01,我这里面是叫ADDHL是吧,同学们,所以他报404报就报呗,无所谓,把它改掉。ad.h秒是吧,同学们叫回车。为了他下次不报错,咱们就在那边把它改一下,是不是把这玩意改掉。ad.h对的不行,应用OK好了。再来回到页面上去,我们就在里面加一些内容吧,比如说我们加一个那个叫什么,叫什么苹果来着,什么阿克苏是吧,阿克苏苹果。现在苹果好像价格还蛮便宜的啊。五价格五块钱,嗯,库存100斤,这个叫阿克苏,阿克苏就是牛是吧?行我们点击添加。那行吧,应该是添加成功了,我们到控制台看一下啊,Debug这个你看是不是添加成功啊,那我们到数据库看一下。好,找到我们的DB打开打开。
05:01
我们看一个。呀,这这我们同学昨天加的,好像是这是我做那个批处理加的。是吧,那行啊,同学们你看这。是不是乱码了啊,它出现乱码,他怎么会出乱码呢?假设我现在我不知道。我怎么来调试呢?我找到src,我找到这,大家在调试代码之前,一定要先把你这个代码的逻辑先搞清楚,我们当前的逻辑就是先有先看到表单,然后表单上面点这个按钮,点这个按钮是不是给这个料发请求,那就也就意味着是这个方法。所以我把断点式的这。我把断点放在这儿。好,我们一起来看一下。我到页面上去,我再刷一下,表示他再次发一次请求,就把我刚才的数据再发一次,能听懂吗?点继续。好,发过来了,你看断点在这了。前提是你一定要点这个小虫子。不要点运行,昨天这个我特地强调的啊,还是有同学会点这个运行啊,一定要点这个debug模式,这样你就有方便调式好往下走吧,当前这第17行有这个背景颜色,表示即将要执行第17行代码。
06:05
点这个单步运行叫step over单步运行点一下咱们看一下FM这。看到了吗?那说明我这边所获取参数获取到的就是乱码。好了,也就说我们这边需要加一句话。啊,Post方式下。Post方式小。设置编码。防止中文乱码。怎么设置呢?Request对象,它一个方法叫set characterco。Character叫字符,Set叫设置,Including叫编码。设置字符编码,我们把它设置为UTF杠八。好,就这样的。啊,就是这样的啊,我这边再写再写一句啊。Get方式啊,目前不需要设置编码啊,我们这个是基于什么呢?基于Tom k8。
07:02
他们盖的漆不行啊。通GET8之前是不行的,通GET8之前如果是get方式,请求我把代码写在这儿,大家简单了解一下啊。我写的这边。好,我只要加这句话,我们的乱码问题就能解决了,一会儿我再带着,带着大家再看啊,我先把它写下来,如果是盖的方式。如果是get的方式,同学们。我们获取到FM怎么做呢,好。如果是get请求发送的数据啊,发送的中文数据。转码。转码稍微有点麻烦。Tom吧,之前。比如说第一步我先获取到FM。那这个刚刚我们已经看到了,它获取到的是乱码,对不对,怎么办呢?FM.get bits。ISO-8859杠幺,因为通它底层的这个编码就是ISO-8859杠幺,我指的是通盖八之前它默认使用的就这个编码,我们先把字符串打散成字节数组。
08:10
第一步,将字符串。打散成字节数组。这第一步。BY的第一步。第二部啊,第二部。将字节数组。按按照设定的编码重新。重新组装。转账成字符串。什么意思呢?FM等于new string是不是重新组装?60G里面给了一个自己的速度八一次。按照你想要的编码方式,UTF杠八。哎,这个就比较麻烦了,那你想想你FM需要这么组装,其他的如果有中文的是不是也要这么组装,这是get方式比较麻烦的啊,但这个方式呢,目前诶,大家还是比较幸运的,用的基本上都是通GET8啊,所以说你这个只要你不用通盖这个八之前的啊,一般这个都不需要这么麻烦。
09:09
稍等一下啊,我把这边注释掉。行吧,同学们,我把这边注释掉行吗?目前这个方式大家可以不用关注啊,但是post方式下设置编码这句话还是要写的。只要你写了这句话。那么下面的或许有中文,他也不会是乱码。那么要注意post方式下设置编码,防止中文乱码,稍等一下啊,我把这个注释把它剪切放在这。行不行和他挨在一块啊。需要注意的是。需要注意的是。设置编码这一句。必须在。所有的获取参数动作之前。什么意思?这句话你必须放在所有的获取参数之前。如果你把这玩意儿。挪到下面一行。这就不对了。
10:01
FM就是乱码,注意后面的mark也会是乱码。能听懂吗?有人说老师这句不是设置了吗?你是乱码,我还能理解,怎么下面也是乱码呢?不行的同学们,这句话必须放在第一行,能听懂吗?必须把它放在第一行,然后你请你再去获取。啊,这个细节我就不去给他演示了,我们直接演示一下正确的,看他中文能不能获取到行不行,同学们。我们来试一下,那我就在这边是个断点,可以不行启动一下。好,这是我们所说的第一个问题。我把这个内容啊。根据C,我把它放到我们read me里面去。Read me在这。好,这是第一个知识点,叫设置编码的问题。好,我们写一下啊。Tom k8,稍等一下啊。他们开八之前托门开八之前。设置编码。
11:00
设置变码。如果是盖的请求方式。第一种。盖的请求方式。第二种post请求方式有两种,如果是get请求方式,我们是这样的,剪切,把它拿过来。是不是同学们啊,也是这么去这么去写。那么第二种如果是破请求方式。那么我们把代码拷过来,POS型的方式就这么一句话,CTRLC。好,把它写在这。好了,这是通GET8,之前我们设置编码。再来,回到这边来。如果是Tom盖八。开始啊,设置编码啊,只针对啊只需要。只需要针对的方式,所以我们把这条再拿过来。Could you see。
12:00
再拿过来。啊,放在这边就可以了。那么。好,这就删掉。我们需要注意的是啊。最后一点,第三点。好,这是通盖八之前设置编码这种是稍等一下啊,把这边稍微注释一下。把它缩进一下啊,放进去。好,这样就没问题了,好,然后呢。注意,我们写在这啊,注意把这行拿过来。需要注意的是,不管你是什么版本啊,设置编码这句话必须在所有获取参数动作之前是吧?设置编码啊。这句话代码一定要在获取参数动作之前啊,注意一下。那现在咱们程序已经运行好了,我们到页面上去看一下啊,阿克苏苹果价格五块,库存100,阿克苏就是有添加。好,进来了,咱们看一下FM的值。回到这边来看一下啊。
13:01
把他们全部清掉,我们点击一下单步运行点它。好,你看。刚才是乱码的吧。现在他就不是了,所以现在如果我们执行,我们到数据库去看一下。到这边来,咱们看一眼,刷新一下。是不是啊,这个数据就没问题了啊,就加进去OK。好,这是我们讲的第一个小的知识点。
我来说两句