java服务器端开发-servlet:202、Servlet执行过程介绍:get请求与post请求、编码相关等

声明:本教程不收取任何费用,欢迎转载,尊重作者劳动成果,不得用于商业用途,侵权必究!!!

文章目录

4、get请求与post请求

(1)哪一些情况下,浏览器会发送get请求?

(2)哪一些情况下,浏览器会发送post请求?

(3)get请求的特点

(4)post请求的特点

5、如何获得请求参数值?

6、编码相关的问题

(1)servlet如何输出中文?

a,乱码问题产生的原因

b,解决方式

(2)表单有中文参数,如何处理?

a,乱码问题产生的原因

b,解决方式:

7、常识: 编码、解码、unicode编码

8、练习:

9、初学-注意点:


 

4、get请求与post请求

(1)哪一些情况下,浏览器会发送get请求?

a,直接在浏览器地址栏输入某个地址。

b,点击链接

c,表单默认的提交方式

(2)哪一些情况下,浏览器会发送post请求?

a,设置表单method="post"。

(3)get请求的特点

a,请求参数会添加到请求资源路径的后面,只能添加

少量的参数(因为请求行只有一行,大约只能存放2K

左右的数据)。

b,请求参数会显示在浏览器地址栏(路由器会记录

请求地址)。

(4)post请求的特点

a,请求参数添加到实体内容里面,可以添加大量的

参数。

b,相对安全,但是,post请求不会对请求参数进行

加密处理(可以使用https协议来保证数据安全)。

5、如何获得请求参数值?

1) String request.getParameter(String paramName);

注意:如果paraName对应的值不存在,返回null。

2) String[] request.getParameterValues(String paramName);

当有多个参数名相同的时候,用该方法。

6、编码相关的问题

(1)servlet如何输出中文?

a,乱码问题产生的原因

默认情况下,out.println会使用"iso-8859-1"

来进行编码。

b,解决方式

response.setContentType("text/html;charset=utf-8");

注意,编码格式只要支持中文即可,比如,还可以设置为 gbk。

这行代码的作用有两个:

作用1:生成一个消息头(content-type),告诉

浏览器,服务器返回的数据类型和编码格式

作用2:也设置了out.println在输出时使用的编码格式。

(2)表单有中文参数,如何处理?

注意:

这里说的是表单有中文参数,表单post/get提交方式的编码处理问题。

初学者容易,直接写一个类似带中文的地址,在浏览器上进行测试,如

http://localhost:8080/web02/hello?name=yyh_帅气华

这样就不对了,说的不是一回事。

a,乱码问题产生的原因

当表单提交时,浏览器会对表单中的中文使用

浏览器打开表单所在的页面时的编码格式进行编码。

b,解决方式:

方式一:

step1,要保证表单所在的页面按照指定的编码格式打开。

<meta http-equiv="content-type"

content="text/html;charset=utf-8">

step2,让服务器按照指定的编码格式进行解码。

 request.setCharacterEncoding("utf-8");

只对post请求有效。

方式二:

step1,同上。

step2,

name = new String(

name.getBytes("iso-8859-1"),"utf-8");

7、常识: 编码、解码、unicode编码

a,java语言在内存当中以unicode编码格式(字符集)

来保存一个字符。

b,编码:将unicode编码格式对应的字节数组转换成

某种本地编码格式(gbk,utf-8,gb2312)对应的字节

数组。

c,解码:将某种本地编码格式对应的字节数组转换成

unicode编码格式对应的字节数组。

8、练习:

9、初学-注意

  1. 修改Servlet里面代码,无需重启tomact,但要重新部署
  2. 修改项目名:项目名,Properties,MyEclipse,Web,Web Context-root,“/当前项目名”
  3. 测试地址,多在浏览器上尝试。不要在MyEclipse上
  4. Open With,System Editor,即会打开“光影看图”等软件【方便查看编辑、复制粘贴】
  5. Web项目中:包名里面有汉字和下划线,并没有报错

猜你喜欢

转载自blog.csdn.net/YuDBL/article/details/126615326