【发布时间】:2014-07-04 01:00:41
【问题描述】:
首先...我对 Tomcat 和所有这一切都很陌生,所以如果其中任何一个被认为是“基本的”,请原谅我
我在我的 Mac (OS X 10.7.5) 上运行 Tomcat 7。在大多数情况下,我已经正确安装并正在运行 Tomcat。
我需要在开头添加一行来定义我的 taglib 并使用此代码:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
当我运行页面时,我收到以下错误:
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: [47] in the generated java file: [/Users/me/tomcat/work/Catalina/localhost/popup/org/apache/jsp/index_jsp.java]
The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:366)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:468)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:378)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:657)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
我不知道发生了什么,也不知道为什么这甚至会标记错误。
============================
我遇到的第二个问题是访问管理器应用。我已按照有关如何修改 tomcat-user.xml 以添加新用户并为其分配“manager-gui”角色的所有说明进行操作,但它只是无法识别用户列表。
我已经尝试在 tomcat-users.xml 中使用所有预定义的用户/密码,但它们都不起作用。至少我会认为,如果它工作正常,会出现一条错误消息“此帐户没有足够的权限来访问管理器应用程序”或其他东西......但它只是不断将我踢回登录屏幕。
有没有办法可以使用 Mac 的终端列出已知用户?或者我如何至少检查 tomcat-users.xml 是否被正确引用。
【问题讨论】:
-
关于例外情况,请确保您没有与您的应用程序(即在 WEB-INF/LIB 中)捆绑 Tomcat 提供的任何 JAR,例如jsp-api-x.jar 或 servlet-api-x.jar - 在你的情况下尤其是前者。