`
zhang_yingjie
  • 浏览: 111794 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

pageEncoding解析

阅读更多
pageEncoding 作为 Jsp page 指令的一个属性,表示当前 jsp 文件的编码格式。
Jsp 需要由 jsp 引擎先转化为 servlet 源代码然后再编译 ,最后由 servlet 引擎载入执行。那么 , pageEncoding 就主要用在(建议只用在) jsp 转为 servlet code 这步,由于 jsp 引擎需要读取 jsp file ,那么就需要知道这个 jsp file 的编码,以防里面的非英文字符转化到 servler code 时不一致。
   注意: 第一次默认使用 iso8809-1 读取 jsp 文件以获得 jsp 中 pageEncoding 的值,当然无论什么编码 ( 除了utf-16 ? ) 下英文的编码都一样,这样读去开头的 jsp 指令不会有错的。

contentType:


    contentType : 用处就很多了,主要用于设置 http 头 的 content-type ,来指示 servlet 引擎以什么编码向浏览器传递信息以及指示浏览器以什么编码来显示服务器传过来的信息。


  不过在 servlet 以及 jsp 中也有点副作用了。 在 jsp 中如果没有设置 pageEncoding ,jsp 引擎 则读取 contentType里的 charset 来替代 pageEncoding 作为 jsp 文件的编码,如果两者都没有则用iso8809-1读取了,那么毫无疑问里面由中文的话,必定乱码。


比较:


    那么既然 contentType 可以完成 pageEncoding 的工作,为什么还要 pageEncoding 这个属性呢?我觉得是为了一个特殊情况, 如果 jsp 文件是编码 A ,但是想要在网络上以 B 编码 传输,以及浏览器以 B 编码来显示服务器信息,则这时候只能设置 jsp 文件 pageEncoding 为 A ,contentType charset 为 B编码 。



    一般,如果 jsp 文件编码和网络传输编码一致的话,则只设置contentType charset 即可,这也正是我以前一直的做法,不过这并不意味着 pageEncoding 没用了,毕竟还有上述的特殊条件。
分享到:
评论

相关推荐

    Android解析XML(PULL)展示到ListView

    Android解析XML展示到ListView运行后的效果图如下: 服务端的请求页面 <%@ page language=java contentType=text/html; charset=UTF-8 pageEncoding=UTF-8%> <!DOCTYPE ...

    jsp解析

    jsp指令:*"pageEncoding="UTF-8"%> jsp中的内置对象 <form method="post" action="hao.jsp"> 一:request内置对象的方法 解决中午乱码问题: request.setCharacterEncoding("utf-8"); 获取页面数据: ...

    AJAX解析XML实例之下拉框省、市二级联动

    在本例中AJAX通过解析XML文件得到的数据传回到jsp页面,其中省市均是从数据库取到的值: jsp页面代码: 代码如下: <%@ page language=”java” import=”java.util.*” pageEncoding=”UTF-8″%> <% ...

    详解Android之解析XML文件三种方式(DOM,PULL,SAX)

    1.xml文件代码 ... charset=UTF-8 pageEncoding=UTF-8%> <%@ taglib uri=http://java.sun.com/jsp/jstl/core prefix=c%> <%@ page isELIgnored=false %> ${fqs} var=fq> <fq name=${fq.nam

    Android之解析JSON数据示例(android原生态,FastJson,Gson)

    pageEncoding=UTF-8%><%@page isELIgnored=false %>${fqs } 2.json数据网页效果图 3.Android代码 布局 <?xml version=1.0 encoding=utf-8?> <LinearLayout xmlns:android=...

    JSP实时显示当前系统时间的四种方式示例解析

    @ page language=java import=java.util.* pageEncoding=UTF-8%> <% String path = request.getContextPath(); String basePath = request.getScheme()+://+request.getServerName()+:+request.getServerPort...

    JSP+Servlet制作Java Web登录功能的全流程解析

    0.新建web项目 首先,在MyEclipse里新建java web项目,项目名为...打开login.jsp页面后,修改第一行的代码为pageEncoding=”utf-8″,防止页面中文出现乱码。接下来在body部分定义form表单,用于用户输入用户名和密

    JSP forward用法分析实例代码分析

    1.首页(填写姓名)(可选,表单post到time....@page contentType=”text/html” pageEncoding=”UTF-8″%> <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.

    Ajax如何传输Json和xml数据

    ajax传输xml数据:只要把数据封装成xml格式就可以实现传输,前台js用responseXML接收xml参数,后台读取用流和dom4j来解析 前台页面 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> ...

    Ajax二级联动菜单实现原理及代码

    @ page language=”java” pageEncoding=”UTF-8″%> <html> <head> <title>二级菜单联动演示</title> [removed] var req; [removed]=function() {//页面加载时的函数 } function Change_...

    AJAX+JSP实现读取XML内容并按排列显示输出的方法示例

    @ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% response.setContentType("text/xml"); String txt = request.getParameter("username"); out.println("<student><name>张

    Ajax实现二级联动菜单

    @ page language=java pageEncoding=UTF-8%> <html> <head> <title>二级菜单联动演示</title> [removed] var req; window.οnlοad=function() {//页面加载时的函数 } function ...

    Apache Commons fileUpload实现文件上传

    最简单的例子,通过ServletFileUpload静态类来解析Request,工厂类FileItemFactory会对mulipart类的表单中的所有字段进行处理,不只是file字段。getName()得到文件名,getString()得到表单数据内容,isFormField...

    myEclipse乱码解决办法

    charset=UTF-8" pageEncoding="UTF-8"就会自动生成,不用每次去手工更改了。 新建html文件的时候,http-equiv="Content-Type" content="text/html; charset=UTF-8" 新建xml文件的时候, 六、eclipse的控制台显示...

    java 面试题 总结

    JAVA相关基础知识 1、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用...

    spring_MVC源码

    -- 对模型视图名称的解析,即在模型视图名称添加前后缀 --> 17. 18. p:prefix="/WEB-INF/view/" p:suffix=".jsp" /> 19. 20. 21. class="org.springframework.web.multipart.commons....

    超级有影响力霸气的Java面试题大全文档

    超级有影响力的Java面试题大全文档 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。...

Global site tag (gtag.js) - Google Analytics