[原创]java WEB学习笔记17:关于中文乱码的问题 和 tomcat在eclipse中起动成功,主页却打不开
Posted jason_zhangz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[原创]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首页 问题解决
以上是关于[原创]java WEB学习笔记17:关于中文乱码的问题 和 tomcat在eclipse中起动成功,主页却打不开的主要内容,如果未能解决你的问题,请参考以下文章
[原创]java WEB学习笔记11:HttpServlet
[原创]java WEB学习笔记10:GenericServlet
[原创]java WEB学习笔记18:java EE 中的MVC 设计模式
[原创]java WEB学习笔记08:ServletResponse & HttpServletResponse