[原创]java WEB学习笔记17:关于中文乱码的问题 和 tomcat在eclipse中起动成功,主页却打不开

本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用

内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系。

本人互联网技术爱好者,互联网技术发烧友

微博:伊直都在0221

QQ:951226918

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

两个层面:JSP的输入,JSP的获取

1.在JSP页面上输入中文,请求页面后不出现乱码

  1)保证JSP页面的编码格式是UTF-8

     <%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>

      charset  pageEncoding 一致 ,取值为UTF-8

  2) 浏览器显示字符编码和请求的JSP页面的编码一致 

2.在JSP 页面获取中文参数值:默认参数在传输过程中使用的编码为ISO-8859-1

  1)对于post请求:在获取参数之前,调用 request.setCharacterEncoding("UTF-8");

1 <%
2             request.setCharacterEncoding("UTF-8");
3         
4  %>
5         username:<%= request.getParameter("username") %>

  2) 对于get请求:

    ① 先获取参数,之后解码,再编码

1 <%
2             String val = request.getParameter("username");
3             String username = new String(val.getBytes("iso-8859-1"),"UTF-8");
4             out.print(username);
5             
6   %>

    ② 通用方法:设置tomcat的server.xml  添加 useBodyEncodingForURI="true"。这样就可以同post方法一样的方式解决中文乱码

1 <Connector port="8080" protocol="HTTP/1.1"
2 connectionTimeout="20000"
3 redirectPort="8443"
4 useBodyEncodingForURI="true"/>

参照:http://localhost:8080/docs/config/index.html  文档的  useBodyEncodingForURI 属性。为connector 添加此属性,设置为true

同样修改 eclipse中的tomcat的映射,添加同样的内容

参考:

1.eclipse中tomcat能正常启动,但是浏览器访问不了tomcat首页 问题解决

原文地址:https://www.cnblogs.com/jasonHome/p/5524427.html