Tomcat —— 基础(安装,源码部署运行)

1、常见的Web服务器软件

  • Weblogic:orac1e公司,大型的 JavaEE服务器,支持所有的 JavaEE规范,收费的。
  • websphere:IBM公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的
  • JBOSS:JBOSS公司的,大型的 JavaEE服务器,支持所有的JavaEE规范,收费的
  • Tomcat:Apache基金组织,中小型的 JavaEE服务器,仅仅支持少量的JavaEE规范 servlet/jsp,开源的,免费的

2、Tomcat历史

  • Tomcat最初由Sun公司的软件架构师 James Duncan Davidson开发,名称为" JavaWebserver"
  • 1999年,在 Davidson的帮助下,该项目于1999年于 apache软件基金会旗下的 JServ项目合并,并发布第一个版本(3.x),即是现在的 Tomcat,该版本实现了serv1et2.2和JSP1.1规范。
  • 2001年, Tomcat发布了4.0版本,作为里程碑式的版本, Tomcat完全重新设计了其架构,并实现了 Servlet2.3和JSP1.2规范

目前 Tomcat已经更新到9.0.x版本,但是目前企业中的 Tomcat服务器,主流版本还是7.x和8.x。

3、Tomcat安装

  1. 下载
    官网网址:添加链接描述
    进入官网 —— download ——Tomcat8(如下图)
    在这里插入图片描述下载Tomcat安装包(选择与自己电脑匹配的32或64)及源码包
    在这里插入图片描述

  2. 安装
    将下载的zip压缩包,解压到系统的目录(建议是没有中文不带空格的目录)下即可。【解压即安装完成】

  3. Tomcat目录结构
    在这里插入图片描述4. Tomcat启动和停止
    启动tomcat服务器:
    在tomcat安装目录的bin目录下,运行startup.bat。
    访问tomcat服务器:
    http://主机的ip地址:端口号
    本地ip地址可以用localhost表示
    tomcat服务器: 在tomcat安装目录的bin目录下,运行shutdown.bat。
    如下图所示,表示tomcat服务器正常启动:
    在这里插入图片描述

4、Tomcat源码部署运行

前提:

工具:IDEA 2017.2
环境:
maven3.6.0
JDK1.8
Tomcat 8.5.54
注意:maven3.6.2及以上会出现与idea不兼容,maven项目导不进来

(1)maven 环境配置

下载maven:
首先到maven官网上下载maven,网址:http://maven.apache.org/download.cgi

在这里插入图片描述
在这里插入图片描述Windows 环境变量:
打开控制面板,选择系统,选择高级系统设置,打开高级那下面就有环境变量配置

确保已安装JDK,并 “JAVA_HOME” 变量已加入到 Windows 环境变量,也就是之前如果可以编译java就不用做这一步了。

添加 M2_HOME环境变量到 Windows 环境变量,并将其指向你的 Maven 文件夹,也就是在系统变量那添加名字为M2_HOME,复制你的放maven包路径作为值。
在这里插入图片描述
之后也是在系统变量那修改Path使得可以在命令中任何目录下运行maven:也就是在path的最后面加上%M2_HOME%\bin

确定环境就配置好了

按win+r,输入cmd打开命令窗口,输入mvn -v如果出现:
在这里插入图片描述
(2)idea建一个maven管理的工程

首先创一个文件夹作为maven的仓库,例如D:\maven_repository
来到maven文件下找到conf下的setting.xml文件(用编辑器打开)
找到:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

在下面插入本地仓库的地址:

<localRepository>D://maven_repository</localRepository>

注意地址里面填你的仓库的地址

然后由于用于maven搜索下载全球的global仓库是在外国搭建的,不稳定,为了加速可以使用国内的镜像仓库,可以使maven加载速度大大提高,在标签之间插入下面代码(不包括)

<mirror>
     <id>alimaven</id>
     <name>aliyun maven</name>
     <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
     <mirrorOf>central</mirrorOf>
  </mirror>

修改后保存就可以了 。

在IntelliJ IDEA中配置maven

打开-File-Settings
在这里插入图片描述新建maven WEB项目

打开-File-New-Project

点击NEXT
在这里插入图片描述在这里插入图片描述添加的配置为 archetypeCatalog=internal

点击NEXT
在这里插入图片描述点击NEXT
在这里插入图片描述点击Finish后项目开始创建。

(3)Tomcat源码部署运行

打开IDEA新建一个空白项目 (file——new——project)
在这里插入图片描述在这里插入图片描述
新建好项目之后,将Tomcat源码包放到工作空间(并解压)
在这里插入图片描述进入解压目录,并创建一个目录,命名为home,并将conf、 webapps目录移入home目录中

在当前目录下创建一个pom.xml文件,引入Tomcat的依包
在这里插入图片描述pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>Tomcat8.5</artifactId>
    <name>Tomcat8.5</name>
    <version>8.5</version>
 
    <build>
        <finalName>Tomcat8.5</finalName>
        <sourceDirectory>java</sourceDirectory>
        <testSourceDirectory>test</testSourceDirectory>
        <resources>
            <resource>
                <directory>java</directory>
            </resource>
        </resources>
        <testResources>
           <testResource>
                <directory>test</directory>
           </testResource>
        </testResources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
 
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.easymock</groupId>
            <artifactId>easymock</artifactId>
            <version>3.4</version>
        </dependency>
        <dependency>
            <groupId>ant</groupId>
            <artifactId>ant</artifactId>
            <version>1.7.0</version>
        </dependency>
        <dependency>
            <groupId>wsdl4j</groupId>
            <artifactId>wsdl4j</artifactId>
            <version>1.6.2</version>
        </dependency>
        <dependency>
            <groupId>javax.xml</groupId>
            <artifactId>jaxrpc</artifactId>
            <version>1.1</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.jdt.core.compiler</groupId>
            <artifactId>ecj</artifactId>
            <version>4.5.1</version>
        </dependency>
       
    </dependencies>
</project>

将Tomcat导入到IDEA中
在这里插入图片描述选择路径:F:\IDEA_files\itcast_project_tomcat\apache-tomcat-8.5.54-src\pom.xml

导入成功后,配置IDEA启动类

首先找到main方法
在这里插入图片描述配置启动类
1)点击“+”添加“Application”选择“BootStrap”
2)命名“BootStrap”
3)选择main class
4)VM配置

-Dcatalina.home=F:/IDEA_files/itcast_project_tomcat/apache-tomcat-8.5.54-src/home
-Dcatalina.base=F:/IDEA_files/itcast_project_tomcat/apache-tomcat-8.5.54-src/home
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=F:/IDEA_files/itcast_project_tomcat/apache-tomcat-8.5.54-src/home/conf/logging.properties

在这里插入图片描述点击应用,“ok”。
启动类配置好后,直接点击debug运行。会出现下图的错误。是由于为初始化JSP
在这里插入图片描述出现上述异常的原因,是我们直接启动org. apache.cata1ina. startup. Bootstrap的时候没有加载 JasperInitia1izer,从而无法编译JSP。解决办法是在 tomcat的源码 Contextconfig中的 configurestart函数中手动将Jsp解析器初始化

快捷键:
idea查找类:Ctrl+n
idea查找类中的方法:Ctrl+F12

在这里插入图片描述操作完成后再次运行,即可正常访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值