文章目录

  • 介绍
  • Eclipse中配置JDK/JRE
  • 新建Java Web工程
  • Tomcat在Eclipse中的配置
  • 新建Tomcat服务器实例
  • 服务器启动和停止、应用部署和发布
  • Web应用根路径的修改
  • Servlet相关JAR包的添加 - Java Build Path


介绍

经过对前面的文章好好总结总结,发现有两个问题:

  • 每一篇文章还是太冗长,没有做到言简意赅,会让人感到厌烦,不想看下去;
  • 有些文章把技术的内容和工具的使用混杂在一起,整个文章系列的结构不太清楚。

所以决定以后文章尽量言简意赅一些,技术内容和工具使用分开,但发文频率可以更快一些。

本篇文章就先把之前文章我的Java Web之路 - Servlet(1)中有关Eclipse的使用抽取出来形成独立的一章,因为之前涉及的内容有些多,本篇文章属于特地抽取而形成的,所以还是会比较长。以后的写作模式也尽量把技术内容和工具使用分开发文。

之前的文章我的Java Web之路 - Eclipse(1)介绍了新建Java工程、新建Java类、编译和执行Java程序等,这次涉及的是Java Web工程、Tomcat在Eclipse中的配置和启动、Web应用根路径的修改、Servlet相关Jar包的添加等。

另外,把以前遗漏的JDK在Eclipse中的配置补上。

Eclipse中配置JDK/JRE

因为,Eclipse会自动检测安装的JDK,所以之前不用配置也可以正常开发。但如果你的机器上安装了多个版本的JDK/JRE,就需要一定的配置,指定Web应用使用的JDK/JRE版本。

在菜单栏中点击:Window(窗口)->Preferences(偏好设置),括号内的是我翻译过来的中文,弹出Preferences对话框:

java project手动添加jar包 java工程添加jar包_Tomcat


当然,这里的偏好设置是针对整个工作空间的,所以配置的都是所有工程通用或默认的参数,而每个工程的属性对话框里面也会根据工程类型从这个全局配置中筛选对应的配置项并显示该工程的配置参数。

从图中我们也可以看到,我已经定义了一个Installed JRE,它指向了我之前安装的JDK,可以选中它并点击**Edit…**进行查看和修改,也可以删除这个配置(并不是删除安装好的JDK)。

我们在对话框中点击红色圈中的项目,可以看到Java相关的配置都在这里,比如Build PathCompiler等。点击Add…按钮后弹出:

java project手动添加jar包 java工程添加jar包_Java_02


选择默认的Standard VM即可,点击Next:

java project手动添加jar包 java工程添加jar包_Eclipse_03


在JRE home
中输入JDK的安装路径,或者是JRE的安装路径。你也可以输入跟以前的配置一样的JDK安装路径,这时候JRE name必须跟以前定义的不一样才可以,否则会提示出错。本质上就是定义了一个叫Installed JRE的东西,它跟JDK安装路径关联起来,当然也就可以若干个Installed JRE同时指向同一个JDK安装路径,不过通常情况下没有必要这样做。

我这里输入的是跟之前(jdk1.8.0_121)不同的JDK(jdk1.8.0_192),JRE name一般就用默认的即可。点击Finish:

java project手动添加jar包 java工程添加jar包_Java_04


完成后,可以看到Installed JREs中多了一个,你可以勾选其中一个,为这个工作空间的所有工程配置默认选择的JRE,之后新建工程将会使用这个默认的JRE,除非你再通过该工程的属性对话框进行配置的修改。

最后,点击Apply and Close即可。

新建Java Web工程

在之前文章我的Java Web之路 - Eclipse(1)中介绍过如何创建一个Java工程,基本步骤都差不多,只不过工程类型不一样而已。

首先,我们通过下面两种方式:

  • 菜单栏中的菜单:File -> New -> Project…
  • 工程导航视图的右键菜单:New -> Project…

