在我们写jsp时都会写或看见下面量段熟悉的代码:
<%@ page language="java" contentType="text/html;
charset=utf-8">
在head里面也会有meta标签
<meta http-equiv="content-type" content="text/html;
charset=utf-8" />
这量段代码的区别是:
当你不指定编码时<%@ page language="java" contentType="text/html; %>
就会去 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
找 charset 。
希望下面的文章对大家有帮助。
关于JSP页面中的pageEncoding和contentType两种属性的区别:
pageEncoding是jsp文件本身的编码
contentType的charset是指服务器发送给客户端时的内容编码
JSP要经过两次的“编码”,第一阶段会用pageEncoding,第二阶段会用utf-8至utf-8,第三阶段就是由Tomcat出来的网页, 用的是contentType。
第一阶段是jsp编译成.java,它会根据pageEncoding的设定读取jsp,结果是由指定的编码方案翻译成统一的UTF-8 JAVA源码(即.java),如果pageEncoding设定错了,或没有设定,出来的就是中文乱码。
第二阶段是由JAVAC的JAVA源码至java byteCode的编译,不论JSP编写时候用的是什么编码方案,经过这个阶段的结果全部是UTF-8的encoding的java源码。
JAVAC用UTF-8的encoding读取java源码,编译成UTF-8 encoding的二进制码(即.class),这是JVM对常数字串在二进制码(java encoding)内表达的规范。
第三阶段是Tomcat(或其的application container)载入和执行阶段二的来的JAVA二进制码,输出的结果,也就是在客户端见到的,这时隐藏在阶段一和阶段二的参数contentType就发挥了功效
contentType的設定.
pageEncoding 和contentType的预设都是 ISO8859-1. 而随便设定了其中一个, 另一个就跟着一样了(TOMCAT4.1.27是如此). 但这不是绝对的, 这要看各自JSPC的处理方式. 而pageEncoding不等于contentType, 更有利亚洲区的文字 CJKV系JSP网页的开发和展示, (例pageEncoding=GB2312 不等于 contentType=utf-8)。
jsp文件不像.java,.java在被编译器读入的时候默认采用的是操作系统所设定的locale所对应的编码,比如中国大陆就是GBK,台湾就是BIG5或者MS950。而一般我们不管是在记事本还是在ue中写代码,如果没有经过特别转码的话,写出来的都是本地编码格式的内容。所以编译器采用的方法刚好可以让虚拟机得到正确的资料。
但是jsp文件不是这样,它没有这个默认转码过程,但是指定了pageEncoding就可以实现正确转码了。
举个例子:
<%@ page contentType="text/html;charset=utf-8" %>
大都会打印出乱码,因为输入的“你好”是gbk的,但是服务器是否正确抓到“你好”不得而知。
但是如果更改为
<%@ page contentType="text/html;charset=utf-8" pageEncoding="GBK"%>
这样就服务器一定会是正确抓到“你好”了。
分享到:
相关推荐
管理员帐号密码都是admin,tomcat4下运行tomcat6的话把***.jsp"%>里应用的JSP文件头上加个编码,不然会乱码的。还需要改inc文件夹下的数据库连接路径,以及chang.jsp和hf.jsp的数据库连接路径。里面的视频我删除了,...
JSTL 以及自定义标签开发相关 JSTL 核心标签库标签共有13个,功能上分为4类: ...使用标签时,一定要在jsp文件头加入以下代码: <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
网上找了好多jsp ajax上传好多都用不了,我自己摸索了一番,终于搞出来了,意义就在于ajax的异步刷新,如果用表单上传必须要跳转页面,废话不多说了,里面有图有真相。在这里我说明一下,我举得例子是即时上传头像...
由于IDEA创建JSP时没有头部信息所以上传一个JSP模板
用来在JSP中包含页文件和头文件! 详细代码!
这个一个头上上传插件,使用jsp实现,对于初学者,非常有帮助!
Flex页面嵌入jsp文件 flex-iframe1.5.1.zip解压找到flex-iframe-1.5.1\flex-iframe-1.5.1\bin\flex-iframe-1.5.1.swc放入flex项目的libs里面如果不是web项目就放倒lib里面,然后在你的mxml的头部里输入xmlns:名字(你...
如果是JSP文件,查看文件头: 代码如下:<%@ page contentType=”text/html;charset=gb2312″%> 如果是Servlet文件,查看: 代码如下:response.setContentType(“text/html;charset=gb2312”); 您可能感...
JSP打印\JAVA的JSP打印代码 1. 在Word或Excel中制作报表的样式。 Excel的行高和列宽单位无法用mm或cm表示。 需要计算。在1024*768下,1CM约为38像素。... Word报表文件头为: ;charset=GBK" language="java"%>
5 codefilter.jsp 第10章\news\incoming 用来将新闻文章格式进行转换的JSP文件 6 style.css 第10章\news\incoming 样式表文件 7 index.jsp 第10章\news 新闻浏览的主界面文件 8 article.jsp 第10章\news 新闻浏览...
jsp中关于Excel文件导入导出的方法集合,都是自己在网上找的,这是我从找到并学会怎么做用到的觉得最好的资料,集合在一起传上来,方便一下大家省的没头苍蝇那样找还看得迷迷糊糊的。
@nochache:true时,在相应结果中加入特定的头参数:Pragma ,Cache-Control,Expires防止页面被存储在可数浏览器的缓存中,默认为false --> contentType="text/html;charset=UTF-8" locale="true" processorClass=...
使用jstl标签必须导入的jar包,下载后放置lib中 ,使用时在jsp文件头一定要加上这句<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
JSP可视化上传图片且截图 类似QQ上传头像 微博上传头像
文件上传模块 /WebRoot/uploadfile.jsp 选择需要上传的文件 /WebRoot/save_file.jsp 保存文件 /WebRoot/uploadpic.jsp 选择需要上传的头像 /WebRoot/save_pic.jsp 保存头像 辅助模块 com.study.util.DataContext ...
主要介绍了Jsp中的table多表头导出excel文件具体实现,有需要的朋友可以参考一下
一、 目录 1 二、 使用JSP实现WORD、EXCEL格式...jsp文件 16 jsp设置属性为inline,浏览器打开操作 16 七、 利用JExcelApi来动态生成excel文档 17 Test.java类 17 写一个jsp,来利用Test这个javabean输出excel文档 18
jspSmartUpload组件会在返回下载的信息时自动填写MIME文件头的CONTENT-DISPOSITION域,如果用户需要添加额外信息,请用此方法。 原型:public void setContentDisposition(String contentDisposition) 其中,...
前段用html,css加js,后端使用ImageMagicK来进行图片处理,为了方便运行deom程序,里面上传文件以及最终的图片裁减是用jsp来实现的,当然可以使用别的。如果想要运行demo的话,请把压缩包useravtar.rar,解压到...
jsp实现用户登录,提交数据至oracle数据库,以数据化看板的形式展现,图表区域采用highcharts,数据显示区域,实现高度超过限定值,增加上下滚动,表头不动,数据可上下滚动,