get/post请求
1.哪一些是get请求?
Ø 在浏览器中直接输入一个地址
Ø 表单的默认提交方式
Ø 点击链接
2.哪一些是post请求
Ø 给表单设置method=”post ”
解决中文乱码的方式:
Step1. 在服务器端编写html/jsp文件时添加,以下代码,并且表单的提交方式必须是post
<meta http-equiv=”content-type”content=”text/html”;charset=”utf-8>
作用:模拟一个http消息头(content-type)让浏览器以utf-8方式打开该页面,因为当表单采用post方式提交时,浏览器会按照打开该表单 所在页面的编码格式来对表单数据进行编码
Step2. 在服务器端使用servlet读取请求参数时:
request.setCharacterEncoding(“utf-8”);
作用: 设置解码时的编码 格式
Step3. 如果servlet输出数据 有中文,要 添加一下代码:
response.setContentType(“text/html;charset=utf-8”);
作用:
1指定out.printl输出时所使用的 编码
2告诉浏览器以指定的编码显示该页面
以下总结我遇到的一些乱码 问题:
1.在学习servlet时,没有写专门的表单来提交参数,而是直接从url中获取输入的参数,这是一种典型的get提交方式 (url如下),这里仅仅传递一个参数 "中国"
url: "http://localhost:8080/servletdemo/sayhello?name=中国"
服务器端(采用tomcat), 接收到这个参数之后,不做其他处理,仅仅加上一个单词 "hello" ,然后将其结果输出到 浏览器端, 浏览器端接收到参数后显示时 出现"中国" 乱码,英文显示正常. 看到这个问题,首先查看了浏览器的编码方式为 utf-8 , 服务器端也已经设置了默认输出到浏览器的编码格式为 utf-8, 接着在Servlet方法中输出接收到的参数,结果显示乱码,于是我在接收参数之前,设置解码格式也为utf-8 request.setCharacterEncoding="utf-8" ,再次重启服务器,IE,继续访问,服务器端接收到的仍然是乱码,这是为什么呢? 程序如下:
百度之后找到问题的原因所在.
最终解决方式:
打开tomcat/conf下的配置文件 server.xml在<Connector>中增加URIEncoding,保存,重启服务器进行测试,问题解决.
总结:
1.不修改tomcat的配置文件server.xml 中Connector情况下,使用get方式传输时,服务器端程序中通过设置编码方式 是不能够正确转换中文的
2 使用post传输数据 时可以通过这种设置编码方式转化中文