目录
1. request对象
1.1 get和post区别
请求类型Get与Post之间的区别?
区别一:
get重点在从服务器上获取资源,post重点在向服务器发送数据;
区别二:
get是不安全的,因为URL是可见的,可能会泄露私密信息,如密码等; post较get安全性较高;
区别三:
get传输数据是通过URL请求,以field(字段)= value的形式,置于URL后,并用"?"连接,多个请求数据间用"&"连接,如http://127.0.0.1/Test/login.action?name=admin&password=admin,这个过程用户是可见的;
post传输数据通过Http的post机制,将字段与对应值封存在请求实体body中发送给服务器,这个过程对用户是不可见的
区别四:
Get传输的数据量小,因为受URL长度限制,但效率较高;
Post可以传输大量数据,所以上传文件时只能用Post方式;
区别五:
get方式只能支持ASCII字符,向服务器传的中文字符可能会乱码。
post支持标准字符集,可以正确传递中文字符。
1.2 request主要方法
常用的两个方法为:
1.2.1 HttpServletReques类常用方法
1.3 request应用
例题如下:
servlet完整代码
1.4 get中文乱码的解决方案
对于用户在form表单中提交数据时输入中文,get请求传递数据时会有中文乱码
1.5 post中文乱码的解决方案
1. form表单的提交方式改为post,servlet里面把doPost()方法补充完整
tomcat运行,控制台输出时报错如下
原因:
解决办法:
2. response对象
1. 理解
2.1 response对象常用方法
如下:
2.2 解决输出中文乱码
如下:
代码:
解决1:
//响应给客户端
response.setCharacterEncoding("utf-8");//设置服务器端的编码格式
response.setHeader("Content-Type","text/html;charset=utf-8");
解决2:
分析:
优化写法:
response.setContentType("text/html;charset=utf-8");
注意:要在response.getWrite()方法前设置编码格式