contentType — 指定的是JSP页最终 Browser(客户端)所见到的网页内容的编码.
就是 Mozilla的 Character encoding, 或者是 IE6的 encoding. 例如 JSPtw Forum 用的contentType就是 Big5.
pageEncoding — 指定JSP编写时所用的编码
如果你的是 WIN98, 或 ME 的NOTEPAD记事本编写JSP, 就一定是常用的是Big5 或 gb2312, 如果是用 WIN2k winXP的
NOTEPAD时, SAVE时就可以选择不同的编,码, 包括 ANSI(BIG5/GB2312)或 UTF-8 或 UNIONCODE(估是 UCS 16).
因为 JSP要经过 两次的”编码”,
第一阶段会用 pageEncoding, 第二阶段会用 utf-8 至utf-8, 第三阶段就是由TOMCAT出来的网页, 用的是contentType.
阶段一是 JSPC的 JSP至JAVA(.java)原码的”翻译”, 它会跟据 pageEncoding 的设定读取JSP. 结果是 由指定的
pageEncoding(utf-8,Big5,gb2312)的JSP 翻译成统一的utf-8 JAVA原码(.java). 如果pageEncoding设定错了, 或没设定
(预设 ISO8859-1), 出来的 在这个阶段 就已是中文乱码.
阶段二是由 JAVAC的JAVA原码至JAVA BYTECODE的编译. 不论JSP的编写时是用(utf-8,Big5,gb2312),经过阶段一的结果全
都是utf-8的ENCODING的JAVA原码.
JAVAC用 utf-8的ENCODING读取AVA原码, 编译成字符串是 utf-8 ENCODING的二进制码(.class). 这是 JAVA VIRTUAL MACNHINE
对常数字符串在 二进制码(JAVA BYTECODE)内表逹的规范.
阶段三是TOMCAT(或其的application container)加载和执行阶段二得来的JAVA二进制码, 输出的结果( 也就是BROWSER(客户端))
见到的. 这时一早隐藏在阶段一和二的参数contentType, 就发挥了功效. (见 阶段一的 ).
response.setContentType(”text/html; charset=utf-8″);
出来的可以是 utf-8, Big5, gb2312, 看的就是JSP ? contentType的设定.
还有, pageEncoding 和contentType的预设都是 ISO8859-1. 而随便设定了其中一个, 另一个就跟着一样了(TOMCAT4.1.27是如此).
但这不是绝对, 看的各自JSPC的处理方式. 而pageEncoding不等于contentType, 更有利亚洲区的文字 CJKV系JSP网页的开发和展示,
(例pageEncoding=Big5 不等于 contentType=utf-8).
分享到:
相关推荐
在Web开发中,尤其是使用Java Server Pages(JSP)进行页面渲染时,经常会遇到`pageEncoding`和`contentType`属性,并且它们都涉及到`charset`这一概念。正确理解这些属性及其之间的差异对于确保网页内容能够被正确...
- 使用`<img>`标签调用`code.jsp`生成验证码图片,并通过`onclick`事件实现刷新验证码的功能。 ##### 2. code.jsp: 生成验证码图片页面 - **功能**:生成带有随机数字或字母的验证码图像,并将验证码文本存储到...
本文将深入探讨servlet与JSP之间的差异,并解释这些差异是如何影响它们的应用场景和技术实现的。 #### 1. 定义与基本概念 - **Servlet**:Servlet是一种服务器端的Java应用程序接口(API),用于扩展服务器的功能...
在JSP页面中,可以使用`<script>`标签来嵌入JS代码,并在其中引用EL表达式的结果。例如: ```html <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <html> <head> ...
<form action="test.jsp" method="post"> 输入:<input type="text" name="chStr"> <input type="submit" value="确定"> </form> </body> </html> ``` 如果用户通过表单提交中文数据,可能会出现乱码。此时可以通过...
<%@page contentType="text/html" pageEncoding="gb2312"%> <%@page import="java.sql.*"%> <html> <body> <% Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); %> <% String url = "jdbc:...
首先,确保JSP页面的`contentType`和`pageEncoding`属性正确设置为统一的编码格式,通常是UTF-8,这是最常用的多语言支持编码。 ```jsp <%@page contentType="text/html;charset=UTF-8" %> <%@page pageEncoding=...
<%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <body> ${sampleValue + 1}<br> </body> </html> ``` - **解析**: 此示例展示了如何使用EL表达式`${sampleValue + 1}`来...
<title>My First JSP Page</title> </head> <body> <h1>Hello, World!</h1> </body> </html> ``` 3. **部署Web应用** - 无需手动部署,Tomcat7支持热部署,只需将应用目录放在`webapps`下即可。 - 浏览器访问`...
在JSP文件中,可以通过声明`<%@ page language="java" pageEncoding="UTF-8" %>`, 这一行指定了JSP文件本身的编码格式为UTF-8,即文件存储的编码。如果没有其他指定,则JSP编译后的Servlet也会使用该编码格式来读取...
1. **检查JSP页面**:确认页面头部是否正确设置了`<%@ page %>`指令和`<meta>`标签。 2. **检查数据库连接**:确保连接字符串中包含了正确的编码参数。 3. **检查Tomcat配置**:检查`server.xml`文件中是否设置了...
本文主要讲述了JSP/Servlet中编码的设置方法以及不同设置之间的差异,并结合实际案例进行了分析。具体涉及到了`pageEncoding`, `contentType`, `request.setCharacterEncoding`, `response.setCharacterEncoding`等...
例如,如果JSP文件实际以GBK编码保存,但在JSP中设置了`pageEncoding="UTF-8"`,那么JSP内部的中文字符串就可能出现乱码问题。此外,当没有指定`contentType`属性,也没有使用`response.setCharacterEncoding`方法时...
- **兼容性问题**:不同浏览器对MIME类型和响应头的处理可能存在差异,因此在实际部署前最好进行多浏览器测试。 - **文件大小限制**:浏览器对通过这种方式接收的文件大小通常有限制,过大的文件可能导致无法正常...
这些指令以`<jsp:`开头,比如`<jsp:include>`, `<jsp:forward>`, `<jsp:params>`等,它们提供了一种标准的方式来实现动态内容的插入和控制流程。动作指令通常用于与服务器交互,动态地插入内容或者改变执行流程。 ...
charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <% String message = "Hello World!"; %> <%= message %> ``` 2. **编译后生成的Servlet类**:`HelloWorld_jsp.java` - 此文件位于服务器的工作目录中,例如...
- **JSP页面头部设置**:在每个JSP页面的开头添加`<%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>`,确保页面输出与处理的一致性。 #### 资源文件乱码规避 资源文件...
- **JSP页面**:在JSP页面中,使用`pageEncoding`和`contentType`属性指定编码: ```jsp <%@ page pageEncoding="GBK"%> <%@ page contentType="text/html; charset=GBK" %> ``` 3. **Ajax请求**: - 当通过...
确保JSP或HTML页面头部声明的字符集为UTF-8,例如在`<head>`标签中添加`<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">`。此外,也可以通过`page`指令来设置JSP页面的字符编码,例如`<%@ ...
在JSP页面中,设置正确的`pageEncoding`和`contentType`可以有效解决此问题。此外,对于处理表单提交数据时,也需要注意获取的请求数据的编码问题,可能需要使用`request.setCharacterEncoding("GBK")`来设置请求的...