tomcat 6 部署 cas3.3.1 server 訪問報錯。

用tomcat6,結果部署後,訪問https://localhost:8443/cas 報錯 錯誤如下:

 

 

Html代碼 複製代碼
  1. HTTP Status 500 -    
  2.   
  3. type Exception report   
  4.   
  5. message    
  6.   
  7. description The server encountered an internal error () that prevented it from fulfilling this request.   
  8.   
  9. exception    
  10. org.apache.jasper.JasperException: /WEB-INF/view/jsp/default/ui/casLoginView.jsp(48,35) Attribute value request.getQueryString() == null ? "" : request.getQueryString().replaceAll("&locale=([A-Za-z][A-Za-z]_)?[A-Za-z][A-Za-z]|^locale=([A-Za-z][A-Za-z]_)?[A-Za-z][A-Za-z]", "") is quoted with " which must be escaped when used within the value   
  11.     org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)   
  12.     org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)   
  13.     org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:198)   
  14.     org.apache.jasper.compiler.Parser.parseQuoted(Parser.java:301)   
  15.     org.apache.jasper.compiler.Parser.parseAttributeValue(Parser.java:250)   
  16.     org.apache.jasper.compiler.Parser.parseAttribute(Parser.java:212)   
  17.     org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:155)   
  18.     org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1252)   
  19.     org.apache.jasper.compiler.Parser.parseElements(Parser.java:1467)   
  20.     org.apache.jasper.compiler.Parser.parseBody(Parser.java:1675)   
  21.     org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:1022)   
  22.     org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1290)   
  23.     org.apache.jasper.compiler.Parser.parseElements(Parser.java:1467)   
  24.     org.apache.jasper.compiler.Parser.parse(Parser.java:138)   
  25.     org.apache.jasper.compiler.ParserController.doParse(ParserController.java:216)   
  26.     org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)   
  27.     org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:154)   
  28.     org.apache.jasper.compiler.Compiler.compile(Compiler.java:315)   
  29.     org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)   
  30.     org.apache.jasper.compiler.Compiler.compile(Compiler.java:282)   
  31.     org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)   
  32.     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)   
  33.     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)   
  34.     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)   
  35.     javax.servlet.http.HttpServlet.service(HttpServlet.java:717)   
  36.     org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:142)   
  37.     org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:243)   
  38.     org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1141)   
  39.     org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:878)   
  40.     org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:792)   
  41.     org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:475)   
  42.     org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:430)   
  43.     javax.servlet.http.HttpServlet.service(HttpServlet.java:617)   
  44.     javax.servlet.http.HttpServlet.service(HttpServlet.java:717)   
  45.     org.jasig.cas.web.init.SafeDispatcherServlet.service(SafeDispatcherServlet.java:115)   
  46.   
  47.   
  48. note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.  
HTTP Status 500 - 

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 
org.apache.jasper.JasperException: /WEB-INF/view/jsp/default/ui/casLoginView.jsp(48,35) Attribute value request.getQueryString() == null ? "" : request.getQueryString().replaceAll("&locale=([A-Za-z][A-Za-z]_)?[A-Za-z][A-Za-z]|^locale=([A-Za-z][A-Za-z]_)?[A-Za-z][A-Za-z]", "") is quoted with " which must be escaped when used within the value
	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:198)
	org.apache.jasper.compiler.Parser.parseQuoted(Parser.java:301)
	org.apache.jasper.compiler.Parser.parseAttributeValue(Parser.java:250)
	org.apache.jasper.compiler.Parser.parseAttribute(Parser.java:212)
	org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:155)
	org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1252)
	org.apache.jasper.compiler.Parser.parseElements(Parser.java:1467)
	org.apache.jasper.compiler.Parser.parseBody(Parser.java:1675)
	org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:1022)
	org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1290)
	org.apache.jasper.compiler.Parser.parseElements(Parser.java:1467)
	org.apache.jasper.compiler.Parser.parse(Parser.java:138)
	org.apache.jasper.compiler.ParserController.doParse(ParserController.java:216)
	org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:154)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:315)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:282)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:142)
	org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:243)
	org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1141)
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:878)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:792)
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:475)
	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:430)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	org.jasig.cas.web.init.SafeDispatcherServlet.service(SafeDispatcherServlet.java:115)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.

 

使用將 WEB-INF/view/jsp/default/ui/casLoginView.jsp中

Java代碼 複製代碼
  1. <!--也許是tomcat版本問題導致,替換爲下面的代碼<c:set var="query" value="<%=request.getQueryString() == null ? "" : request.getQueryString().replaceAll("&locale=([A-Za-z][A-Za-z]_)?[A-Za-z][A-Za-z]|^locale=([A-Za-z][A-Za-z]_)?[A-Za-z][A-Za-z]", "")%>" />   
  2.       <c:set var="query" value="<%=request.getQueryString() == null ? /"/" : request.getQueryString().replaceAll(/"&locale=([A-Za-z][A-Za-z]_)?[A-Za-z][A-Za-z]|^locale=([A-Za-z][A-Za-z]_)?[A-Za-z][A-Za-z]/", /"/")%>" />-->   
  3.        <c:set var="query" value="<%=request.getQueryString() == null ? "" : request.getQueryString().replaceAll("&locale=([A-Za-z][A-Za-z]_)?[A-Za-z][A-Za-z]|^locale=([A-Za-z][A-Za-z]_)?[A-Za-z][A-Za-z]", "")%>" />  
<!--也許是tomcat版本問題導致,替換爲下面的代碼<c:set var="query" value="<%=request.getQueryString() == null ? "" : request.getQueryString().replaceAll("&locale=([A-Za-z][A-Za-z]_)?[A-Za-z][A-Za-z]|^locale=([A-Za-z][A-Za-z]_)?[A-Za-z][A-Za-z]", "")%>" />
      <c:set var="query" value="<%=request.getQueryString() == null ? /"/" : request.getQueryString().replaceAll(/"&locale=([A-Za-z][A-Za-z]_)?[A-Za-z][A-Za-z]|^locale=([A-Za-z][A-Za-z]_)?[A-Za-z][A-Za-z]/", /"/")%>" />-->
       <c:set var="query" value="<%=request.getQueryString() == null ? "" : request.getQueryString().replaceAll("&locale=([A-Za-z][A-Za-z]_)?[A-Za-z][A-Za-z]|^locale=([A-Za-z][A-Za-z]_)?[A-Za-z][A-Za-z]", "")%>" />

 

修改了也沒用,後來找到老外的解決方法

在catalina.bat中,在裏面(前面)加上設置參數:

Java代碼 複製代碼
  1. export JAVA_OPTS="-Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false"  
export JAVA_OPTS="-Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false"

 

結果小貓都啓不動了

我自己修改爲:

Java代碼 複製代碼
  1. set JAVA_OPTS="-Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false"  
set JAVA_OPTS="-Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false"

 

啓動小貓,訪問https://localhost:8443/cas

終於看到登錄的界面了。

 

被修改的那個參數具體描述請看:http://tomcat.apache.org/tomcat-5.5-doc/config/systemprops.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章