打开新建工程对话框:

java project手动添加jar包 java工程添加jar包_Java_05


之前我们建立的是Java类别里的Java Project,现在我们要选择Web类别里的Dynamic Web Project,为什么叫动态Web呢?因为网页即HTML页面,确切的说是页面中的某些数据,是由Servlet动态生成的。选择后点击Next按钮:

java project手动添加jar包 java工程添加jar包_Tomcat_06


这里只要输入你喜欢的工程名,我输入的是MyFirstJavaWeb,当然也可以是HelloWorld等等,只要符合你的规范即可。

其他使用默认值,这里重点要注意的是Target runtimeDynamic web module version,前者就是配置我们开发的这个Java Web应用所要运行的目标环境,当然指的就是Servlet容器了,当然我们是使用Tomcat这个Servlet容器,还有很多其他的Servlet容器,比如WebSphere、WebLogic、JBoss等等。后者其实配置的就是Servlet技术或者规范的版本,在后面提到的部署描述符里就有该版本号。这两个后面都可以单独配置,现在使用默认值就可以了。

点击Next之后,是配置Java源代码和编译后的class文件的存放位置,使用默认值就可以。

再点击Next之后,是配置Web应用的URL根路径以及Web应用的资源路径,使用默认的即可:

java project手动添加jar包 java工程添加jar包_JDK_07


但我们要勾选上Generate web.xml deployment descriptor。这个是是什么意思呢?通俗一点就是为这个Web应用生成一个配置文件(文件名就是web.xml),这个配置文件有个称呼叫部署描述符。顾名思义,它就是描述该Web应用部署时的相关配置,比如你为该Web应用开发的各个Servlet以及它们映射到该Web应用的URL是什么,以后还有过滤器、监听器、安全约束等等,总之就是该Web应用的配置就是了。

那这个配置文件给谁来读取啊?当然就是目标运行环境啊,就是加载该Web应用的Servlet容器啊。

最后点击Finish就成功建立了我们的第一个Java Web工程。

Tomcat在Eclipse中的配置

首先,我们需要在Eclipse中配置我们的Tomcat,让我们的Eclipse能够启动我们安装的Tomcat。在菜单栏中点击:Window(窗口)->Preferences(偏好设置),括号内的是我翻译过来的中文,弹出Preferences对话框:

java project手动添加jar包 java工程添加jar包_Web_08


点击左侧中的Server->Runtime Environment这里就是配置我们的Servlet容器、Web容器、Web服务器、应用服务器。。。总之英文就是Server Runtime Environments,点击右侧的Add…按钮,弹出新建服务器运行环境的对话框:

java project手动添加jar包 java工程添加jar包_Eclipse_09


我们根据安装的Tomcat版本,选择Apache Tomcat v9.0即可,点击Next:

java project手动添加jar包 java工程添加jar包_Tomcat_10


我们输入以前安装的Tomcat的安装目录,点击Finish即可看到新建的Tomcat服务器运行环境:

java project手动添加jar包 java工程添加jar包_Java_11


我们点击Apply and Close即可。

新建Tomcat服务器实例

上面本质上就是配置Eclipse指向了Tomcat的安装目录,但我们还需要在Eclipse建立一个服务器才行:

java project手动添加jar包 java工程添加jar包_Tomcat_12


一般打开了Java EE透视图,Eclipse主界面底部会有一个服务器视图,点击下面的蓝色提示即可建立服务器

java project手动添加jar包 java工程添加jar包_JDK_13


我们只能选择Tomcat v9.0 Server,因为我们只建立了该版本的服务器运行环境,点击Next:

java project手动添加jar包 java工程添加jar包_Eclipse_14


这里我们可以往新建的服务器中添加和删除我们的Web应用,目前我们就只有一个MyFirstJavaWeb应用,我们可以把它添加进去,就是部署,选中并点击Add:

java project手动添加jar包 java工程添加jar包_Eclipse_15


