当前位置:   article > 正文

Tomcat服务器

tomcat服务器

一、Tomcat概述

Tomcat服务器由Apache提供,开源免费。开发学习使用最佳选择。安装Tomcat之前需要先安装JDK,其实无论哪一种JavaWeb服务器都需要先安装JDK。下载 地址 :Apache Tomcat® - Welcome!

二 、Tomcat能做什么?

当用户发送请求后,Tomcat来接收请求,然后给用户作出返回响应。通常用户都是通过浏览器发出请求,然后浏览器的响应都是html代码。当然这也不是全部,有时用户可能会通过其他手段向服务器发送请求,而Tomcat返回的响应也可能不是html,也可能是一个文件,一张图片等。

三、安装tomcat

一般有解压版与安装版,解压版解压就可以使用,安装版傻瓜式点击就可以,以下是解压版。

 

四 、Tomcat目录结构

bin:该目录下存放的是可执行文件,有startup.bat和shutdown.bat文件,startup.bat用来启动Tomcat,但需要先配置JAVA_HOME,shutdawn.bat用来停止Tomcat;

conf:这是一个非常非常重要的目录,一般配置文件都在这个目录下,这个目录下有两个最为重要的文件:

  • server.xml:配置整个服务器信息。例如修改端口号,下面会详细介绍这个文件;
  • web.xml:  部署描述符文件,这个文件中注册了很多MIME类型,即文档类型。这些MIME类型是客户端与服务器之间说明文档类型的,如用户请求一个html网页,那么服务器还会告诉客户端浏览器响应的文档是text/html类型的,这就是一个MIME类型。客户端浏览器通过这个MIME类型就知道如何处理它了。当然是在浏览器中显示这个html文件了。但如果服务器响应的是一个exe文件,那么浏览器就不可能显示它,而是应该弹出下载窗口才对。MIME就是用来说明文档的内容是什么类型的!

lib:Tomcat的类库,里面是一大堆jar包 。如果需要添加Tomcat依赖的jar文件,可以把它放到这个目录中,当然也可以把项目依赖的jar文件放到这个目录中,这个目录中的jar所有项目都可以共享之;

logs:这个目录中都是日志文件,记录了Tomcat启动和关闭的信息,如果启动Tomcat时有错误,那么异常也会记录在日志文件中。

temp:存放Tomcat的临时文件,这个目录下的东西可以在停止Tomcat后删除!

webapps:存放web项目的目录,其中每个文件夹都是一个项目;如果这个目录下已经存在了目录,那么都是tomcat自带的。项目。其中ROOT是一个特殊的项目,在地址栏中没有给出项目目录时,对应的就是ROOT项目。

work:运行时生成的文件,最终运行的文件都在这里。通过webapps中的项目生成的!可以把这个目录下的内容删除,再次运行时会生再次生成work目录。当客户端用户访问一个JSP文件时,Tomcat会通过JSP生成Java文件,然后再编译Java文件生成class文件,生成的java和class文件都会存放到这个目录下。

总结:bin、conf、webapps、work。

bin目录中东西我们只关心启动和停止Tomcat;conf目录里面主要关注server.xml/web.xml;webapps目录下存放的是项目,每个文件夹都对应一个项目,而且在访问项目时,其中包含了项目名,而项目名往往都对应项目目录名。还有就是JavaEE Web项目的目录结构。work:只需要知道它存放的文件是通过webapps目录下的项目在运行时产生的,最终运行的都是work目录下的文件。这个目录下的东西可以删除,然后再次运行时还会产生!

五、测试Tomcat

安装好后可以在bin目录下找到startup.bat启动Tomcat,关闭可以执行shutdown.bat或者直接关闭Tomcat运行界面,然后在浏览器输入:http://localhost:8080或者http://127.0.0.1:8080,其中localhost本机主机名,127.0.0.1代表本机IP地址 ,8080为Tomcat默认端口,假如我的IP是192.168.1.100,其他机子要访问我机器上的Tomcat,那么需要在其他电脑 的浏览器中访问:http://192.168.1.100:8080。

六、修改端口号

前面介绍了修改端口号需要在conf配置目录下,在server.xml里面修改端口号为8081,修改后必须重启服务,修改如下:

 

 则在访问Tomcat时,8080端口则访问不了,需要改成8081端口

