易截截图软件、单文件、免安装、纯绿色、仅160KB

JSP在Servlet中的几个编码的作用及原理


JSP在Servlet中的几个编码的作用及原理
 
发布时间:2007.05.23 05:25     来源:CSDN    作者:xdy3008
 
首先,说说JSP/Servlet中的几个编码的作用。
在JSP/Servlet中主要有以下几个地方可以设置编码,pageEncoding="UTF-8"、contentType="text/html;charset=UTF-8"、request.setCharacterEncoding("UTF-8")和response.setCharacterEncoding("UTF-8"),其中前两个只能用于JSP中,而后两个可以用于JSP和Servlet中。
1、pageEncoding="UTF-8"的作用是设置JSP编译成Servlet时使用的编码。
众所周知,JSP在服务器上是要先被编译成Servlet的。pageEncoding="UTF-8"的作用就是告诉JSP编译器在将JSP文件编译成Servlet时使用的编码。通常,在JSP内部定义的字符串(直接在JSP中定义,而不是从浏览器提交的数据)出现乱码时,很多都是由于该参数设置错误引起的。例如,你的JSP文件是以GBK为编码保存的,而在JSP中却指定pageEncoding="UTF-8",就会引起JSP内部定义的字符串为乱码。
另外,该参数还有一个功能,就是在JSP中不指定contentType参数,也不使用response.setCharacterEncoding方法时,指定对服务器响应进行重新编码的编码。
2、contentType="text/html;charset=UTF-8"的作用是指定对服务器响应进行重新编码的编码。
在不使用response.setCharacterEncoding方法时,用该参数指定对服务器响应进行重新编码的编码。3、request.setCharacterEncoding("UTF-8")的作用是设置对客户端请求进行重新编码的编码。
该方法用来指定对浏览器发送来的数据进行重新编码(或者称为解码)时,使用的编码。
4、response.setCharacterEncoding("UTF-8")的作用是指定对服务器响应进行重新编码的编码。
服务器在将数据发送到浏览器前,对数据进行重新编码时,使用的就是该编码。
其次,要说一说浏览器是怎么样对接收和发送的数据进行编码的
response.setCharacterEncoding("UTF-8")的作用是指定对服务器响应进行重新编码的编码。同时,浏览器也是根据这个参数来对其接收到的数据进行重新编码(或者称为解码)。所以在无论你在JSP中设置response.setCharacterEncoding("UTF-8")或者response.setCharacterEncoding("GBK"),浏览器均能正确显示中文(前提是你发送到浏览器的数据编码是正确的,比如正确设置了pageEncoding参数等)。读者可以做个实验,在JSP中设置response.setCharacterEncod


相关文档:

jsp生成html静态页面代码

<%@ page contentType="text/html;charset=GBK"%>
<%@page import="java.util.*"%>
<%@page import="java.io.*" %>
<%
//在这里如果写成“WEB-INF\templates\template.htm”程序会报错
 String filePath = request.getRealPath("/")+"WEB-INF/templates/template.htm"; &nbs ......

JSP连接各类数据库方法大全

一、jsp连接Oracle8/8i/9i数据库(用thin模式)
  testoracle.jsp如下:
  <%@ page contentType="text/html;charset=gb2312"%>
  <%@ page import="java.sql.*"%>
  <html>
  <body>
  <%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
  Stri ......

JSP避免Form重复提交的三种方案

  1 Javascript ,设置一个变量,只允许提交一次。
  #lt;script language="javascript"#gt;
   var checkSubmitFlg = false;
   function checkSubmit() {
   if (checkSubmitFlg == true) {
   return false;
   }
   checkSubmitFlg = true;
   return true;
   }
   document.ondblcli ......

JSP文件

<%@ page language="java" import="kg.TestBean2;" %>
<%@ page contentType="text/html;charset=gb2312" %>
<html>
<head>
<title>HelloBean</title>
</head>
<body>
<%--
<%
kg.TestBean2 testbean=(kg.TestBean2)session.setAttribute("testbean");
if ......

小JSP程序

<%@ page language="java" import="kg.TestBean2;" %>
<%@ page contentType="text/html;charset=gb2312" %>
<html>
<head>
<title>HelloBean</title>
</head>
<body>
<%--
<%
kg.TestBean2 testbean=(kg.TestBean2)session.setAttribute("testbean");
if ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号