最后点击Finish即可。

服务器启动和停止、应用部署和发布

我们建立好了一个服务器之后,它指向了我们安装的Tomcat,现在就可以启动它了。首先我们要把我们的应用发布(英文就是Publish)到服务器上去,每当Web资源包括Java代码有变化,就需要重新发布(英文是Republish),我们右击服务器节点弹出菜单:

java project手动添加jar包 java工程添加jar包_Eclipse_16


OK,我们点击Publish就可以了,然后点击Start就可以启动我们的Tomcat服务器。也可以在服务器视图顶部右端工具栏中启动服务器。服务器启动后,控制台视图类似这样:

java project手动添加jar包 java工程添加jar包_JDK_17


可以看到Tomcat启动过程中打印了很多日志,这与我们直接执行Tomcat安装目录的bin目录下的启动脚本来启动Tomcat是一样的,日志中我们也可以看到CATALINA_BASE等变量,暂不理会这些日志。现在,我们打开浏览器,在地址栏中输入:http://localhost:8080/MyFirstJavaWeb/

java project手动添加jar包 java工程添加jar包_Java_18


现在的问题是我们在地址栏输入的只是http://localhost:8080/MyFirstJavaWeb/,并没有明确访问的是index.html这个网页啊?答案就是部署描述符web.xml中指定了我们这个Web应用的首页:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>MyFirstJavaWeb</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>

同时,这里我们也看到了版本是3.0。所以,我们输入地址http://localhost:8080/MyFirstJavaWeb/index.html也是一样可以访问该网页的。

Web应用根路径的修改

我们再来看一下这个URL中的MyFirstJavaWeb部分,其实这个就是我们在新建Web工程的时候配置的Context root,这个也可以修改。

我们右键点击Project Explorer视图中MyFirstJavaWeb应用,弹出右键菜单,点击最下端的Properties,弹出MyFirstJavaWeb应用的属性对话框:

java project手动添加jar包 java工程添加jar包_JDK_19


在左侧选中Web Project Settings,在右侧即可看到Context root的配置,假设我们把它修改为My,然后点击Apply and Close,然后发布该应用,再启动服务器,中间过程会有一些提示对话框,都是确认根路径修改的,点击肯定的按钮即可。这时浏览器上URL必须是http://localhost:8080/Myhttp://localhost:8080/My/index.html才能访问该网页。

所以,我们现在更加明确了URL的组成,前面是协议、域名和端口号,接着的是Web应用的Context root(中文就叫上下文路径或根路径等),后面的是该Web应用的资源目录中的路径(但是WEB-INF目录中的不可访问),由于index.html直接在资源路径底下,所以Context root直接加上index.html就可以访问该网页了。

所以,Web应用、Web Context、Web Module(模块)有时是通用的。

Servlet相关JAR包的添加 - Java Build Path

我们如何来添加Tomcat的servlet-api.jar这个JAR包呢?我们还是可以在该Web应用的属性对话框中的Java Build Path配置项中进行配置:

java project手动添加jar包 java工程添加jar包_JDK_20


依次点击红色圈中的选项即可:

java project手动添加jar包 java工程添加jar包_Tomcat_21


这里选择Server Runtime(即服务器运行时库),点击Next:

java project手动添加jar包 java工程添加jar包_Eclipse_22


这里可以看到我们之前建立的服务器运行环境,选择它并点击Finish即可:

java project手动添加jar包 java工程添加jar包_Web_23


我们可以点击展开刚添加进来的Tomcat库,在这个库中的确可以找到servlet-api.jar这个JAR包,最后点击Apply and Close即可。

Java Build Path这个配置选项经常会用到,以后添加JAR包或者库都是在这个地方。

我们也可以在Project Explorer视图的Java Resources->Libraries中看到多了一个Tomcat库的节点,该节点也可以展开并找到servlet-api.jar这个JAR包。