(1)为何要使用web服务器
如果在本地计算机上创建一个web页面,用户是无法访问的,但是如果启动web服务器,把web资源放在服务器中,用户就可以访问了。从这里我们能够看出来:
1.不管是什么web资源,想被远程计算机访问,都必须有一个与之对应的网络通信程序。当用户访问时,这个网络通信程序读取web资源数据,并把数据发送给来访者
2.web服务器就是这样一个程序,它用于完成底层网络通信。使用这些服务器,web应用的开发者只需要关注web资源怎么写,而不需要关心资源如何发送到客户端手中,从而极大减轻了开发者的工作量
(2)下载安装tomcat
下载Tomcat安装程序包:http://tomcat.apache.org/
在bin目录下通过startup.bat启动tomcat服务器
启动成功结果:
测试服务器:
打开浏览器输入http://localhost:8080/,如果能正确显示则代表启动成功
(3)tomcat启动常见问题
tomcat服务器无法正常启动时,首先检查是否配置了JAVA_HOME环境变量,然后再检查端口是否被占用
1.JAVA_HOME环境变量设置问题因为tomcat要使用到JAVA_HOME环境变量,如果没有设置则会导致无法启动
其中的JAVA_HOME指向了jdk的目录
2.端口占用问题
因为如果是这种问题,tomcat窗口会一闪而过无法捕捉到一场信息,所以这个时候我们需要查看日志
日志就在tomcat下的logs目录中
查看其中的catalina日志,其中记录了服务器的运行情况
日志内容如下:
二月 15, 2016 2:24:51 下午 org.apache.catalina.core.StandardServer await
严重: StandardServer.await: create[localhost:8005]:
java.net.BindException: Address already in use: JVM_Bind
at java.net.DualStackPlainSocketImpl.bind0(Native Method)
at java.net.DualStackPlainSocketImpl.socketBind(Unknown Source)
at java.net.AbstractPlainSocketImpl.bind(Unknown Source)
at java.net.PlainSocketImpl.bind(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:427)
at org.apache.catalina.startup.Catalina.await(Catalina.java:781)
at org.apache.catalina.startup.Catalina.start(Catalina.java:727)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:428)
从日志中可以看出因为端口被占用而导致无法启动