若是遇見了illegal to have multiple occurrences of contentType with different values的問題 html
不用想 確定是編碼的問題gb2312或者utf-8或者ISO8859-1或者gbk什麼什麼 java
必定要注意編碼 否則一個小問題都整半天 apache
————————————————————————————————————————————————— app
解決illegal to have multiple occurrences of contentType with different values錯誤 jsp
做者:呂海鵬 文章來源:itstudy原創 發表時間:2008-9-27 12:01:40org.apache.jasper.JasperException: /admin/adminUser/../incs/checkPurview.jsp(1,1) Page directive: illegal to have multiple occurrences of contentType with different values (old: text/html; charset=utf-8, new: text/html;charset=utf-8) org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:236) org.apache.jasper.compiler.Validator$DirectiveVisitor.visit(Validator.java:133) org.apache.jasper.compiler.Node$PageDirective.accept(Node.java:590) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2343) org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2393) org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2399) org.apache.jasper.compiler.Node$Root.accept(Node.java:489) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2343) org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2393) org.apache.jasper.compiler.Validator$DirectiveVisitor.visit(Validator.java:100) org.apache.jasper.compiler.Node$IncludeDirective.accept(Node.java:638) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2343) org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2393) org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2399) org.apache.jasper.compiler.Node$Root.accept(Node.java:489) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2343) org.apache.jasper.compiler.Validator.validate(Validator.java:1700) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:165) org.apache.jasper.compiler.Compiler.compile(Compiler.java:314) org.apache.jasper.compiler.Compiler.compile(Compiler.java:294) org.apache.jasper.compiler.Compiler.compile(Compiler.java:281) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
checkPurview.jsp 代碼是沒有錯的,由於在其它頁面調用沒有出錯過。那麼是主文件出錯了,看了一下剛寫的頁面全是靜態內容,沒什
麼的?
仔細閱讀錯誤信息:
Page directive: illegal to have multiple occurrences of contentType with different values (old: text/html; charset=utf-8,
new: text/html;charset=utf-8)
中文大體意思:多個不一樣的ContentType值是非法的。
我英文很差,意思是理解了:包含頁面與被包含頁面的@page指令裏面的contentType不一致,仔細檢查兩個文件第一行的 @page ,
包含頁面的是: <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
被包含頁面: <%@ page language="java" contentType="text/html;charset=utf-8" pageEncoding="utf-8"%>
果真contentType="text/html;和charset=utf-8"之間多了一個空格,刪除空格,使得兩個文件的@page內容一致,再執行程序,運行經過。
我曾經嘗試着在一個裏面加上一個空格再次出現了一樣的錯誤。
總結:被包含頁面和包含頁面必須都加上@page 頭內容這個asp正好相反的,並且值要一致。一個很小的錯誤,讓我調了2分鐘,網上信手搜索了一下竟然不少人也犯這樣的錯誤,並且竟然無從下手,想來你們只要英文稍微好些就看懂錯誤提示了,看來仍是咱們的基本功不紮實了,不紮實--沙上蓋樓,終不會高...... 編碼