在sun官网上下载了Tomcat,其实有更高版本的8.0,但是没敢下载,毕竟自己的JDK也就是1.7(其实应该没关系的吧),所以乖乖下载了7.0版本。
然后开始配置Tomcat环境变量,这里不说,网上一堆Tomcat环境变量的配置,但是这里不能相信百度经验里面的,需要配置的有
CATALINA_BASE C:\Program Files\apache-tomcat-7.0.54
CATALINA_HOME C:\Program Files\apache-tomcat-7.0.54
以及在Path的最后加上
; %CATALINA_HOME%\lib;%CATALINA_HOME%\lib\servlet-api.jar;%CATALINA_HOME%\lib\jsp-api.jar
这是针对7.0版本的配置方式,这个版本不需要配置CLASS PATH变量了,要注意。
然后输入http://localhost:8080 应该就可以进入到Tomcat的页面了,如果进入不了一定是环境变量没有配置好。
然后配置eclipse,首先需要下载eclipse的插件 tomcatPluginV33.zip,这个是最新的,刚好能支持Tomcat7.0,(幸好没有下载8.0)。下载网址在下面:
http://www.eclipsetotale.com/tomcatPlugin.html
接着开始一系列配置,配置过程参看http://blog.youkuaiyun.com/njchenyi/article/details/6042760
基本上是一样的,只是在选择版本的时候注意一下就好了,配置好之后就可以在eclipse里面启动Tomcat了。如果这时候还不行,在eclipse里面windows->preference->server->runtime environment->add->apache添加上tomcat的位置就好。
在eclipse中启动tomcat,这时候我报了一堆错误。
九月 07, 2013 4:16:36 下午 org.apache.catalina.core.AprLifecycleListener init
信息: Loaded APR based Apache Tomcat Native library 1.1.27 using APR version 1.4.6.
九月 07, 2013 4:16:36 下午 org.apache.catalina.core.AprLifecycleListener init
信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
九月 07, 2013 4:16:36 下午 org.apache.catalina.core.AprLifecycleListener initializeSSL
信息: OpenSSL successfully initialized (OpenSSL 1.0.1d 5 Feb 2013)
九月 07, 2013 4:16:37 下午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-apr-8080"]
九月 07, 2013 4:16:37 下午 org.apache.coyote.AbstractProtocol init
严重: Failed to initialize end point associated with ProtocolHandler ["http-apr-8080"]
java.lang.Exception: Socket bind failed: [730048] ?????????×???(Э?é/???????/???)????í??
at org.apache.tomcat.util.net.AprEndpoint.bind(AprEndpoint.java:446)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:610)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:429)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:981)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:814)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.startup.Catalina.load(Catalina.java:640)
at org.apache.catalina.startup.Catalina.load(Catalina.java:665)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
九月 07, 2013 4:16:37 下午 org.apache.catalina.core.StandardService initInternal
严重: Failed to initialize connector [Connector[HTTP/1.1-8080]]
org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-8080]]
后面还有很多,省略一堆,上网各种找也找不到怎么解决。后来发现是/conf文件夹里面的apache-tomcat-7.0.54\conf\tomcat-users.xml的用户权限配置出了问题(之前我连localhost里面的manager app也点不进去,总是输入好了账号密码按确定还是没有反应,连续三次还401报错)。之前的我加权限的方法是直接在文件后面加上
<tomcat-users>
<role rolename="manager-gui"/>
<user username="manager" password="123" roles="manager-gui" />
</tomcat-users>
可是这样还是不行的,因为系统在读取权限的时候会自动忽略第二个<tomcat-users>,因此把源文档里面的注释<!-- -->去掉,保存后重启tomcat就不报错了,同时还可以顺利进入manager app管理页面。