Java ApacheTomcat主页不在

Java ApacheTomcat主页不在,java,apache,tomcat,Java,Apache,Tomcat,我在客户机(Windows7系统32位)上安装了Apache服务器(Tomcat7.63),客户机中使用的Java版本是(JDK1.8更新60) 问题 Tomcat服务器是通过运行文件(…\bin\Tomcat7.exe)启动的。但当我试图打开主页()时,它不会出现在浏览器上,我可以在Apache日志上看到以下异常: org.apache.coyote.AbstractProtocol$AbstractConnectionHandler process SEVERE: Error reading

我在客户机(Windows7系统32位)上安装了Apache服务器(Tomcat7.63),客户机中使用的Java版本是(JDK1.8更新60)

问题

Tomcat服务器是通过运行文件(…\bin\Tomcat7.exe)启动的。但当我试图打开主页()时,它不会出现在浏览器上,我可以在Apache日志上看到以下异常:

org.apache.coyote.AbstractProtocol$AbstractConnectionHandler process
SEVERE: Error reading request, ignored
java.lang.ExceptionInInitializerError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at sun.nio.cs.AbstractCharsetProvider.lookup(Unknown Source)
at sun.nio.cs.AbstractCharsetProvider.access$000(Unknown Source)
at sun.nio.cs.AbstractCharsetProvider$1.next(Unknown Source)
at sun.nio.cs.AbstractCharsetProvider$1.next(Unknown Source)
at java.nio.charset.Charset.put(Unknown Source)
at java.nio.charset.Charset.access$200(Unknown Source)
at java.nio.charset.Charset$3.run(Unknown Source)
at java.nio.charset.Charset$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.nio.charset.Charset.availableCharsets(Unknown Source)
at org.apache.tomcat.util.buf.B2CConverter.<clinit>(B2CConverter.java:51
)
at org.apache.tomcat.util.buf.ByteChunk.<clinit>(ByteChunk.java:102)
at org.apache.tomcat.util.buf.MessageBytes.<init>(MessageBytes.java:58)
at org.apache.tomcat.util.buf.MessageBytes.<init>(MessageBytes.java:36)
at org.apache.tomcat.util.buf.MessageBytes$MessageBytesFactory.newInstan
ce(MessageBytes.java:685)
at org.apache.tomcat.util.buf.MessageBytes.newInstance(MessageBytes.java
:78)
at org.apache.coyote.Request.<init>(Request.java:83)
at org.apache.coyote.AbstractProcessor.<init>(AbstractProcessor.java:61)

at org.apache.coyote.http11.AbstractHttp11Processor.<init>(AbstractHttp1
1Processor.java:273)
at org.apache.coyote.http11.Http11Processor.<init>(Http11Processor.java:
56)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.creat
eProcessor(Http11Protocol.java:165)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.creat
eProcessor(Http11Protocol.java:103)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(
AbstractProtocol.java:586)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoin
t.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskTh
read.java:61)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at sun.nio.cs.CharsetMapping.load(Unknown Source)
at sun.nio.cs.CharsetMapping$1.run(Unknown Source)
at sun.nio.cs.CharsetMapping$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.nio.cs.CharsetMapping.get(Unknown Source)
at sun.nio.cs.ext.SJIS_0213$1.run(Unknown Source)
at sun.nio.cs.ext.SJIS_0213$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.nio.cs.ext.SJIS_0213.<clinit>(Unknown Source)
... 30 more

