JSP学习之请求中文乱码解决、Servlet流程总结

请求中文乱码解决

  • 原因
    浏览器默认编码格式:iso8859-1,而Tomcat用utf-8格式解析;
  • 解决办法
    方式一:
    使用String进行数据重新编码(万能方式,也是最保险的方式):
//获取请求参数
String uname = request.getParameter("uname");
//使用String进行数据重新编码
String uname2 = new String(uname.getBytes(‘iso8859-1’),’utf-8’)
  • 方式二
    设置请求编码格式
    (一)GET方式的请求:
    第一步:在service、doGet或doPost方法中使用:
request.setCharacterEncoding(“utf-8”);

第二步:在tomcat服务器目录下的conf文件下找到service.xml文件,打开进行如下配置:

<Connector port=”8080”  protocol=”HTTP/1.1”
      connectionTimeout=”20000”
      redirectPort=”8443”  useBodyEncodingForURI=”true” />

添加的是:useBodyEncodingForURI=”true”这句话;

(二)POST方式的请求

在service、doGet或doPost方法中使用:

request.setCharacterEncoding("utf-8");
  • 注意
    post有单独的请求数据实体,一步到位;
    Get的请求数据在URL中,所以需要两步配置;

设置响应编码格式

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

Servlet流程总结

  • 浏览器发起请求到服务器(请求)
  • 服务器接收浏览器的请求,进行解析,创建request对象存储请求数据
  • 服务器调用对应的servlet进行请求处理,并将request对象作为实参传递给servlet的方法
  • Servlet的方法执行进行请求处理;
  • Servlet的使用流程:
//设置请求编码格式
//设置响应编码格式
//获取请求信息
//处理请求
     //创建业务层对象
     //调用业务层对象的方法
//响应处理结果  
  • 数据流转流程:
    浏览器→服务器→数据库
    浏览器←服务器←数据库
发布了46 篇原创文章 · 获赞 11 · 访问量 3911

猜你喜欢

转载自blog.csdn.net/qq_42197800/article/details/93237876
今日推荐