tomcat服务器_tomcat服务器配置 - CSDN
  • tomcat服务器介绍

    千次阅读 2019-04-22 16:11:22
    使用tomcat很久了,但是对tomcat内部的理解以及很多基本知识都还是不太清楚,现在就根据自己在搜集的资料,对tomcat中间件进行总结。 (1)、总的来说,tomcat的身份可以看作一个WEB容器,但实际上是一个应用程序...

    使用tomcat很久了,但是对tomcat内部的理解以及很多基本知识都还是不太清楚,现在就根据自己在搜集的资料,对tomcat中间件进行总结。

    (1)、总的来说,tomcat的身份可以看作一个WEB容器,但实际上是一个应用程序服务器。应用服务器处理业务逻辑,web服务器是用于处理HTML文件的。web服务器通常比应用服务器简单,如apache就是web服务器,Jboss就是EJB应用服务器。 
    为什么这么说?
    1.因为你从tomcat内部看你会发现其实tomcat内置了一个轻量级的WEB服务器,用于转发html文件的请求;
    2.从整个WEB流程来看,用户通过浏览器向WEB服务器请求,WEB服务器根据请求文件的后缀名来查找相应的应用程序服务器,例如用户请求一个.JSP文件,WEB服务器就看自己是否有这个应用程序服务器,如果没有,则把所有内容包括JSP代码都当成HTML发送到客户端浏览器;如果有这个应用程序服务器,则把文件传给应用程序服务器,让其处理相应的JSP代码之后再返回个WEB服务器,由WEB服务器在返回给客户端浏览器,通过这样一个流程,你也可以看到通过TOMCAT请求一个.JSP文件袋过程;

    所以,tomcat是一个WEB容器,它内置了一个轻量级的WEB服务器,只用于转发请求,但实际上tomcat是一个轻量级的应用程序服务器(tomcat是不能带起来ecterprise的项目的,所以是轻量级的)。

    开发Java WEB项目的时候,你只要搞明白其请求的流程:客户端浏览器——>WEB服务器——>应用程序服务器。

    应用服务器:Weblogic、Tomcat、Jboss 等
    WEB SERVER:IIS、 Apache

    (2)、Apache服务器也就是www服务器,由于www采用HTTP协议所以又称为HTTP服务器,用于静态页面的解析;

    (3)、Tomcat服务器是应用(Java)服务器,可以说是一个Servlet容器,可以认为是Apache的扩展,本身包含了一个HTTP服务器。但是可以独立于Apache运行,主要用于动态页面提供服务,可以将JSP编译成对应的Servlet,所以是web应用服务器。

    展开全文
  • Tomcat的使用(详细流程)

    万次阅读 多人点赞 2018-08-15 16:32:09
    web包括:web服务器和web客户端两部分。 java在最早web客户端的应用有java applet程序,不过这种技术在很久之前就已经被淘汰了。java在服务器端的应用非常丰富, 比如Servlet,jsp和第三方框架等等。java技术对web...

    1、JavaWeb概念

    Java web,是用java技术来解决相关web互联网领域的技术的总称。web包括:web服务器和web客户端两部分。
    java在最早web客户端的应用有java applet程序,不过这种技术在很久之前就已经被淘汰了。java在服务器端的应用非常丰富,
    比如Servlet,jsp和第三方框架等等。java技术对web领域的发展注入了强大的动力

    简单的说,就是使用java语言实现浏览器可以访问的程序内容。称之为Java Web。

    javaweb开发是基于请求和响应的:

    请求:浏览器(客户端)向服务器发送信息
    响应:服务器向(客户端)浏览器回送信息

     

    请求和响应是成对出现的。


     

    2、web资源分类:

    所谓web资源即放在Internet网上供外界访问的文件或程序,又根据它们呈现的效果及原理不同,将它们划分为静态资源和动态资源。

    静态web资源:固定不变数据文件(静态网页 HTML、CSS文件、文本、音频、视频)
    静态web技术:HTML+CSS+JavaScript

    动态web资源:一段服务程序,运行后,生成的数据文件

    动态web技术:servlet,jsp,php, .net ,ruby、python等等

     

    3、常见的web服务器

    web服务器简介:

    Tomcat:由Apache组织提供的一种Web服务器,提供对jsp和Servlet的支持。它是一种轻量级的javaWeb容器(服务器),也是当前应用最广的JavaWeb服务器(免费)。
    Jboss:是一个遵从JavaEE规范的、开放源代码的、纯Java的EJB服务器,它支持所有的JavaEE规范(免费)。
    GlassFish: 由Oracle公司开发的一款JavaWeb服务器,是一款强健的商业服务器,达到产品级质量(应用很少,收费)。
    Resin:是CAUCHO公司的产品,是一个非常流行的应用服务器,对servlet和JSP提供了良好的支持,性能也比较优良,resin自身采用JAVA语言开发(收费,应用比较多)。
    WebLogic:是Oracle公司的产品,是目前应用最广泛的Web服务器,支持JavaEE规范,而且不断的完善以适应新的开发要求,适合大型项目(收费,用的不多,适合大公司)。

     

    3.1、Tomcat服务器

    开源小型web服务器 ,完全免费,主要用于中小型web项目,只支持Servlet和JSP 等少量javaee规范(就是JavaWeb编程接口)

     

    3.2、tomcat服务器与servlet版本的关系

    servlet:sun公司提供的用于开发动态web资源的技术。
    jsp:(java server page),java提供的一门开发web网页的技术。

    tomcat软件:java开发的。java软件运行的时候需要jdk。

     

    向下兼容。tomcat7也支持servlet3.0/jsp2.2规范,可以支持javaee6.0当前企业常用的版本 6.* / 7.*/8.*
     

    3.3、tomcat下载和安装说明

    到http://tomcat.apache.org  下载

    1) Tomcat首页

     

    2)Tomcat下载

     

     

     

    3)下载后的包

     

     

    4)安装:解压

     

    5)tomcat的安装目录介绍:

    bin:可以执行文件。
    conf:tomcat服务器的配置文件
    lib:tomcat启动后需要依赖的jar包
    logs:tomcat工作之后的日志文件
    webapps:是tomcat布暑工程的目录。

    work:jsp文件在被翻译之后,保存在当前这个目录下,session对象被序列化之后保存的位置

     

     

    3.4、Tomcat服务器启动(**重点)


    注意事项:

    1、JAVA_HOME:环境变量。并且配置到jdk的目录,其完整过程如下:

     

    打开控制台(cmd命令打开窗口)。输入java -version测试

     

    2、启动tomcat目录。 tomcat目录/bin/startup.bat(window启动文件) 找到startup.bat 双击运行。会有一个黑窗口,黑窗口不要关闭。(如果关闭,相当于把tomcat停止了。)


    3、在浏览器地址栏中输入:http://localhost:8080 或者 http://127.0.0.1:8080localhost ,如果看到如下页面,证明启动成功

     

    3.5、配置tomcat的端口(****重点)

     

    tomcat默认的端口是8080(访问端口)


    http的默认端口是80,如果访问的时候输入http://www.baidu.com相当于http://www.baidu.com:80。当真正在项目上线之后,通常采用80,修改方法如下:
    1)找到tomcat目录/conf/server.xml
    2)修改port的值,将port端口的值修改为80

    3)然后在浏览器中输入 http://127.0.0.1:80 或 http://127.0.0.1 访问测试

    访问成功!!!

     

    3.6、catalina run 启动Tomcat

    Tomcat启动,还有一种启动的方法就是在命令行中,先把你的当前目录切换 到你tomcat目录\bin目录下,如下是我的位置



    再执行catalina run 这个命令启动Tomcat。这个命令有什么好处。当Tomcat启动失败的时候,会有一闪而过的情况,

    当我们使用catalina run 这个命令启动Tomcat的时候,哪怕有错误,我们也可以清楚的看到tomcat失败的原因。不会一闪而过。

     

    3.7、tomcat关闭

    有三种方法。

    第一种:Ctrl+C键 关闭Tomcat服务器
    第二种:点击Tomcat窗口的右上角关闭按钮 (暴力停止服务器)
    第三种:找到tomcat目录/bin/shutdown.bat文件,双击执行关闭Tomcat。


     

    4、常用的布署工程到Tomcat中的两种方式

     

    把我们自己书写的html,servlet这些信息,部署到tomcat的方式。

     

    4.1、第一种方法:在tomcat目录/conf/server.xml 配置---了解

    在conf/server.xml文件的host元素中配置,例如:
    在host标签内书写如下内容

    <Context  path="/atguigu"  docBase="D:\atguigu"/>
    <Context  path=”浏览器要访问的目录---虚拟目录”  docBase=”网站所在磁盘目录”/>



    配置好之后,要重启服务器。

    缺点(Tomcat7.0之后):如果配置错误:tomcat会启动失败。(如果tomcat里面存放的其他的网站),其他网站也会停机。

     

    4.2、第二种方式:将网站目录复制到tomcat/webapps目录(常用,必须掌握)

    有一个网站(一个文件夹),把文件夹复制到tomcat的webapps目录下。

    文件夹的名字,就是网站或者工程的访问目录.相当于之前配置 <Context path=”” 的配置

     

    4.3、把网站目录压缩成war包部署到tomcat中

    war包:就是一个压缩文件 zip格式的压缩文件。 只不过扩展名不是.zip 而是.war

    把我们的项目进行压缩zip,改成war,把war文件拷贝到tomcat/webapps目录下

    步骤1、把文件夹中的内容压缩成zip的格式,点击一个要部署的文件夹下面,全选 然后压缩
    步骤2、修改文件的后缀名为.war
    步骤3.把war文件复制到webapps目录下。tomcat会自己把war的文件进行解压

     

    4.4、webapps目录下/ROOT工程的访问

    当我们在浏览器中直接输入http://ip地址:端口号   那么 默认访问的是Tomcat目录/webapps/ROOT目录
    如果webapps下面有一个ROOT的项目。那么在访问的时候,直接可以省略项目的名字/ 表示找到root目录

     

    5、整合Tomcat和Eclipse开发工具中(***常用必须掌握)

     

    5.1、打开Eclipse的Server视图窗口

     

    第一种情况,直接打开Servers窗口

    第二种情况,搜索Servers窗口打开

    图一,打开总的eclipse视图
    图二:输入Server过滤出服务器窗口选项

    Servers服务器窗口已成功打开,如下图:

    5.2、创建Tomcat 服务器

     

    1)在Servers窗口中,点击 创建 server 的文字提示连接。如下图:

    2)创建一个新的Tomcat服务器实例 

     

    3)点击Browse按钮,打开目录选择窗口。选择Tomcat 解压目录

     

    4)选择Tomcat目录,然后点击确定按钮

    5)Tomcat目录选择好之后,点击 【Next】按钮继续操作

     

    6)点击 【Finish】按钮结束操作

    7)Tomcat 服务器创建成功!!!

     

    5.3、启动Eclipse中的Tomcat服务器

    1)Debug模式启动Tomcat服务器

    提示当前为Debug模式启动!!!

    Tomcat启动成功的控制台提示!!!

     

    2)Run模式启动Tomcat服务器

    Run模式启动显示

    Tomcat启动成功的控制台提示!!!

     

    5.4、停止 Eclipse 中的Tomcat 服务器

    暴力停止 Tomcat (相当于电脑被拔掉电源一样。没有执行关机的准备操作。)

    正常停止 Tomcat (相当于点击操作系统中的关机按钮,执行关机保存操作,然后关机)

     

    5.5、配置Eclipse 中的Tomcat 布暑的Web工程路径

    1)打开Servers窗口,双击Tomcat v6.0 Server 服务器打开 Tomcat的配置窗口

    这里是Eclipse把工程发布后的三种不同的选项。

    2)Tomcat 位置-选项介绍说明:

     

    2.1、User workspance metadata (does not modify Tomcat installation) 将在eclipse的工作区间目录下eclipse的工作空间目录\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\ 有一份tomcat的拷贝所有布暑的web工程都会布暑到eclipse的工作空间目录\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps目录中
    2.2、 User Tomcat installation (takes control of Tomcat installation) 在原Tomcat目录下做更改操作所有布暑的web工程都会发布到Tomcat目录下的\wtpwebapps目录中
    2.3、 User custom location ( does not modify Tomcat installtion ) 自定义一个目录去布暑Web工程

    比如操作如下:
    一:选择自定义的布暑目录

     

    二:选择你自定义的目录,然后点击确定。之后Tomcat的一些目录会被拷贝过来。布暑的工程也在这个目录下的wtpwebapps目录下
    三:选中你要布暑的工程,右键选择菜单 Run As --->>> Run on Server 将工程布暑到刚刚自定义的目录下。
    四:选择你当前的web工程需要使用的哪个服务器运行。
    如果勾选中 Always use this server when running this project 表示下次运行服务器的时候默认使用当勾时时候选择的服务器运行。

     

    五:等待Tomcat启动,web工程布暑成功后。查看

     

     

     

    六:在浏览器中输入http://127.0.0.1:8080/day06/index.html 测试查看

     

    6 HTTP协议介绍

     

    6.1、 HTTP协议

    1.HTTP(hypertext transport protocol),即超文本传输协议。这个协议详细规定了浏览器和万维网服务器之间互相通信的规则。
    2.客户端与服务端通信时传输的内容我们称之为报文。
    3.HTTP就是一个通信规则,这个规则规定了客户端发送给服务器的报文格式,也规定了服务器发送给客户端的报文格式。实际我们要学习的就是这两种报文。客户端发送给服务器的称为”请求报文“,服务器发送给客户端的称为”响应报文“。

    大白话说,什么是协议。是双方相互约定好的规则;比如:租房协议:租房协议就是租客和房东之间相互约定好的租房规则 

     

    6.2、请求的协议格式

    请求的HTTP协议格式:
     

    请求行   
    请求头
    空行
    请求体


    GET请求协议格式  (get请求没有请求体)

    POST请求协议格式

     

    6.3、常见请求头的说明


    GET /Hello/index.jsp HTTP/1.1:GET请求,请求服务器资源的路径 Hello/index.jsp,  协议为http   版本为1.1;
    Host:localhost:请求的主机名为localhost;
    User-Agent: Mozilla/4.0 (compatible; MSIE 8.0…:与浏览器和OS相关的信息。有些网站会显示用户的系统版本和浏览器版本信息,这都是通过获取User-Agent头信息而来的;
    Accept: */*:告诉服务器,当前客户端可以接收的数据类型, */*,就表示什么都可以接收;
    Accept-Language: zh-CN:当前客户端支持的语言,可以在浏览器的工具选项中找到语言相关信息;
    Accept-Encoding: gzip, deflate:支持的压缩格式。数据在网络上传递时,可能服务器会把数据压缩后再发送;
    Connection: keep-alive:客户端支持的链接方式,保持一段时间链接,默认为3000ms;

     

    6.4、get请求和post请求都分别是哪些?


    GET请求 

    1)、输入浏览器地址栏输入地址,直接按回车  
    2)、点击<a>超链接   
    3)、GET请求 表单提交  
    4)、script src=””,引入外部文件 
    5)、img src=”路径”,引入图片
    6)、引入外部css。。。


    POST请求

    1)只有表单提交的时候method=post,提交表单就是发post请求

     

    6.5、响应的协议格式

    响应的HTTP协议格式

    响应首行
    响应头信息
    空行
    响应体

     

    6.6、常见的响应码

    响应码对浏览器来说很重要,它告诉浏览器响应的结果;

    200:请求成功,浏览器会把响应体内容(通常是html)显示在浏览器中;
    404:请求的资源没有找到,说明客户端错误的请求了不存在的资源;
    500:请求资源找到了,但服务器内部出现了错误;
    302:请求重定向,当响应码为302时,表示服务器要求浏览器重新再发一个请求,服务器会发送一个响应头Location,它指定了新请求的URL地址;

     

    7、servlet(重点*****)

     

    7.1、servlet简介

    servlet 是运行在 Web 服务器中的小型 Java 程序。servlet 通常通过 HTTP(超文本传输协议)接收和响应来自 Web 客户端的请求。 
    要实现此接口,可以编写一个扩展 javax.servlet.GenericServlet 的一般 servlet,或者编写一个扩展 javax.servlet.http.HttpServlet 的 HTTP servlet。 
    此接口定义了初始化 servlet 的方法、为请求提供服务的方法和从服务器移除 servlet 的方法。这些方法称为生命周期方法,它们是按以下顺序调用的: 

    1.构造 servlet,然后使用 init 方法将其初始化。 
    2.处理来自客户端的对 service 方法的所有调用。 
    3.从服务中取出 servlet,然后使用 destroy 方法销毁它,最后进行垃圾回收并终止它。

    Servlet:

    1、接受浏览器发送过来的消息。
    2、给浏览器返回消息。浏览器认识html。可以动态去输出html

     

    7.2、servlet快速入门

     

    7.2.1、如何创建动态的Web工程

    1)先创建 动态的Web工程

    2)  配置工程的选项

    3)勾选生成web.xml配置文件



    4)动态web工程创建完成!!!

    5)web工程的介绍和说明

     

    7.2.2、手动编写servlet实现

    写servlet做两件事

    1、实现servlet接口。 由sun公司定义的一个接口。(定义一个规范)
    2、把类部署到web服务器中(tomcat)。

    sun公司定义一个servlet的规范。定义了servlet应该有哪些方法,以及方法需要的参数。

    1、实现servlet接口(javax.servlet.Servlet)
    2、重写service方法(service方法每次请求都会调用一次)
    
     
    1. package com.atguigu.web;

    2.  
    3. import java.io.IOException;

    4.  
    5. import javax.servlet.Servlet;

    6. import javax.servlet.ServletConfig;

    7. import javax.servlet.ServletException;

    8. import javax.servlet.ServletRequest;

    9. import javax.servlet.ServletResponse;

    10.  
    11. public class Hello implements Servlet{

    12.  
    13. @Override

    14. public void destroy() {

    15. // TODO Auto-generated method stub

    16. System.out.println("Servlet销毁了!");

    17. }

    18.  
    19. @Override

    20. public ServletConfig getServletConfig() {

    21. // TODO Auto-generated method stub

    22. return null;

    23. }

    24.  
    25.  
    26. @Override

    27. public String getServletInfo() {

    28. // TODO Auto-generated method stub

    29. return null;

    30. }

    31.  
    32.  
    33. @Override

    34. public void init(ServletConfig arg0) throws ServletException {

    35. // TODO Auto-generated method stub

    36. System.out.println("ServerConfig 初始化了");

    37. }

    38.  
    39.  
    40. @Override

    41. public void service(ServletRequest arg0, ServletResponse arg1)

    42. throws ServletException, IOException {

    43. // TODO Auto-generated method stub

    44. System.out.println("hello servlet service方法被调用");

    45. }

    46. }


    当浏览器输入地址,访问servlet的时候,servlet会执行servcie方法。

     

    3、在WebContent/WEB-INF/web.xml中配置servlet的访问路径 。浏览器访问servlet的路径

    web.xml(新建web工程的时候,eclipse自动创建出来的)的位置:

    在web.xml的根标签下,直接书写如下内容。

    
     
    1. <?xml version="1.0" encoding="UTF-8"?>

    2. <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_2_5.xsd" id="WebApp_ID" version="2.5">

    3. <display-name>day06</display-name>

    4.  
    5. <servlet>

    6. <servlet-name>Hello</servlet-name>

    7. <servlet-class>com.atguigu.web.Hello</servlet-class>

    8. </servlet>

    9. <servlet-mapping>

    10. <servlet-name>Hello</servlet-name>

    11. <url-pattern>/hello</url-pattern>

    12. </servlet-mapping>

    13.  
    14.  
    15.  
    16. <welcome-file-list>

    17. <welcome-file>index.html</welcome-file>

    18. <welcome-file>index.htm</welcome-file>

    19. <welcome-file>index.jsp</welcome-file>

    20. <welcome-file>default.html</welcome-file>

    21. <welcome-file>default.htm</welcome-file>

    22. <welcome-file>default.jsp</welcome-file>

    23. </welcome-file-list>

    24.  
    25. </web-app>



    4、把项目部署到tomcat中,去启动tomcat。在地址栏中输入信息,访问servlet

    控制台打印:

     

    7.2.3、访问servlet的细节

    浏览器地址栏中输入:http://localhost:8080/day06/hello
    访问过程分析:

     

    7.2.4、servlet生命周期

    Servlet的生命周期

    1.调用 init 方法 初始化Servlet
    2.调用 Servlet中的service方法 处理请求操作
    3.调用 destory方法 执行Servlet销毁的操作

    init方法:当服务器创建一个serlvet的时候,会去调用init方法。当我们第一次去访问一个servlet的时候,会去创建这个servlet对象。并且只会创建一次。如果配置了load-on-startup 表示服务器启动的时候就创建servlet实例。
    service方法:客户端每一次请求,tomcat都会去调用servcie方法。处理用户的请求。并且给其响应。每一次请求都会调用servcie方法。
    estroy 方法:当服务器销毁一个servlet的时候,会调用里面的destory方法。当我们的web服务器,正常关闭的时候,会去调用destroy方法。否则不会调用destroy的方法。

     

    7.3、使用Eclipse创建Servlet程序(重点*****)

    1)通过Eclipse自动新建一个Servlet程序

    2)修改Servlet的访问url地址

     

    3)勾选需要生成的Servlet方法


    4) 查看自动生成的结果内容!!!

    5) 在浏览器中输出http://127.0.0.1:80/day06/helloServlet 访问测试

    访问成功

     

    7.4、Servlet是单例的。Servlet中的变量,它有线程安全问题。

     

    7.4.1、全局变量,数据不安全。

    7.4.2、方法内的局部变量,数据安全

    展开全文
  • Tomcat服务器介绍

    万次阅读 多人点赞 2018-06-10 10:58:32
    Tomcat 是由 Apache 开发的一个 Servlet 容器,实现了对Servlet 和 JSP 的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。由于 Tomcat 本身也内含了一个 HTTP 服务器...

    下面内容部分网上摘抄。谢谢原作者无私的奉献。

    环境搭建完之后,就是需要tomcat的配置了,那先了解下tomcat是什么,可以干嘛。

    Tomcat 是由 Apache 开发的一个 Servlet 容器,实现了对Servlet 和 JSP 的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。

    由于 Tomcat 本身也内含了一个 HTTP 服务器,它也可以被视作一个单独的 Web 服务器。但是,不能将 Tomcat 和 Apache HTTP 服务器混淆,ApacheHTTP 服务器是一个用 C 语言实现的 HTTP Web 服务器;这两个 HTTPweb server 不是捆绑在一起的。Tomcat 包含了一个配置管理工具,也可以通过编辑XML格式的配置文件来进行配置。

    B/S工作流程

    上面主要可以看到分两个部分,一个是HTTP请求,一个是HTTP响应。

    请求分两种:动态请求和静态请求。

    动态请求:jsp、cgi、asp、php

    静态请求:html、htm

    什么是WEB容器:处理动态请求,可以直接连接数据库。

    1.1       tomcat主要目录

    /bin – Tomcat: 脚本存放目录(如启动、关闭脚本)。 *.sh 文件用于 Unix 系统; *.bat 文件用于 Windows 系统。

    /conf – Tomcat: 配置文件目录。

    /lib--Tomcat:tomcat服务器所需要的各个库文件

    /logs – Tomcat: 默认日志目录。

    /webapps – Tomcat:web应用程序存放的目录,web项目保存到此目录即可发布。

    /work-- Tomcat:临时文件夹,生成所有的临时文件(*.java、*.class)

    1.2       Web工程发布的目录结构

    |-- myWebApp# 站点根目录

     |-- META-INF # META-INF 目录

     | `--MANIFEST.MF # 配置清单文件

     |-- WEB-INF # WEB-INF 目录

     | |-- classes# class文件目录

     | | |--*.class # 程序需要的class 文件

     | | `-- *.xml# 程序需要的xml 文件

     | |-- lib # 库文件夹

     | | `-- *.jar# 程序需要的jar

    | `-- web.xml # Web应用程序的部署描述文件

     |-- <userdir># 自定义的目录

     |-- <userfiles># 自定义的资源文件

     

    myWebApp:工程发布文件夹。其实每个 war 包都可以视为 myWebApp的压缩包。

    META-INF:META-INF 目录用于存放工程自身相关的一些信息,元文件信息,通常由开发工具,环境自动生成。

    WEB-INF:Java web应用的安全目录。所谓安全就是客户端无法访问,只有服务端可以访问的目录。

    /WEB-INF/classes:存放程序所需要的所有 Java class 文件。

    /WEB-INF/lib:存放程序所需要的所有 jar 文件。

    /WEB-INF/web.xml:web 应用的部署配置文件。它是工程中最重要的配置文件,它描述了 servlet和组成应用的其它组件,以及应用初始化参数、安全管理约束等。

    查看服务是否已经安装好,先测一下。在浏览器输入你的公网ip:8080,出现下面网页表示安装成功。

    1.3      server.xml 配置

    server.xml的结构:

    注意:Service中可以有多个Connector元素,Host中可以有多个Context元素。

    1.3.1        Server元素

    Server 元素表示整个 Catalina servlet 容器。

    因此,它必须是 conf/server.xml 配置文件中的根元素。它的属性代表了整个 servlet 容器的特性。

    表 2‑1 Server属性表

    属性

    描述

    备注

    className

    这个类必须实现org.apache.catalina.Server接口。

    默认 org.apache.catalina.core.StandardServer

    address

    服务器等待关机命令的TCP / IP地址。如果没有指定地址,则使用localhost。

    port

    服务器等待关机命令的TCP / IP端口号。设置为-1以禁用关闭端口。

    shutdown

    必须通过TCP / IP连接接收到指定端口号的命令字符串,以关闭Tomcat。

    1.3.2        Service元素

    Service元素表示一个或多个连接器组件的组合,这些组件共享一个用于处理传入请求的引擎组件。Server 中可以有多个 Service

    表2‑ 2‑2 Service属性表

    属性

    描述

    备注

    className

    这个类必须实现org.apache.catalina.Service接口。

    默认 org.apache.catalina.core.StandardService

    name

    此服务的显示名称,如果您使用标准 Catalina 组件,将包含在日志消息中。与特定服务器关联的每个服务的名称必须是唯一的。

    实例 - conf/server.xml 配置文件示例

    <?xml version="1.0" encoding="UTF-8"?>

    <Serverport="8080"shutdown="SHUTDOWN">

    <Servicename="xxx">

    ...

    </Service>

    </Server>

    1.3.3        Executor元素

    Executor表示可以在Tomcat中的组件之间共享的线程池。

     表2‑3 Executor 属性表

    属性

    描述

    备注

    className

    这个类必须实现org.apache.catalina.Executor接口。

    默认 org.apache.catalina.core.StandardThreadExecutor

    name

    线程池名称。

    要求唯一, 供Connector元素的executor属性使用

    namePrefix

    线程名称前缀。

    maxThreads

    最大活跃线程数。

    默认200

    minSpareThreads

    最小活跃线程数。

    默认25

    maxIdleTime

    当前活跃线程大于minSpareThreads时,空闲线程关闭的等待最大时间。

    默认60000ms

    maxQueueSize

    线程池满情况下的请求排队大小。

    默认Integer.MAX_VALUE

    <Servicename="xxx">

      <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"maxThreads="300"minSpareThreads="25"/>

    </Service>

    1.3.4        Connector元素

    Connector代表连接组件。Tomcat 支持三种协议:HTTP/1.1、HTTP/2.0、AJP。

    表2‑4Connector属性表

    属性

    说明

    备注

    asyncTimeout

    Servlet3.0规范中的异步请求超时

    默认30s

    port

    请求连接的TCP Port

    设置为0,则会随机选取一个未占用的端口号

    protocol

    协议. 一般情况下设置为 HTTP/1.1,这种情况下连接模型会在NIO和APR/native中自动根据配置选择

    URIEncoding

    对URI的编码方式.

    如果设置系统变量org.apache.catalina.STRICT_SERVLET_COMPLIANCE为true,使用 ISO-8859-1编码;如果未设置此系统变量且未设置此属性, 使用UTF-8编码

    useBodyEncodingForURI

    是否采用指定的contentType而不是URIEncoding来编码URI中的请求参数

    以下属性在标准的Connector(NIO, NIO2 和 APR/native)中有效:

     表2‑5标准的Connector属性表

    属性

    说明

    备注

    acceptCount

    当最大请求连接maxConnections满时的最大排队大小

    默认100,注意此属性和Executor中属性maxQueueSize的区别.这个指的是请求连接满时的堆栈大小,Executor的maxQueueSize指的是处理线程满时的堆栈大小

    connectionTimeout

    请求连接超时

    默认60000ms

    executor

    指定配置的线程池名称

    keepAliveTimeout

    keeAlive超时时间

    默认值为connectionTimeout配置值.-1表示不超时

    maxConnections

    最大连接数

    连接满时后续连接放入最大为acceptCount的队列中. 对 NIO和NIO2连接,默认值为10000;对 APR/native,默认值为8192

    maxThreads

    如果指定了Executor, 此属性忽略;否则为Connector创建的内部线程池最大值

    默认200

    minSpareThreads

    如果指定了Executor, 此属性忽略;否则为Connector创建线程池的最小活跃线程数

    默认10

    processorCache

    协议处理器缓存Processor对象的大小

    -1表示不限制.当不使用servlet3.0的异步处理情况下: 如果配置Executor,配置为Executor的maxThreads;否则配置为Connnector的maxThreads. 如果使用Serlvet3.0异步处理, 取maxThreads和maxConnections的最大值

    1.3.5          Context元素

    Context元素表示一个Web应用程序,它在特定的虚拟主机中运行。每个Web应用程序都基于Web应用程序存档(WAR)文件,或者包含相应的解包内容的相应目录,如Servlet规范中所述。

     

    属性

    说明

    备注

    altDDName

    web.xml部署描述符路径

    默认 /WEB-INF/web.xml

    docBase

    Context的Root路径

    和Host的appBase相结合, 可确定web应用的实际目录

    failCtxIfServletStartFails

    同Host中的failCtxIfServletStartFails, 只对当前Context有效

    默认为false

    logEffectiveWebXml

    是否日志打印web.xml内容(web.xml由默认的web.xml和应用中的web.xml组成)

    默认为false

    path

    web应用的context path

    如果为根路径,则配置为空字符串(""), 不能不配置

    privileged

    是否使用Tomcat提供的manager servlet

    reloadable

    /WEB-INF/classes/ 和/WEB-INF/lib/ 目录中class文件发生变化是否自动重新加载

    默认为false

    swallowOutput

    true情况下, System.out和System.err输出将被定向到web应用日志中

    默认为false

    1.3.6          Engine元素

    Engine元素表示与特定的Catalina服务相关联的整个请求处理机器。它接收并处理来自一个或多个连接器的所有请求,并将完成的响应返回给连接器,以便最终传输回客户端。

     表2‑6  Engine元素

    属性

    描述

    备注

    defaultHost

    默认主机名,用于标识将处理指向此服务器上主机名称但未在此配置文件中配置的请求的主机。

    这个名字必须匹配其中一个嵌套的主机元素的名字属性。

    name

    此引擎的逻辑名称,用于日志和错误消息。

    在同一服务器中使用多个服务元素时,每个引擎必须分配一个唯一的名称。

    1.3.7          Host元素

    Host元素表示一个虚拟主机,它是一个服务器的网络名称(如“www.mycompany.com”)与运行Tomcat的特定服务器的关联。

     

    属性

    说明

    备注

    name

    名称

    用于日志输出

    appBase

    虚拟主机对应的应用基础路径

    可以是个绝对路径, 或${CATALINA_BASE}相对路径

    xmlBase

    虚拟主机XML基础路径,里面应该有Context xml配置文件

    可以是个绝对路径, 或${CATALINA_BASE}相对路径

    createDirs

    当appBase和xmlBase不存在时,是否创建目录

    默认为true

    autoDeploy

    是否周期性的检查appBase和xmlBase并deploy web应用和context描述符

    默认为true

    deployIgnore

    忽略deploy的正则

    deployOnStartup

    Tomcat启动时是否自动deploy

    默认为true

    failCtxIfServletStartFails

    配置为true情况下,任何load-on-startup>=0的servlet启动失败,则其对应的Contxt也启动失败

    默认为false

    1.3.8          Cluster元素

    由于在实际开发中,我从未用过Tomcat集群配置,所以没研究。

    1.4        部署方式

    这种方式要求本地必须安装 Tomcat 。

    将打包好的 war 包放在 Tomcat 安装目录下的 webapps 目录下,然后在 bin 目录下执行 startup.bat (windows)或 startup.sh(linux) ,Tomcat 会自动解压 webapps 目录下的 war 包。

    成功后,可以访问 http://公网IP:8080/xxx (xxx 是 war 包文件名)。

    注意:

    以上步骤是最简单的示例。步骤中的 war 包解压路径、启动端口以及一些更多的功能都可以修改配置文件来定制 (主要是 server.xml或 context.xml 文件)。

    展开全文
  • Tomcat服务器安装配置部署

    万次阅读 2018-07-30 11:33:31
    首先下载tomcat服务器: tomcat是一个免费开源的服务器,可以到官方网站:http://tomcat.apache.org/下载,jdk每更新一个版本,tomcat就会推出响应版本与之对应。截止到现在,最低可用版本是tomcat7。官方提供解压...

    首先下载tomcat服务器:

    tomcat是一个免费开源的服务器,可以到官方网站:http://tomcat.apache.org/下载,jdk每更新一个版本,tomcat就会推出响应版本与之对应。截止到现在,最低可用版本是tomcat7。官方提供解压版和安装版,解压版提供32位/64位,有一些小的区别是32位的是可以在dos使用startup.bat和shutdown.bat指令的。64位看电脑心情。

    解压版我们直接讲tomcat服务器解压到目的目录即可,目录不要有中文,不要包含空格。

    安装完成后可以从dos启动和关闭tomcat服务器:进入到tomcat的bin目录中,直接运行startup.bat或者shutdown.bat即可,对于关闭服务器也可以在任务管理器中关闭进程。

    tomcat默认开启端口号是8080。如果端口号被占用,我们可以手动再配置端口号:进入到tomcat目录下的conf目录的server.xml文件,在第70行,我们将连接端口改为8081或其他:<Connector port="8081"/>。那么如何查看端口状态?

    在dos下输入:netstat -ano|find "端口号" 查看指定端口的状态。开启时为ESTIBLISHED

    测试服务器是否启动成功:

    ①浏览器输入:http://localhost:8081         8081是我们修改的端口号

    ②                      http://127.0.0.1:8081         127.0.0.1是本机环回地址

    开启成功会显示阿tomcat的页面。

    tomcat的目录如下:

    我们在开发javaweb项目的时候,编写的源文件(src)文件是开发者文件,他会被写成.class文件和jar包分别放在WEB-INF文件夹中的classes文件夹和lib文件夹,只是我们在工程视角是看不见这些文件的。因为客户只需要使用WEB-INF中的东西不需要关心源码,维护的话由开发者对src文件进行升级编写。

    WEB-INF中的内容:

    class文件、需要用到的jar包、web.xml配置文件

    不能被外部直接访问,需要正确部署到服务器上才能被访问。

    部署方法有两种:

    ①开放目录部署方式:

    直接将项目放到tomcat目录下的webapps目录下。

    ②把应用打成war包:

           dos中的打war包命令:jar -cvf MyApp.war

           把war包直接方到tomcat目录下的webapps目录下,应用自动解压

    注:webapps中有几个目录就有几个应用。

     

    Tomcat 与 eclipse集成

    以Myeclipse介绍集成方法:

    打开Myeclipse->Window->Preferences->Myeclipse->Servers->Tomcat->Tomcat 7.x(根据自己的版本)

    选择enable填入tomcat的路径确定即可。

    使用Myeclipse启动部署tomcat服务器简单方便。掌握有益快速开发。

    Myeclipse启动部署项目

    在Servers中右键选择tomcat服务器选择Add Deployment选择需要挂到服务器上的项目确定,右键启动服务器。可以浏览器端打开URL,服务器根目录下数项目名称的目录,再下一级根据我们创建Servlet时在xml文件中定义的映射目录写。需要注意的是,每次我们修改项目内容的后都需要重新部署项目。在项目内文件位置或者文件/项目名称发生变化的时候,服务器可能会报出500/404的错误。500是服务器端语法错误,404是当前目录找不到文件的错误,这点需要注意一下。

    展开全文
  • Tomcat服务器结构浅析(一)

    千次阅读 2018-09-02 18:00:50
      Tomcat是全世界最著名的基于Java语言的轻量级应用服务器,是一款完全开源免费的Servlet容器实现。同时,它支持HTML,JS等静态资源的处理,因此也可作为轻量级的WEB服务器来使用。在以前的WEB开发当中,我们主要...
  • Tomcat简介 Tomcat简介 如何实现动态网页技术,HTML包括JavaScript都是静态网页技术,就是不能与数据库交互,不是实现登录、注册、提交购物车、搜索。动态是根据不同的客户端、不同的时间、不同的偏好可以提供不同的...
  • tomcat、Servlet入门】

    2020-06-12 08:35:53
    tomcat、Servlet入门】 web相关概念回顾 软件架构: C/S:客户端/服务器端 B/S:浏览器/服务器端 资源分类: 静态资源:所有用户访问后,得到的结果都是一样的。静态资源可以直接被浏览器解析。 如:html、...
  •  本章学习tomcat服务器的相关知识,了解服务器的基本概念 方法 1.服务器的概念和作用 我们知道,我们学习Java的时候都是手动运行的Java代码,通过前面的学习我们知道,用户每发一次请求我们都需要服务器在后台...
  • 文章目录Tomcat&Web程序结构&Servlet入门一、web基础1. CS:客户端/服务器2. BS:浏览器/WEB服务器3.动态网页与静态网页4.服务器二、Tomcat介绍1.概述2.安装三、Web项目1.结构2.手动创建web项目3.web项目部署...
  • 第1章 tomcat服务器 1.1 软件的架构 1.1.1 网络应用程序(软件)的组成 网络中有很多的计算机,它们直接的信息交流,我们称之为:交互。 在互联网交互的过程的有两个非常典型的交互方式——B/S 交互模型和C/S 交互...
  • 部署tomcat服务器

    万次阅读 2018-10-10 11:31:43
    我是一个菜鸟,最近接触到了服务器部署服务,把这些经过记录下来,希望能帮助到他人避免踩坑。其中包括安装和配置jdk,tomcat设置,sqlserver数据库设置,外加上域名解析,全部完成之后就可以通过域名来访问tomcat...
  • TomCat服务器的搭建

    千次阅读 2018-08-07 15:21:35
    在调试H5与Android的webview交互时遇到了,想要调试自己的JS注入接口是否成功,想查看H5端的JS代码是否有效,需要对方配合,就萌生了了自己做个测试网页的概念,首先就是搭建个tomcat服务器来跑我们的web代码。...
  • 我们在程序编写的过程中总是会遇到一些中文编码的问题,需要在程序中很多环节中去进行过滤和转义,依旧有可能遇到中文乱码的问题,下面是我的一个同事告诉我的方法,百时不灵,当然是针对于tomcat服务器来说的。...
  • (全程图解)Eclipse配置Tomcat服务器

    万次阅读 多人点赞 2018-09-16 11:56:55
    如果看到这篇文章,说明已经下载好了Eclipse和安装好了Tomcat服务器,要做的就是在Eclipse中配置Tomcat服务器 二、配置步骤 2.1 创建Tomcat运行环境 1.菜单选择:window-&gt;preferences打开设置框 2.在搜索...
  • Myeclipse配置tomcat服务器(方法一)

    万次阅读 2018-04-14 15:19:59
    第一步:启动MyEclipse第...Tomcat7.x完成前面的所有操作后会进入下图所示的界面第三步:将Tomcat 7.xserver选项改成Enable第四步:Tomcatbase directory中的路径设置成Tomcat服务器的安装路径,设置完成后其他的两个...
  • 在Windows下如何安装Tomcat服务器搭建

    万次阅读 2016-06-22 19:48:13
    Tomcat 服务器是一个免费的开放源代码...在Windows下安装Tomcat服务器的方式有两种,一种是直接安装,一种是绿色版,解压后就可以直接使用的 这篇文章为大家介绍第二种方式 首先从http://download.csdn.net/deta
  • (详细图示)IDEA 配置Tomcat服务器和发布web项目

    万次阅读 多人点赞 2018-12-29 13:39:34
    IDEA 配置Tomcat服务器 IDEA 配置Tomcat服务器 1.创建好web项目之后,现在需要配置服务器,以Tomcat为例 2.选择Run-Edit Configurations 3.点击右上角 + 号,选择2处展开剩下选项 4.找到Tomcat Server,...
  • 一、前言。 沉迷工作,日渐消瘦,好久没有更新博客了。之前的那本java设计模式,已经看全了。没时间更新博客,最近学服务器端的... 一般的,都是使用Tomcat或者是IIS服务器,我这里使用的是 TomCat服务器哈。 二、准
  • Eclipse配置Tomcat服务器,通用方法

    万次阅读 2016-02-29 09:16:49
    Eclipse配置Tomcat服务器 【1】下载并成功安装了Eclipse和Tomcat: (1)Tomcat下载地址:http://tomcat.apache.org/ (尽量安装6.0以上的版本) (2)Eclipse下载地址:(有些版本功能不全,请下载本人的版本...
  • Tomcat服务器集群搭建

    万次阅读 2018-05-23 15:10:51
    Tomcat服务器集群与负载均衡一、前言在单一的服务器上执行WEB应用程序有一些重大的问题,当网站成功建成并开始接受大量请求时,单一服务器终究无法满足需要处理的负荷量,所以就有点显得有 点力不从心了。...
1 2 3 4 5 ... 20
收藏数 392,239
精华内容 156,895
关键字:

tomcat服务器