`

jsp文件头

阅读更多
在我们写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"%>

这样就服务器一定会是正确抓到“你好”了。

分享到:
评论

相关推荐

    JSP+ACCESS功能全面的新闻管理系统

    管理员帐号密码都是admin,tomcat4下运行tomcat6的话把***.jsp"%&gt;里应用的JSP文件头上加个编码,不然会乱码的。还需要改inc文件夹下的数据库连接路径,以及chang.jsp和hf.jsp的数据库连接路径。里面的视频我删除了,...

    JSTL 以及自定义标签开发相关

    JSTL 以及自定义标签开发相关 JSTL 核心标签库标签共有13个,功能上分为4类: ...使用标签时,一定要在jsp文件头加入以下代码: &lt;%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %&gt;

    jsp ajax 文件上传(包含图片)

    网上找了好多jsp ajax上传好多都用不了,我自己摸索了一番,终于搞出来了,意义就在于ajax的异步刷新,如果用表单上传必须要跳转页面,废话不多说了,里面有图有真相。在这里我说明一下,我举得例子是即时上传头像...

    IDEAN创建JSP文件的模板

    由于IDEA创建JSP时没有头部信息所以上传一个JSP模板

    JSP页面的头和脚

    用来在JSP中包含页文件和头文件! 详细代码!

    jsp头像上传

    这个一个头上上传插件,使用jsp实现,对于初学者,非常有帮助!

    Flex页面嵌入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文件或者Servlet文件时提示下载的解决方法

    如果是JSP文件,查看文件头: 代码如下:&lt;&#37;@ page contentType=”text/html;charset=gb2312″%&gt; 如果是Servlet文件,查看: 代码如下:response.setContentType(“text/html;charset=gb2312”); 您可能感...

    JSP打印\JAVA的JSP打印代码

    JSP打印\JAVA的JSP打印代码 1. 在Word或Excel中制作报表的样式。  Excel的行高和列宽单位无法用mm或cm表示。  需要计算。在1024*768下,1CM约为38像素。... Word报表文件头为: ;charset=GBK" language="java"%>

    JSP动态网页制作基础培训教程源代码.rar

    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文件的导入和导出方法集合

    jsp中关于Excel文件导入导出的方法集合,都是自己在网上找的,这是我从找到并学会怎么做用到的觉得最好的资料,集合在一起传上来,方便一下大家省的没头苍蝇那样找还看得迷迷糊糊的。

    JSP Struts配置文件详解

    @nochache:true时,在相应结果中加入特定的头参数:Pragma ,Cache-Control,Expires防止页面被存储在可数浏览器的缓存中,默认为false --&gt; contentType="text/html;charset=UTF-8" locale="true" processorClass=...

    jstl标签所用jar包

    使用jstl标签必须导入的jar包,下载后放置lib中 ,使用时在jsp文件头一定要加上这句&lt;%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %&gt;

    JSP可视化上传图片且截图

    JSP可视化上传图片且截图 类似QQ上传头像 微博上传头像

    基于JSP的BBS论坛

    文件上传模块 /WebRoot/uploadfile.jsp 选择需要上传的文件 /WebRoot/save_file.jsp 保存文件 /WebRoot/uploadpic.jsp 选择需要上传的头像 /WebRoot/save_pic.jsp 保存头像 辅助模块 com.study.util.DataContext ...

    Jsp中的table多表头导出excel文件具体实现

    主要介绍了Jsp中的table多表头导出excel文件具体实现,有需要的朋友可以参考一下

    jsp页面生成word或excel

    一、 目录 1 二、 使用JSP实现WORD、EXCEL格式...jsp文件 16 jsp设置属性为inline,浏览器打开操作 16 七、 利用JExcelApi来动态生成excel文档 17 Test.java类 17 写一个jsp,来利用Test这个javabean输出excel文档 18

    jspsmart.jar包及帮助文档

    jspSmartUpload组件会在返回下载的信息时自动填写MIME文件头的CONTENT-DISPOSITION域,如果用户需要添加额外信息,请用此方法。 原型:public void setContentDisposition(String contentDisposition) 其中,...

    jsp+js在线编辑头像大小并成缩略图

    前段用html,css加js,后端使用ImageMagicK来进行图片处理,为了方便运行deom程序,里面上传文件以及最终的图片裁减是用jsp来实现的,当然可以使用别的。如果想要运行demo的话,请把压缩包useravtar.rar,解压到...

    jsp实现,登录,插入,查询oracle数据可视化看板,数据区域实现隐藏滚动条,但有滚动效果,图表利用highcharts控件

    jsp实现用户登录,提交数据至oracle数据库,以数据化看板的形式展现,图表区域采用highcharts,数据显示区域,实现高度超过限定值,增加上下滚动,表头不动,数据可上下滚动,

Global site tag (gtag.js) - Google Analytics