日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jsp通过include指令引入html乱码的解决方法

發布時間:2023/12/18 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jsp通过include指令引入html乱码的解决方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文轉自:https://blog.csdn.net/gnail_oug/article/details/51707061

?

在jsp中使用<%@include file="in.html" %>導入html頁面時,如果html頁面里有中文,就會產生亂碼。檢查jsp文件和html文件的編碼,編碼一致,都是統一使用的utf-8,檢查生成的Servlet類文件,發現里面直接就亂碼了。

?

通過生成的Servlet內容可以看出,在將jsp文件編譯成java類這一過程就出現了亂碼,問題肯定是編碼一致的,而設置編碼的有兩個:pageEncoding和contentType,這兩個屬性的區別如下:

pageEncoding是jsp文件本身的編碼,是指定web容器將jsp編譯成java文件時采用什么編碼讀取jsp文件。

contentType的charset設置的編碼是指服務器發送給客戶端時的內容編碼。

而客戶端訪問一個jsp文件要經過如下三個階段:

1、(第一次訪問時)web容器將jsp編譯成java文件,這個階段編譯器會根據pageEncoding設置的編碼讀取jsp文件,翻譯成統一的utf-8的Servlet類,如果pageEncoding設置錯誤或未設置,編譯出來的java文件就會出現中文亂碼。

2、由javac將java源碼編譯成class字節碼,javac用utf-8編碼讀取java源碼,編譯成utf-8編碼的二進制文件。

3、web容器載入class字節碼文件,將內容輸出結果到客戶端,這一過程內容的編碼為contentType設置的編碼。

由此可見,是由于pageEncoding設置問題導致翻譯jsp時亂碼。有兩種方式處理:

方法一:在每個引入的html文件設置pageEncoding編碼,即在html添加<%@page pageEncoding="UTF-8"%>,盡管html不能識別該指令,但通過include指令引入時該指令就能起作用了,如下:

<%@page pageEncoding="UTF-8"%>

在<!DOCTYPE html>之前

方法二:在web.xml里統一配置pageEncoding的編碼,在web-app標簽里添加如下配置:

<jsp-config><jsp-property-group><description>html encoding</description><display-name>JSPConfiguration</display-name><url-pattern>*.html</url-pattern><el-ignored>true</el-ignored><page-encoding>UTF-8</page-encoding><scripting-invalid>false</scripting-invalid><include-prelude></include-prelude><include-coda></include-coda></jsp-property-group> </jsp-config>

  方法一和方法二原理是一樣的,都是通過設置pageEncoding編碼來指定jsp將html文件include時使用的編碼。方法一和方法二任選一種即可,如果同時使用需要注意兩個地方設置的pageEncoding編碼必須一致,否則將會報如下編碼不一致的錯誤:

org.apache.jasper.JasperException: /in.html (line: 1, column: 2) Page-encoding specified in jsp-property-group (UTF-8) is different from that specified in page directive (GBK)

?

轉載于:https://www.cnblogs.com/marvelousone/p/9074459.html

總結

以上是生活随笔為你收集整理的jsp通过include指令引入html乱码的解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。