2012-11-29 181 views
0

我在Netbeans中创建了一个Java Web项目,index.jsp文件默认创建为“Hello World”。我想跑,但提示以下错误: -Netbeans7.1.1 - tomcat 6.0.35部署错误 - 部署错误:未授权访问Tomcat服务器

Deployment error: Access to Tomcat server has not been authorized. Set the correct username and password with the "manager" role in the Tomcat customizer in the Server Manager.See the server log for details.

阅读一些博客后,我修改tomcat-users.xml文件,目前它看起来像 -

<tomcat-users> 
    <!-- 
    <role rolename="tomcat"/> 
    <role rolename="role1"/> 
    <user username="tomcat" password="tomcat" roles="tomcat"/> 
    <user username="both" password="tomcat" roles="tomcat,role1"/> 
    <user username="role1" password="tomcat" roles="role1"/> 
--> 
    <role rolename="manager"/> 
    <role rolename="admin"/> 
    <role rolename="standard"/> 
    <user username="admin" password="admin" roles="admin,manager,standard"/> 
</tomcat-users> 

此外,检查用户名和密码在netbeans中的Tools->Servers->Connection下,其正确的即admin/admin。

但仍然收到相同的部署错误。

它显示错误build-impl.xml一致 -

<nbdeploy clientUrlPart="${client.urlPart}" debugmode="true" forceRedeploy="${forceRedeploy}"/> 

难道干净建设,但没有运气。

的Apache Tomcat日志显示 -

Nov 29, 2012 6:10:28 PM org.apache.catalina.core.StandardHostValve custom 
SEVERE: Exception Processing ErrorPage[errorCode=401, location=/401.jsp] 
org.apache.jasper.JasperException: Unable to compile class for JSP 
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:604) 
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328) 
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) 
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646) 
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:438) 
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374) 
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302) 
    at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:421) 
    at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:342) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
    at java.lang.Thread.run(Thread.java:722) 
Caused by: java.io.FileNotFoundException: C:\Program Files (x86)\apache-tomcat-6.0.35\work\Catalina\localhost\manager\org\apache\jsp\_401_jsp.java (The system cannot find the path specified) 
    at java.io.FileOutputStream.open(Native Method) 
    at java.io.FileOutputStream.<init>(FileOutputStream.java:212) 
    at java.io.FileOutputStream.<init>(FileOutputStream.java:104) 
    at org.apache.jasper.compiler.Compiler.setupContextWriter(Compiler.java:298) 
    at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:230) 
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:354) 
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:334) 
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:321) 
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592) 
    ... 20 more 

Nov 29, 2012 6:10:36 PM org.apache.catalina.core.StandardHostValve custom 
SEVERE: Exception Processing ErrorPage[errorCode=401, location=/401.jsp] 
org.apache.jasper.JasperException: Unable to compile class for JSP 
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:604) 
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328) 
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) 
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646) 
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:438) 
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374) 
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302) 
    at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:421) 
    at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:342) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
    at java.lang.Thread.run(Thread.java:722) 
Caused by: java.io.FileNotFoundException: C:\Program Files (x86)\apache-tomcat-6.0.35\work\Catalina\localhost\manager\org\apache\jsp\_401_jsp.java (The system cannot find the path specified) 
    at java.io.FileOutputStream.open(Native Method) 
    at java.io.FileOutputStream.<init>(FileOutputStream.java:212) 
    at java.io.FileOutputStream.<init>(FileOutputStream.java:104) 
    at org.apache.jasper.compiler.Compiler.setupContextWriter(Compiler.java:298) 
    at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:230) 
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:354) 
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:334) 
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:321) 
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592) 
    ... 20 more 

Nov 29, 2012 6:10:36 PM org.apache.catalina.core.StandardHostValve custom 
SEVERE: Exception Processing ErrorPage[errorCode=401, location=/401.jsp] 
org.apache.jasper.JasperException: org.apache.jasper.JasperException: Unable to load class for JSP 
    at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:161) 
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:340) 
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) 
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646) 
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:438) 
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374) 
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302) 
    at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:421) 
    at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:342) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
    at java.lang.Thread.run(Thread.java:722) 
Caused by: org.apache.jasper.JasperException: Unable to load class for JSP 
    at org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:630) 
    at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:149) 
    ... 20 more 
Caused by: java.lang.ClassNotFoundException: org.apache.jsp._401_jsp 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:134) 
    at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66) 
    at org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:628) 
    ... 21 more 

有谁PLZ建议?谢谢。

+0

您是否在更改tomcat-users.xml之后重新启动了tomcat? –

+0

Paulius Matulionis - 是的,我确实重新启动了它。 – anujin

+0

我对Netbeans了解不多,但我听说有时候它会对你的应用程序做一些蠢事。我建议使用clean和build来构建你的项目,从命令行启动tomcat,并尝试从http:// localhost:8080/manager/html,tomcat的管理页面手动部署你的应用程序,并检查服务器日志发生。 –

回答

0

我想通了。使用netbeans 7,也需要tomcat 7。 tomcat 6没有工作。