在jsp页面编写中,每一页开头就有这样一句话
<%@ page contentType="text/html; charset=GB2312" %>
contentType是HTTP头信息中的一个属性,指定响应的HTTP内容类型,默认为text/Html(还有很多类型的文件)。
当然,contentType还有一个属性charset,指定编码。而jsp中还有一个pageEncoding也是指定编码,这两者有什么区别呢?
pageEncoding是jsp页面本身的编码。
contentType的charset是指服务器端发送给客户端时内容的编码。
jsp页面要经过两次编码:
第一次由.jsp转化为.java,这里是根据pageEncoding读取jsp中的内容。翻译成utf-8 java源代码(.java);
第二次由tomcat(或其它容器)载入.class文件并执行,输出结果到客户端时,charset就发挥作用了。
contentType的charset和pageEncoding的设置
两者都预设为"ISO8859-1",随便设定二者中的一个,另一个就跟着变了。(不是绝对的)
<%@ page contentType="text/html; charset=GBK" pageEncoding="GBK"%>
弄懂了这个,上次的配置文件那块就不难解释了
<action name="equip_export" method="exportSheetPart" class="MaintainListAction">
<result name="success" type="stream">
<param name="contentType">application/octet-stream;charset=ISO8859-1</param>
<param name="contentDisposition">attachment;fileName="${docName}"</param>
<param name="inputName">exportStream</param>
<param name="bufferSize">4096</param>
</result>
</action>
contentType="application/octet-stream" 表示任意的二进制内容。
分享到:
相关推荐
### PageEncoding与ContentType中Charset的区别 在Web开发中,尤其是使用Java Server Pages(JSP)进行页面渲染时,经常会遇到`pageEncoding`和`contentType`属性,并且它们都涉及到`charset`这一概念。正确理解...
### jsp中charset和pageEncoding知识点详解 #### 一、基本概念 在Web开发中,尤其是在使用JavaServer Pages (JSP) 进行网页开发时,经常会遇到字符集(Charset)与页面编码(Page Encoding)的相关问题。这两个...
在JSP(Java Server Pages)开发中,pageEncoding和contentType是两个非常重要的属性,它们对于网页的显示和数据处理起着关键作用。理解这两个属性的区别和联系是确保网页内容正确显示和数据安全传输的基础。 首先...
### JSP页面中的pageEncoding与contentType两种属性的区别 在Java Server Pages(JSP)技术中,`pageEncoding`和`contentType`是两个重要的属性,它们分别控制着JSP页面的编码方式以及输出内容的类型。了解这两个...
在JavaServer Pages (JSP) 技术中,`pageEncoding` 和 `contentType` 是两个非常重要的属性,它们直接影响到JSP页面的编码处理和内容的传输。理解这两个属性的区别和作用对于避免乱码问题至关重要。 `pageEncoding`...
为了解决这些问题,我们需要深入理解JSP中的`contentType`和`pageEncoding`这两个关键属性。 首先,`contentType`属性是用于定义JSP生成的HTML页面在浏览器中的字符编码。它告诉浏览器如何解析和显示接收到的内容。...
例如,URL中的中文参数在GET请求中需要进行URL编码,而在POST请求中,需要确保`request`对象的编码方式与`pageEncoding`设置一致,以避免乱码问题。 这里有一个简单的邮件发送JSP页面示例(preMail.jsp): ```jsp...
contentType的charset是指服务器发送给客户端时的内容编码。 JSP要经过两次的“编码”,第一阶段会用pageEncoding,第二阶段会用UTF-8至UTF-8,第三阶段就是由Tomcat 出来的网页, 用的是contentType。 第一...
如果`contentType`的charset与`pageEncoding`不一致,应修改使其保持一致,同时`<meta>`标签的charset也应与之对应。 除了上述方法,还可以通过以下途径解决乱码问题: - 在服务器配置文件(如Tomcat的`server.xml...
通过上述分析,我们可以看到`charset`与`pageEncoding`在JSP页面中的作用不同,但都与字符编码密切相关。为了有效避免乱码问题,我们需要确保从数据源到最终展示的各个环节字符编码保持一致,并且正确配置JSP页面的...
在 jsp 页面中,pageEncoding 指的是 jsp 文件本身在本地保存时的编码方式,而 contentType 的 charset 是指服务器发送网页内容给客户端时所使用的编码。因此,在 jsp 页面中需要设置 pageEncoding 和 contentType ...
在JSP等Web开发中,通过在页面头部声明`contentType`和`pageEncoding`属性,以及在处理GET和POST请求时正确设置和转换字符编码,可以有效避免中文乱码问题,提升用户体验。希望本文的分享能对遇到此类问题的开发者...
`<%@ page pageEncoding="UTF-8"%>`用于指定JSP文件本身的编码,而`charset`通常出现在`contentType`中,如`<meta charset="UTF-8">`,用于设定浏览器如何解码页面内容。当JSP找不到`pageEncoding`时,会使用`...
需要注意的是,为了保证一致性和避免乱码,建议让 `pageEncoding` 和 `contentType` 中的 `charset` 参数保持一致。 #### 2. 文件的BOM 有些编码方式(如UTF-8)会在文件头部加入BOM(Byte Order Mark)。BOM的...
- 在`<%@ page %>`指令中同时设置`contentType`和`pageEncoding`属性,且二者保持一致。 - 示例代码如下: ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> ...
如果 pageEncoding 属性和 contentType 的 charset 属性不一致,会导致中文乱码。 2. ContentType 属性 contentType 属性决定了浏览器的解码方式,默认为 ISO-8859-1。如果 JSP 页面的编码格式和 contentType 的 ...
值得注意的是,`contentType`的设置可以覆盖`pageEncoding`,如果`contentType`中包含了`charset`,那么页面显示的编码就由`contentType`的`charset`决定。如果既没有`pageEncoding`也没有`contentType`的`charset`...
如果在JSP文件中,pageEncoding和contentType的charset设置不一致,同样会导致乱码。例如,JSP文件以GBK编码,但contentType声明为ISO-8859-1。此时,需要确保所有地方的编码设置统一,通常是将它们都设置为相同的...
在示例中,`pageEncoding="utf-8"`表示JSP文件使用UTF-8编码,这是推荐的编码方式,因为UTF-8支持全球多种语言。 - `contentType`属性:这个属性定义了服务器向客户端发送的HTTP响应中的Content-Type头,包括字符集...
### JSP与Servlet中的编码处理及其原理 #### 标题:JSP在Servlet中的几个编码的作用及原理 #### 描述:本文将通过代码与理论相结合的方式深入探讨在实际开发过程中遇到的中文乱码问题。 #### 标签:j2ee jsp ...