Exception in thread "http-bio-8085-exec-1" java.lang.NullPointerException
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(
AbstractProtocol.java:731)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoin
t.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskTh
read.java:61)
at java.lang.Thread.run(Unknown Source)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler进程
严重:读取请求时出错,已忽略
java.lang.ExceptionInInitializeError
位于java.lang.Class.forName0(本机方法)
位于java.lang.Class.forName(未知源)
位于sun.nio.cs.AbstractCharsetProvider.lookup(未知源)
位于sun.nio.cs.AbstractCharsetProvider.access$000(未知来源)
位于sun.nio.cs.AbstractCharsetProvider$1.next(未知来源)
位于sun.nio.cs.AbstractCharsetProvider$1.next(未知来源)
位于java.nio.charset.charset.put(未知源)
位于java.nio.charset.charset.access$200(未知来源)
位于java.nio.charset.charset$3.run(未知源)
位于java.nio.charset.charset$3.run(未知源)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.nio.charset.charset.availableCharsets(未知源)
位于org.apache.tomcat.util.buf.B2CConverter(B2CConverter.java:51
)
位于org.apache.tomcat.util.buf.ByteChunk.(ByteChunk.java:102)
位于org.apache.tomcat.util.buf.MessageBytes.(MessageBytes.java:58)
位于org.apache.tomcat.util.buf.MessageBytes.(MessageBytes.java:36)
位于org.apache.tomcat.util.buf.MessageBytes$MessageBytesFactory.newInstan
ce(MessageBytes.java:685)
位于org.apache.tomcat.util.buf.MessageBytes.newInstance(MessageBytes.java
:78)
位于org.apache.coyote.Request(Request.java:83)
位于org.apache.coyote.AbstractProcessor(AbstractProcessor.java:61)
在org.apache.coyote.http11.AbstractHttp11处理器上
1Processor.java:273)
位于org.apache.coyote.http11.Http11Processor(Http11Processor.java:
56)
位于org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.creat
eProcessor(Http11Protocol.java:165)
位于org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.creat
eProcessor(Http11Protocol.java:103)
位于org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(
AbstractProtocol.java:586)
位于org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoin
t、 爪哇:316)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(未知源)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源)
位于org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskTh
阅读:java:61)
位于java.lang.Thread.run(未知源)
原因:java.lang.NullPointerException
位于sun.nio.cs.CharsetMapping.load(未知源)
位于sun.nio.cs.CharsetMapping$1.run(未知源)
位于sun.nio.cs.CharsetMapping$1.run(未知源)
位于java.security.AccessController.doPrivileged(本机方法)
位于sun.nio.cs.CharsetMapping.get(未知源)
位于sun.nio.cs.ext.SJIS_0213$1.run(未知来源)
位于sun.nio.cs.ext.SJIS_0213$1.run(未知来源)
位于java.security.AccessController.doPrivileged(本机方法)
在sun.nio.cs.ext.SJIS_0213(未知来源)
... 30多
线程“http-bio-8085-exec-1”java.lang.NullPointerException中出现异常
位于org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(
AbstractProtocol.java:731)
位于org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoin
t、 爪哇:316)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(未知源)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源)
位于org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskTh
阅读:java:61)
位于java.lang.Thread.run(未知源)
对于我来说,真正奇怪的是,如果我从管理员帐户:管理工具->服务从服务管理控制台启动Apache服务器,它工作正常,并且我可以看到浏览器上出现了主页()

问题


如果我们使用.exe文件(…\bin\Tomcat7.exe)运行Apache服务器,为什么Apache主页不会出现?如果服务器开始使用Windows服务,为什么会出现主页?在这两种情况下,都会执行相同的.exe文件来运行服务器,这两种情况之间有什么区别?

不能直接使用
exe
启动Tomcat(除非提供了正确的参数),如果要这样做,您应该使用附带的
.bat
文件之一:
startup.bat


只需确保定义您的环境变量,例如
JAVA_HOME
,和/或
JRE_HOME

不能直接使用
exe
启动Tomcat(除非提供了正确的参数),如果您想这样做,您应该使用其中一个
.bat
文件:
startup.bat


请确保定义您的环境变量,例如
JAVA\u HOME
,和/或
JRE\u HOME

检查服务配置,您没有提供相同的参数。@ElliottFrisch如何在这两种情况下比较参数。在服务案例中,我右键单击Tomcat服务,我可以看到在(启动参数)栏中并没有传递任何参数。您能告诉我在哪可以找到这两种情况下的参数吗?请检查服务配置,您提供的参数不一样。@ElliottFrisch如何比较这两种情况下的参数。在服务案例中,我右键单击Tomcat服务,我可以看到在(启动参数)栏中并没有传递任何参数。您能告诉我在这两种情况下在哪里可以找到参数吗?我确实尝试使用(…\bin\startup.bat)运行Tomcat服务器,但引发了相同的异常。我还仔细检查了
JAVA\u HOME
,它指向了正确的位置。我确实尝试使用(…\bin\startup.bat)运行Tomcat服务器,但引发了相同的异常。我还仔细检查了
JAVA_HOME
,它指向了正确的位置。