上一章简单的介绍了一下Tomcat的安装,以及常见的一些问题的解决方案,需要注意的是:当Tomcat服务器无法正常启动时,首先检查是否配置了JAVA_HOME环境变量,然后再检查Tomcat服务器启动时的端口是否被别的应用程序占用了。
想必现在大家都可以的正常进入localhost:8080页面(上一节最后一张图),如果没有成功,那么只好Google啦。
在这里,大家会不会有个疑虑,为什么是localhost:8080?
于是我便忍不住上网查了一下:localhost:8080表示了什么?
换句话说,现在我们可以查看一下本机的地址:
localhost表示的是本机的地址,因此,使用本机的ip加上8080端口访问tomcat主页,也成功了!
那是否还有疑惑呢?为什么一定要是8080端口?当然,我们也可以修改这里的端口,位置是在tomcat的安装目录conf中的server.xml文件中进行修改: 只要将这里的port号改成了其他的端口,再次访问tomcat主页的时候,就需要使用修改后的端口号进行访问。
需要特别注意的是,修改完了配置文件之后,一定要重启tomcat,否则,显示的还是未修改之前的资料。
当将端口修改为80时,显示了这样一个错误:
这是因为我们的端口80现在已经被占用了。
那么,怎么才能查看被占用的端口呢?在命令行,使用netstat -ano 查看当前所有被使用的端口。
具体到查看某一个端口被使用的情况,使用命令:netstat -ano|findstr “80”:
可以看到的是,下面显示的都是正在使用80端口的进程,后面的那些数字就是进程号 PID(Process),那么又该怎么查看进程号所对应的运行文件呢:使用命令:tasklist|findstr “PID”进行查看,如图所示:
那么该如何杀死对应的进程呢?使用命令:taskkill -f -t -im “cmd.exe(进程名)”
或者使用taskkill /?进行命令的查看。
回接上文,咱们将端口修改成了80之后,Tomcat启动的时候,出现了一个端口被占用的异常,咱们可以在log文件夹中看到问题日志文件:
我直接运行locahost:80(其实可以省略80端口,因为HTTP默认使用80端口),出现下面这样的一个问题:
将端口换成7080,又可以继续访问了:
在我们下载的Tomcat中,有一个webapps文件夹,这里面存放的是发布在Tomcat服务器上的Web项目,下面,咱们来重头创建一个最简单的Web项目,然后在 Tomcat中发布出来 ,步骤分为以下几步:
在任意位置创建一个文件夹,名字任意在文件夹中创建一个WEB-INF文件夹,注意,要一模一样,不能有任何区别。在WEB-INF中创建一个classes文件夹,用于存放项目编译后的文件,创建一个lib存放项目需要的jar文件,最后,在创建一个最终要的web.xml文件,这个文件又成为部署描述符。这个web.xml可以在webapps中原始项目中找就可以了。做完了这么几步之后,可以在WEB-INF同目录下,创建一个简单的HTML文件。用于展示用户界面。将整个文件夹复制,粘贴进webapps文件夹中,然后启动tomcat,通过浏览器,对这个项目进行访问。最后运行:
运行之后,在Tomcat的work目录中就得到了一个hello的空目录
上述只是虚拟目录映射的第一种方式:将JavaWeb应用直接copy到tomcat服务器webapps目录中
第二种方式,可以不将JavaWeb项目映射到webapps下,在server.xml文件中的host元素中配置。具体操作,如下,比如现在在我的桌面上有这样一个程序,hello。
其中,Context表示上下文,代表的就是一个JavaWeb应用,Context元素有两个属性, Ⅰ.path:用来配置虚似目录,必须以"/"开头。 Ⅱ.docBase:配置此虚似目录对应着硬盘上的Web应用所在目录。使用路径localhost:7080/welcome/first.html进行访问,/welcome就是在配置文件中设置的path虚拟路径。
然而使用上述方式进行虚拟路径的映射是在Tomcat6.0之后不建议被使用了。现在还有一个方法,直接在Tomcat根目录下的conf目录下的Catalina目录下创建一个xml文件,文件名等同于之前Context标签中的path(虚拟目录),在这个xml文件中配置一个Context标签,设置具体的docBase属性为Web应用程序的目录。 如图所示:
注意观察具体的url参数:
为什么要设置成这样呢?在server.xml文件中的Host标签中加入Context标签不是也可以吗?为什么还要搞的这么复杂?
主要的原因在于:在server.xml中修改了之后,每次,Tomcat服务器都要重新启动,但是在conf/Catalina/localhost修改了文件,它会自动更新。
你会发现,Tomcat服务器,自动给我们加载了,我们修改的配置文件:
总结:
Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件。
一旦服务器中的*.xml文件改变了,则Tomcat服务器就必须重新启动,重新启动之后将重新读取新的配置信息。