我们要想运行一个 Java Web
项目,就必须将它发布到服务器上面,这样我们才能通过浏览器访问到它,其实我们在开发阶段时也是一样,也需要使用一个 Web
容器来运行我们的项目,这样我们就能根据在浏览器中看到的页面效果来对我们的项目进行修改,对于 Java Web
项目来说,最简单的容器也许就是 Tomcat
了,并且它还是开源免费的,因此使用起来非常方便。
1.Tomcat的获取
关于如何获取到 Tomcat
服务器,最简单的办法就是去它的官网进行下载了,其实我一直觉得像 Java
类的开发工具最好都到对应的官网进行下载,因为这样可以减少很多不必要的风险,而且在官网下载也是十分稳定的,不会像一些软件共享软件由于站点的更改而发生改变,最后一点就是,不要害怕英文,第一次看不懂,无非就是多下载两次就好了。
得到 Tomcat
完整的软件包之后,第一件事肯定就是想将它运行起来了,其实也非常简单,那就是进入到 Tomcat
的 bin
文件目录下,找到 startup.bat
文件双击运行就好,这样就启动了 Tomcat
服务器,如何判断启动成功了呢?那就是在浏览器的地址栏输入 http://localhost:8080/
,如果可以看到 Tomcat
标志性的三脚猫图标的话,就说明正常启动了。
当然在启动的时候也可能会出现错误,比如启动之后窗口一闪而过等错误,那就可以先检查一下 JAVA_HOME
的环境变量是否正确配置了,因为 Tomcat
的启动依赖于 Java
环境,因此在启动 Tomcat
之前必须确保正确安装了 JDK
。还有一个问题那就是端口占用的问题,默认配置下,Tomcat
启动是使用 8080
端口号,如果在启动之前这个端口号已经被其它程序所占用的话,那么 Tomcat
也会启动失败,因此就应该先查看是哪个进程占用了 8080
端口,然后再将其关闭就好了,Windows
环境下查看端口号可以使用 netstat -ano
命令,查到是哪个进程之后就可以使用任务管理器关闭那个进程了。
2.Tomcat的目录结构
下面列举一下 Tomcat
的目录结构:
bin:包含的是一些二进制文件,包括启动和关闭命令
conf:主要是配置文件
lib:Tomcat所需要依赖的jar包
logs:存放日志文件
temp:Tomcat运行时产生的临时文件
webapps:项目发布的位置
work:jsp文件等动态资源被编译成java代码之后存放的位置
3.动态Web网站的目录结构
website
|--静态页面(html,css,js,image)
|--jsp页面
|--WEB-INF
|--web.xml (必须的)
|--classes (可选的)
|--lib (可选的)
4.Tomcat发布项目的三种方式
不过实践起来都还是蛮简单的,下面具体的分别说明一下操作。
4.1 直接将项目复制到webapps目录下
这一个是最简单的了,比如现在有一个项目名叫 aaa
,其中有一个静态页面 index.html
,那么就可以直接将这个 aaa
的项目拷贝到 tomcat/webapps
目录下,然后启动 Tomcat
服务器,这时就可以使用浏览器输入 http://localhost:8080/aaa/index.html
进行访问了。
4.2 在server.xml中配置虚拟路径
上面的方式需要将项目拷贝到 Tomcat
的 webapps
目录下,而如果使用虚拟路径进行配置的话,就不需要进行项目的拷贝了,直接配置一下项目所在的路径就好了。
比如现在有一个名叫 aaa
的项目,其中也是同样有一个静态页面 index.html
,而现在这个 aaa
项目所在的电脑路径是 D:\aaa
,为了让我们能在 Tomcat
启动之后访问的到这个 aaa
项目,现在就需要修改一下 tomcat/conf/server.xml
这个配置文件,需要在这个配置文件的 host
标签之中加一行配置:
<Context path="/aaa" docBase="D:\aaa"></Context>
这样加完之后,再重新启动 Tomcat
服务器,就可以在浏览器中输入 http://localhost:8080/aaa/index.html
访问到 aaa
这个项目了。上面的那行配置中很容易可以看出,docBase
配置的就是项目所在的实际位置,而 path
则就是为了方便我们访问的虚拟路径。
4.3 在tomcat/conf/Catalina/localhost下配置虚拟路径
上面的一种方式本来已经实现了虚拟路径的配置,但有一个问题就是需要在 Tomcat
的核心配置文件 server.xml
中添加配置,这样就会有一种风险,就是如果修改不当,可能就会导致连 Tomcat
都启动不了,因此可以尝试使用下面这种方式。
在 tomcat/conf/Catalina/localhost
目录下新建一个 xml
文件,文件的名称可以自己指定,就先确定为 aaa
吧,文件的内容可以如下设置:
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="D:\aaa"></Context>
第一句是 xml
文件规定的开头,并且指定了版本号和字符集,第二句参考第二种配置方式的话,就可以看出这里配置了项目在电脑中的实际位置,那虚拟路径是在哪里指定的呢?其实虚拟路径就是我们创建的 xml
文件的名称,这里就应该是 /aaa
了,因此如果想要访问这个项目,那么启动浏览器之后,还是可以在地址栏输入 http://localhost:8080/aaa/index.html
进行访问。
5.Eclipse集成Tomcat
如果只使用 Tomcat
来发布项目的话,每次在 Eclipse
中开发完了之后都要将项目拷贝到 Tomcat
中进行发布,这样就太麻烦了,因此我们需要使用 Eclipse
直接集成 Tomcat
,这样在使用 Eclipse
开发完功能之后,就可以直接发布到 Tomcat
中进行运行测试。
5.1 Eclipse中配置Tomcat
首先点击 Window
菜单,选择 Preferences
,点击左侧的 Server
,里面会有一个 Runtime Environments
,点击该选项,就可以在右侧添加需要的 Tomcat
服务器了,里面会有很多种类型的服务器,不过只需要选择自己想要安装的就好了,我想要安装的是 Apache Tomcat7
的,因此选择这一个就好了,然后点击下一步选择 Tomcat
在电脑中存放的位置,选择 finish
,这样就完成了对 Tomcat
服务器的配置。
5.2 配置服务
第二步就是要配置服务了,这个操作需要在 Java EE
视图中进行,因为如果是 Java
视图的话,其实是不需要服务器的,因此需要先切换到 Java EE
视图,关于如何切换的话,Eclipse
的右上角会有一个类似于包的图标,文字显示是 Open Perspective
,点击这个图标就可以进行各种视图的切换,在里面还可以看到 Debug
视图的选项。
Java EE
视图中一般都会有 Servers
服务器窗口,一般位于整个窗口的下方位置,如果默认没有显示的话,其实也是可以调出来的,点击 Eclipse
上方的 Window
菜单,然后再点击其中出现的 Show View
选项,就可以对各种需要展示的窗口进行选择了,当然其中也就包含了 Servers
窗口的选项,点击那一个选项的话就会出现对应的窗口。
如果是第一次打开 Servers
窗口的话,就会看到下面有一条蓝字,当然就是一个链接了,而且点击这个链接的话就可以创建一个新的服务了,很显然,我们是需要创建服务的,点击进去之后,就会选择想要创建的服务类型,这里就应该和上面选择一样的 Apache Tomcat7
了,然后下一步选择需要将哪些项目加入到当前的服务当中,最后选择完成。
这时就可以在 Servers
窗口中看到 Tomcat v7.0 Server at localhost
这样的文字了,这样就代表成功创建了一个服务,不过下面还需要对它进行一些配置,鼠标右键单击该服务,然后点击 Open
选项,这里我们就需要对 Server Locations
进行配置了,首先第一个单选应该选择第二个 Use Tomcat installation(takes control of Tomcat installation)
,接着最后一个 Deploy path
应该修改为 webapps
,然后保存修改就好了。
这里需要注意的一点就是对于上面的修改,当我们保存修改之后退出刚才的属性页面之后,再一次鼠标右键单击服务选择 Open
的时候,这时会打开和刚才同样的属性页面,不过刚才 Server Locations
中可以修改的内容已经变成灰色,不能再进行修改了,这时候的解决办法就是:
移除与Tomcat服务器关联的项目,同时,鼠标右键菜单Clean清除Tomcat服务器的状态
5.3 创建项目
这里需要创建一个动态 web
项目试验一下,File
菜单下面选择 new
,之后再选择 Dynamic Web Project
,输入项目名称,然后 Dynamic web module version
选择是 2.5
的,因为 2.5
的才会自动生成 wem.xml
文件,项目新建完成之后在 WebContent
目录下新建一个 index.html
静态页面。
5.4 使用Tomcat装载项目
想要将项目发布到 Tomcat
中的话,这时就可以到 Servers
窗口中选择我们刚才创建的服务,右键单击该服务选择 Add and Remove
选项,这时就可以选择将哪些项目装载到服务器当中了,直接将左侧的项目移到右侧就好了,然后选择 Finish
关闭选择窗口,最后就是要在 Eclipse
中启动 Tomcat
服务器了,同样也是右键单击我们创建的服务然后选择 Start
选项,这样 Tomcat
就启动起来了,这时也可以直接使用浏览器进行访问了,其实在开发过程中 Debug
的启动方式要用的多一点,因为这样就可以很方便的对代码进行调试了。
其实还有一种启动的方式就是直接选中项目,然后右键选择 Run As
,再选择 Run on Server
,然后下一步就是选择用什么服务器进行运行了,很显然就是我们当前已经创建的一个了,最后再选择一下项目就直接运行起来了,其实如果想使用 Debug
进行调试的话,那就应该选择 Debug As
这个选项了。
6.总结
关于 Tomcat
的使用的话,重点还是要掌握 Eclipse
是如何集成 Tomcat
的,因为这样开发起来是最简单的,在 Eclipse
中开发完了之后直接可以发布到 Tomcat
中运行查看实际效果,其实要想掌握这个集成过程的话多做两遍就好了。