tips:http默认端口号为80,也就是说在URL中不给出端口号时就表示使用80端口。如果端口改成80,URL中不带端口号80也可以访问Tomcat,若是访问不了,表示80端口被其他 应用占了端口。

 七、创建Web项目

tomcat\webapps目录是用来存放Java项目的,每个文件夹都是一个项目。默认这个目录下已经有了四个项目,都是tomcat自带的。其中ROOT就是我们测试Tomcat时访问的Tomcat主项目。

我们要创建自己的项目,需要遵循JavaEE目录结构规范,下面是hello项目的目录结构

webapps  

        Hello    (必须出现的)

                |------ 存放web资源。(jsp, xml, HTML  CSS  JS 图片...)

                |------ WEB-INF     (必须出现的)

                        |------ web.xml (必须出现的)

                        |------ classes Java类的编译路径(Servlet、自定义类 )

                        |------ lib 需要引入的第三方的jar包.

hello是项目目录,项目目录下必须有一个名为WEB-INF的目录(必须大写),在WEB-INF目录下必须有一个web.xml文件。

WEB-INF目录是受保护目录,这下面的东西用户是不能直接访问的,但动态页面是可以访问的。通常WEB-INF下还会存在lib和classes,lib下存放项目所需的jar文件,classes目录下存在项目所需的class文件!如果直接访问WEB-INF就会找不到路径

 web.xml文件中只需要给出XML文档声明,以及根元素。当然,根元素中包含很多与名称空间相关属性,记住是有难度的,不过我们可以去webapps下的其他项目中去“借”,比如ROOT项目中 。

八、项目发布

发布项目有三种方法

第一种方法:就是把项目放到webapps目录下,即localhost主机名对应的项目空间目录中,然后直接在访问URL后面带上项目webapps里面的项目文件名,就可以访问 项目中的文件了 。http://localhost:8080/hello/hello.html

第二种方法 (最常用):可以访问任意目录下的项目,通过在server.xml中添加<Context>元素来指定项目的真实位置。在<Host>元素中添加<Context>元素,然后指定<Context>元素的pathdocBase属性,其中path指定的是项目虚拟路径,可以随意给出,例如abc、def、wwt等随意给。docBase指定你的项目的真实存放的路径。 

注意,一旦给出了docBase属性的值后,访问localhost的abc项目时,就不会再去webapps目录下去查找项目,而是通过docBase的值来锁定项目位置,即F:\helloF。访问项目的URL:http://localhost/abc/hello.html,而不是http://localhost/helloF/hello.html,虽然项目目录名叫helloF,但因为指定了<Context>元素的path属性,那么访问项目时就不会再使用项目目录名来作为访问路径了。

第三种方法跟第二种方法类似是使用外部文件来添加<Context>元素。这需要在conf目录下找到catalina\localhost目录,然后在这个目录下创建一个XML文件,这个名称就是虚拟路径名。例如创建的XML文件名为def.xml,然后在def.xml文件中添加如下内容

<Context docBase="F:\hello1"/> 注意,这里没有给出path属性,因为已经不用给出了,path的值由XML文件的名称决定。也就是说path的值为def。访问URL为:http://localhost/def/hello.html

 


九、IDEA中Maven  Web项目 创建

两种创建模式:

1、新建模块按archetype模式来创建,生成的pom.xml中为会自动打包模式设置为war包模式,还会导入很多jar包,只是需要手动添加java、resources文件

 2、正常创建maven模块,需要在pom.xml文件中手动添加<packaging>war</packaging>打包方式

 

 十、IDEA集成本地tomcat

1、可以通过配置服务器的方式

 2、也可以通过maven配置文件引入

  1. <build>
  2. <plugins>
  3. <plugin>
  4. <groupId>org.apache.tomcat.maven</groupId>
  5. <artifactId>tomcat7-maven-plugin</artifactId>
  6. <version>2.2</version>
  7. <configuration>
  8. <port>80</port>
  9. <path>/</path>
  10. </configuration>
  11. </plugin>
  12. </plugins>
  13. </build>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/1020880
推荐阅读
相关标签
  

闽ICP备14008679号