欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JavaWeb学习心得之Tomcat服务器(一)

程序员文章站 2022-07-16 15:40:06
...

一、Tomcat服务器端口配置

       Tomcat的所有配置文件都放在conf文件夹中,里面的server.xml文件是配置的核心文件。修改服务器端口,需要修改Connector节点。如下:

JavaWeb学习心得之Tomcat服务器(一)

配置文件修改后,需要重启服务器。

访问Tomcat服务器也必须以新的访问端口去访问:http://localhost:8081/,如下图所示:

 JavaWeb学习心得之Tomcat服务器(一)


二、Tomcat服务器虚拟目录的映射方式

Web应用开发好后,若想提供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚拟目录的映射。虚拟映射的方式有以下几种:

1.方式一:在server.xml文件的host元素中配置

找到host元素:

JavaWeb学习心得之Tomcat服务器(一)

其中,Context表示上下文,代表的是一个JavaWeb应用,Context元素有两个属性,

  1. path:用来配置虚拟目录,必须以"/"开头。
  2. docBase:配置此虚拟目录对应着硬盘上的Web应用所在目录。
使用浏览器访问”/JavaWebApp“这个虚拟路径目录下的1.html(自行编写Html文件)这个web资源:
JavaWeb学习心得之Tomcat服务器(一)
1.html可以正常访问,这说明我们已经成功的将F盘的JavaWebDemoProject这个JavaWeb应用映射到虚拟路径上,
访问"/JavaWebApp/1.html"相当于访问”F:\JavaWebDemoProject\1.html"。
       注意:在Tomcat6之后中,不再建议在server.xml文件中使用配置context元素的方式来添加虚拟目录的映射,
因为每次修改server.xml文件后,Tomcat服务器就必须要重新启动后才能重新加载server.xml文件

2.方式二:Tomcat服务器自动映射

tomcat服务器会自动管理webapps目录下的所有web应用,并把它映射成虚似目录。换句话说,tomcat服务器webapps目录中的web应用,外界可以直接访问。

例如:把F盘下的JavaWebDemoProject这个JavaWeb应用直接copy到tomcat服务器webapps目录中,如下图所示:

JavaWeb学习心得之Tomcat服务器(一)

此时Tomcat服务器就会自动为这个JavaWeb应用映射一个同名的虚拟目录"/JavaWebDemoProject",然后就可以使用浏览器访问这个JavaWeb应用的资源了:

JavaWeb学习心得之Tomcat服务器(一)

3.方式三:

tomcat服务器的\conf\Catalina\localhost目录下添加一个以xml作为扩展名的文件,xml文件的名字可以任意取,比如下面的aa.xml,

上面提到过,Context元素的path属性是用来配置虚似目录的名称的,所以虚似目录的名称就是这个xml文件的名称

JavaWeb学习心得之Tomcat服务器(一)
在aa.xml文件中添加Context元素映射JavaWeb应用,代码如下:
<Context docBase="F:\JavaWebDemoProject" />

JavaWeb学习心得之Tomcat服务器(一)
使用这种方式映射虚拟目录的最大好处是修改了配置文件后不用重启Tomcat服务器,比如将aa.xml修改成bb.xml,Tomcat服务器会自动跟新。


三、Tomcat服务器配置虚拟主机
1.配置虚拟主机
配置虚似主机就是配置一个网站。在Tomcat服务器配置一个虚拟主机(网站),需要修改conf文件夹下的server.xml这个配置文件,使用Host元素进行配置,
打开server.xml,可以看到Tomcat服务器自带的一个名称为localhost的虚拟主机(网站),平时我们将开发好的JavaWeb应用放到webapps文件夹下,然后就可以使用"http://localhost:端口号/JavaWebAppName"的方式去访问了,其实访问的就是name是"localhost"的那台虚拟主机(Host),这台虚拟主机管理webapps文件夹下的所有web应用。

例如:http://localhost:8080/JavaWebDemoProject/1.html,这个URL地址访问的就是名称是localhost的那台虚拟主机下的JavaWebDemoProject这个应用里面的1.html这个web资源。
我们可以使用如下的方式配置一个虚拟主机,例如:  

JavaWeb学习心得之Tomcat服务器(一)
  这里我们新配置一个虚拟主机,虚拟主机的name是"www.hanxin.com"虚拟主机"www.hanxin.com"现在管理着JavaWebApps文件夹下的所有web应用
平时我们在互联网上使用域名"www.baidu.com"访问百度的网站时,其实就是在访问一个名称是"www.baidu.com"的虚拟主机,
所以当我们要访问name是"www.hanxin.com"的这个虚拟主机时,就可以使用"域名(www.hanxin.com)"去访问,注意一下appBase="F:\JavaWebApps"
这里的JavaWebApps文件夹代表的不是一个项目的根目录,而是一个存放了一个或者多个JavaWeb应用的文件夹。

2.windows系统中注册域名
配置的主机(网站)要想通过域名被外部访问,必须在DNS服务器或windows系统中注册访问网站时使用的域名,
找到"C:\Windows\System32\drivers\etc"目录下的hosts文件。编辑这个文件,将新添加的网站的域名和IP地址绑定在一起,
这样我们就可以在浏览器中使用www.hanxin.cn这个域名去访问name是www.hanxin.cn那个虚拟主机里面管理的那些web应用了
JavaWeb学习心得之Tomcat服务器(一)
使用浏览器通过域名"www.hanxin.com"访问"www.hanxin.com"这个虚拟主机下的JavaWebDemo1这个web应用下的1.html这个web资源,
"www.hanxin.com"这个虚拟主机开放了一个8080端口,用户只能通过这个8080端口去访问JavaWebDemo1这个web应用下的1.html这个web资源

JavaWeb学习心得之Tomcat服务器(一)

四、浏览器和服务器交互的过程

JavaWeb学习心得之Tomcat服务器(一)

五、JavaWeb应用的组成结构

开发JavaWeb应用时,不同类型的文件有严格的存放规则,否则不仅可能会使web应用无法访问,还会导致web服务器启动报错


JavaWeb学习心得之Tomcat服务器(一)

WebRoot →Web应用所在目录,一般情况下虚拟目录要配置到此文件夹当中。

    ┝WEB-INF此文件夹必须位于WebRoot文件夹里面,而且必须以这样的形式去命名,字母都要大写。

      ┝web.xml配置文件,有格式要求,此文件必须以这样的形式去命名,并且必须放置到WEB-INF文件夹中。

  web.xml的格式可以直接从Tomcat中参考得到:找到Tomcat目录下的webapps\ROOT\WEB-INF这个目录下的web.xml文件,

把这个文件拷贝到我们新建的WEB-INF文件夹中,并修改这个web.xml文件,把里面的注释删除掉,只留下如下所示的代码即可:

web.xml :
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
   version="2.5">

  <display-name>Welcome to Tomcat</display-name>
  <description>
     Welcome to Tomcat
  </description>

</web-app>