问题1:Tomcat 7 'javax.el.ELException' 的解决方式

本文介绍了解决Tomcat7中EL表达式因包含关键字导致解析错误的问题。通过修改catalina.properties文件并添加特定配置项,可以避免服务器对EL表达式的关键字进行检查。

tomcat 7EL表达式的语法要求比较严格,例如"${owner.new}"因包含关键字new就会导致解析出错。

修改tomcat属性,忽略对EL表达式的关键字检查。修改$CATALINA_BASE/conf/catalina.properties文件,添加org.apache.el.parser.SKIP_IDENTIFIER_CHECK=true选项。


HTTP Status 500 - Unable to compile class for JSP type Exception report message Unable to compile class for JSP description The server encountered an internal error that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: Unable to compile class for JSP org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:616) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:368) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) root cause javax.el.ELException: Unable to find ExpressionFactory of type: # Licensed to the Apache Software Foundation (ASF) under one or more javax.el.ExpressionFactory.newInstance(ExpressionFactory.java:152) javax.el.ExpressionFactory.newInstance(ExpressionFactory.java:91) org.apache.jasper.compiler.PageInfo.<init>(PageInfo.java:80) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:115) org.apache.jasper.compiler.Compiler.compile(Compiler.java:372) org.apache.jasper.compiler.Compiler.compile(Compiler.java:349) org.apache.jasper.compiler.Compiler.compile(Compiler.java:333) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:600) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:368) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) root cause java.lang.ClassNotFoundException: # Licensed to the Apache Software Foundation (ASF) under one or more org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1274) org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1108) javax.el.ExpressionFactory.newInstance(ExpressionFactory.java:145) javax.el.ExpressionFactory.newInstance(ExpressionFactory.java:91) org.apache.jasper.compiler.PageInfo.<init>(PageInfo.java:80) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:115) org.apache.jasper.compiler.Compiler.compile(Compiler.java:372) org.apache.jasper.compiler.Compiler.compile(Compiler.java:349) org.apache.jasper.compiler.Compiler.compile(Compiler.java:333) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:600) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:368) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) note The full stack trace of the root cause is available in the Apache Tomcat/9.0.0.M9 logs. Apache Tomcat/9.0.0.M9
05-24
HTTP状态 500 - 内部服务器错误 类型 异常报告 消息 org.apache.jasper.JasperException: javax.el.ELException: Failed to parse the expression [${encodeURIComponent(`${platform.toLowerCase()}_login_${timestamp}`)}] 描述 服务器遇到一个意外的情况,阻止它完成请求。 例外情况 org.apache.jasper.JasperException: org.apache.jasper.JasperException: javax.el.ELException: Failed to parse the expression [${encodeURIComponent(`${platform.toLowerCase()}_login_${timestamp}`)}] org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:589) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:425) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327) javax.servlet.http.HttpServlet.service(HttpServlet.java:764) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) 根本原因。 org.apache.jasper.JasperException: javax.el.ELException: Failed to parse the expression [${encodeURIComponent(`${platform.toLowerCase()}_login_${timestamp}`)}] org.apache.jasper.compiler.Validator$ValidateVisitor.prepareExpression(Validator.java:1644) org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:771) org.apache.jasper.compiler.Node$ELExpression.accept(Node.java:959) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2385) org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2437) org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2443) org.apache.jasper.compiler.Node$Root.accept(Node.java:471) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2385) org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1869) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:224) org.apache.jasper.compiler.Compiler.compile(Compiler.java:391) org.apache.jasper.compiler.Compiler.compile(Compiler.java:367) org.apache.jasper.compiler.Compiler.compile(Compiler.java:351) org.apache.jasper.JspCompilationContext.compile(JspCompilationConte
03-21
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值