JSP学习笔记(三):解决JSP中文乱码问题

JSP开发应用过程中中文乱码是个比较常见的问题,其根源是:Web容器默认的字符编码格式是ISO-8859-1。

一、ISO-8859-1是不支持中文的。假如在保存JSP页面源码时遇到该错误,只要把JSP命令标签中的键值对“pageEncoding”的值ISO-8859-1改成“utf-8”(或UTF-8),当然是建议改成这样的编码格式,也可以改成GBK。这样就可以顺利保存源代码了。

二、get和post提交表单时遇到中文乱码问题的解决方案:

(1)post提交:post请求,可用request.setCharacterEncoding("utf-8")解决中文乱码问题

(2)get提交:get请求,设置比较麻烦。可采用修改Tomcat的服务器配置来解决中文跟乱码:

即修改 Tomcat目录的config文件夹下的server.xml文件【C:\apache-tomcat-7.0.59\conf\server.xml】

修改内容如下:

打开server.xml——>按住Ctrl+F——>输入“8080”(默认端口是8080)——>跳到了如下代码段位置,然后在Connector标签中

添加URIEncoding="utf-8"这一键值对即可。重启服务器,再次发起请中文乱码就解决了。

三、不管是get提交还是post提交,其实都可以通过过滤器来解决的。编写一个编码过滤器,然后所有的JSP中文乱码问题都迎刃而解了。

过滤器编写完毕后一定记得配置web.xml文件,即注册过滤器。此处编码过滤器代码就略过了。提供配置实例如下:

时间: 2024-10-09 21:58:04

JSP学习笔记(三):解决JSP中文乱码问题的相关文章

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

本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------

JSP学习笔记一:JSP的运行机制

一.JSP运行机制:可以把执行JSP页面的执行分成两个阶段,一个是转译阶段,一个是请求阶段. 1.转译阶段:JSP页面转换成Servlet类. 2.请求阶段:Servlet类执行,将响应结果发送至客户端. 具体过程为: →→用户访问相应的JSP页面 →→服务器找到相应的JSP页面 →→服务器将JSP转译成Servlet的源代码 →→服务器将Servlet源代码翻译成class文件 →→服务器将class文件加载到内存并执行 →→服务器将执行后生成html代码发送给客户机,客户机根据响应代码进行显

JSP学习笔记二:JSP语法之脚本语法

1.脚本段:<%  ...  %> 2.表达式:<%= .. %> 下面,我们举个例子说明一下. JSP代码如下: <% int a = 10; %> <%=a%> 相应的转译文件,对应如下代码: int a = 10; out.print(a); 可以看出,表达式对应的是输出语句.所以,写成<%=a;%>就相当于out.print(a;);的话,就会报错. 3.声明:<%! ... %> 我们在JSP代码中写下如下语句: <%

JSP学习笔记四:JSP语法之内置对象

JSP有9个内置对象,分别是request(请求对象).response(响应对象). pageContext(页面上下文对象).session(会话对象).application(应用程序对象).out(输出对象).config(配置对象).page(页面对象)和exception(例外对象). 那么,这些对象是怎么来的呢?我们看一下转译文件. public void _jspService(final javax.servlet.http.HttpServletRequest request

JSP用过滤器解决request中文乱码问题

(1)客户端的数据一般是通过HTTP  GET/POST方式提交给服务器,在服务器端用request.getParameter() 读取参数时,很容易出现中文乱码现象. (2)用过滤器解决request中文乱码问题. (3)代码如下: package my; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ChineseFilter implements Filter { //

JavaWeb学习(三)----JSP内置对象详解

[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4065790.html 联系方式:[email protected] [系列]JSP学习系列文章:(持续更新) JavaWeb学习(一)----JSP简介及入门(含Tomcat的使用) JavaWeb学习(二)----JSP脚本元素.指令元素.动作元素 JavaWeb学习(三)----JSP内置对象

Servlet&JSP学习笔记

Servlet&JSP学习笔记 */--> Servlet&JSP学习笔记 Table of Contents 1 Web容器 2 内置对象 2.1 内置对象分类 2.1.1 out 2.1.2 request 2.1.3 application 2.1.4 response 2.1.5 session 2.1.6 其他 3 JavaBean 3.1 JSP动作元素 3.2 javabean的四个作用於范围 4 JSP状态管理 4.1 Cookie 4.2 include 指令与动作

Servlet&amp;Jsp学习笔记归纳图(一)

转载请注明出处!!!版权必究!! 以下是Servlet&Jsp的学笔记归纳图,详细内容以及相关代码会在后面整理完成 后给出 使用的是思维导图工具:MindManager 6 最新版本是2013,有兴趣的自己百度下载,功能更多,安装有点麻烦 以下提供版本6绿色版免安装版下载: http://pan.baidu.com/s/1jGqlnXc 本节思维导图文件下载:http://pan.baidu.com/s/1eQGbMSU Servlet&Jsp学习笔记归纳图(一),布布扣,bubuko.c

Ajax学习笔记(三)

三.jQuery库详解 1.使用jQuery之后,javascript操作的不再是HTML元素对应的DOM对象,而是包装DOM对象的jQuery对象.js通过调用jQuery对象的方法来改变它所包装的DOM对象的属性,从而实现动态更新HTML页面. 由此可见,使用jQuery动态更新HTML页面只需以下两个步骤: (1)获取jQuery对象.jQuery对象通常是DOM对象的包装 (2)调用jQuery对象的方法来改变自身.当jQuery对象被改变时,jQuery包装的DOM对象随之改变,HTM

在Filter中使用动态代理解决请求中文乱码问题

使用动态代理解决请求中文乱码问题 1.增强一个类我们常用的几种解决方案: 1.继承 a) 优点简单 b) 必须有被增强类的实现类 2.装饰者模式 a) 要求:1实现相同的接口.2持有被增强的对象 b) 优点:不必知道被增强的实现是谁 c) 缺点:必须实现所有没被增强方法的原始对象的原样调用 3.动态代理 a) 要求:1实现相同接口,2持有被增强的对象 b) 优点:不必手动实现所有不增强方法的原样调用.对方法进行增强时有类似过滤器的功能. c) 缺点:学习成本高. 代理(Proxy): 一个代理对