JSP page指令中pageEncoding与contextType去区别

        首先我们应该知道,JSP页面在被客户端请求时首先会被服务器翻译成Servlet的java文件,然后编译成.class文件,最后执行输出至客户端。

pageEncoding

<%@page pageEncoding="UTF-8"%>
 pageEncoding是告诉服务器当前JSP页面所使用的编码格式,方便服务器将JSP页面翻译成Servlet。所以只要与当前JSP页面保存时使用的编码格式相同就不会出现乱码。

contentType

<%@page contentType="text/html;charset=UTF-8"%>
contentType与response.setContentType()作用相同,它共有两个作用一是设置响应字符流的编码,二是设置content-Type响应头

          则客户端访问一个JSP页面时可以分为如下三步,如下图:

          1. 服务器通过pageEncoding可以知道当前JSP所用编码,然后将JSP页面翻译为Java文件,并转码成UTF-8.

          2. JVM将UTF-8的Java文件编译成.class文件

          3. 服务器通过.class文件执行结果转换成contentType所指定的编码格式,并输出至客户端。

          还有要注意的就是pageEncoding 和 contentType的默认值都是ISO-8859-1,但是如果设置其中任意一个,另外一个也会与其值相同。

           

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值