皓学IT:WEB02-Tomcat-idea

一、Tomcat

1.1 Tomcat介绍

1.1.1 关于服务器

服务器的概念非常的广泛,它可以指代一台特殊的计算机(相比普通计算机运行更快、负载更高、价格更贵),也可以指代用于部署网站的应用。我们这里说的服务器,其实是web服务器,或者应用服务器。它本质就是一个软件,一个应用。作用就是发布我们的应用(工程),让用户可以通过浏览器访问我们的应用。

常见的应用服务器,请看下表:

服务器名称 说明
weblogic 实现了javaEE规范,重量级服务器,又称为javaEE容器
websphere 实现了javaEE规范,重量级服务器。
JBOSS 实现了JavaEE规范,重量级服务器。免费的。
Tomcat 实现了jsp/servlet规范,是一个轻量级服务器,开源免费。

1.1.2 Tomcat历史

1)Tomcat最初由Sun公司的软件架构师James Duncan Davids开发,名称为 "JavaWebServer"。

2)1999年,在Davidson的帮助下,该项目于1999年于apache 软件基金会旗下的 JServ 项目合并,并发布第一个版本(3.x), 即是现在的Tomcat,该版本实现了Servlet2.2 和 JSP 1.1 规范。

3)2001年,Tomcat 发布了4.0版本,作为里程碑式的版本,Tomcat完全重新设计了其架构,并实现了Servlet 2.3 和 JSP1.2规范。

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

1.1.3 Tomcat各版本所需支持

1.1.4 Tomcat下载

Tomcat官网下载地址

1.1.5 Tomcat安装

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

将解压后的文件copy到一个没有中文和空格的路径下即可

例如:D:\java\tomcat\apache-tomcat-8.5.75

1.1.6 Tomcat目录结构详解

1.2 Tomcat基本使用

1.2.1 Tomcat启动和停止及问题分析解决

1)启动和停止

Tomcat服务器的启动文件在二进制文件目录中:

Tomcat服务器的停止文件也在二进制文件目录中:

其中.bat文件是针对windows系统的运行程序,.sh文件是针对linux系统的运行程序。

2)启动问题

第一个问题:启动一闪而过

原因:没有配置环境变量。

解决办法:配置上JAVA_HOME环境变量

第二个:Address already in use : JVM_Bind

原因:端口被占用

解决办法:找到占用该端口的应用

进程不重要:使用cmd命令:netstat -a -o 查看pid 在任务管理器中结束占用端口的进程。

进程很重要:修改自己的端口号。修改的是Tomcat目录下\conf\server.xml中的配置。

第三个:启动产生很多异常,但能正常启动

原因:Tomcat中部署着很多项目,每次启动这些项目都会启动。而这些项目中有启动报异常的。

解决办法:

能找到报异常的项目,就把它从发布目录中移除。

不能确定报异常的项目,就重新解压一个新的Tomcat。

第四个:其它问题

例如:启动产生异常,但是不能正常启动。此时就需要解压一个新的Tomcat启动,来确定是系统问题,还是Tomcat的问题。

所以,此时就需要具体问题,具体分析,然后再对症解决。

第五个问题: 乱码

1 找到Tomcat 目录下conf 文件夹中的logging.properties文件

2 找到文件中的**java.util.logging.ConsoleHandler.encoding = UTF-8,**修改成GBK

1.2.2 IDEA集成Tomcat服务器

第一步

第二步

第三步

1.2.3 Linux系统安装Tomcat

第一步:下载tomcat

参考2.1.2小节的《Tomcat下载与安装》 进入Tomcat官网,找到对应版本点击download进入下载页面,如下图:

第二步:上传到linux

在crt上 使用 alt+p 将windows上的软件拖进去即可(root目录)

第三步:在 /usr/local 新建一个文件夹tomcat

复制代码
mkdir /usr/local/tomcat

第四步:移动 tomcat...tar.gz 到 /usr/local/tomcat

复制代码
mv apache-tomcat-8.5.32.tar.gz /usr/local/tomcat/

第五步:进入/usr/local/tomcat目录,解压Tomcat

复制代码
cd /usr/local/tomcat
tar -xvf apache-tomcat-8.5.32.tar.gz

第六步:进入 /usr/local/tomcat/apache-tomcat-8.5.32/bin

复制代码
cd /usr/local/tomcat/apache-tomcat-8.5.32/bin

第七步:启动tomcat

复制代码
方式1:
    sh startup.sh
方式2:
    ./startup.sh

第八步:修改防火墙的规则

复制代码
方式1:service iptables stop  关闭防火墙(不建议); 用到哪一个端口号就放行哪一个(80,8080,3306...)
​
方式2:放行8080 端口
    修改配置文件
        cd /etc/sysconfig
        vi iptables
            复制(yy , p)  
                -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
            改成
                -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
        重启加载防火墙或者重启防火墙
            service iptables reload  
            或者
            service iptables restart

1.3 Tomcat发布应用-JavaWeb应用

1.3.1 JavaWeb工程概述

JavaWeb应用是一个全新的应用种类。这类应用程序指供浏览器访问的程序,通常也简称为web应用。

一个web应用由多个静态web资源和动态web资源组成,例如:html、css、js文件,jsp文件、java程序、支持jar包、工程配置文件、图片、音视频等等。

Web应用开发好后,若想供外界访问,需要把web应用所在目录交给Web服务器管理(Tomcat就是Web服务器之一),这个过程称之为虚似目录的映射。

1.3.2 JavaWeb应用目录结构详解

复制代码
myapp--------------应用名称
    1.html
    css/css.css
    js/demo.js
    WEB-INF--------如果有web.xml或者.class文件时,该目录必须存在,且严格区分大小写。
           --------该目录下的资源,客户端是无法直接访问的。
           --------目录中内容如下:
        classes目录----------------web应用的class文件(加载顺序:我们的class,lib目录中的jar包,tomcat的lib目录中的jar包。优先级依次降低)
        lib目录--------------------web应用所需的jar包(tomcat的lib目录下jar为所有应用共享)
        web.xml-------------------web应用的主配置文件

1.3.3 JavaWeb应用的创建

第一步

第二步

第三步

第四步

1.3.4 JavaWeb应用的部署

IDEA部署

第一步

第二步

配置默认主页

首先要明确的是,配置默认主页是针对应用说的。是应用的默认主页。 在应用的web.xml中配置:

XML 复制代码
<welcome-file-list>
    <welcome-file>默认主页</welcome-file>
</welcome-file-list>

例如:

XML 复制代码
<welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>
相关推荐
公贵买其鹿12 分钟前
List深拷贝后,数据还是被串改
java
xlsw_3 小时前
java全栈day20--Web后端实战(Mybatis基础2)
java·开发语言·mybatis
神仙别闹4 小时前
基于java的改良版超级玛丽小游戏
java
黄油饼卷咖喱鸡就味增汤拌孜然羊肉炒饭5 小时前
SpringBoot如何实现缓存预热?
java·spring boot·spring·缓存·程序员
暮湫5 小时前
泛型(2)
java
超爱吃士力架5 小时前
邀请逻辑
java·linux·后端
南宫生5 小时前
力扣-图论-17【算法学习day.67】
java·学习·算法·leetcode·图论
转码的小石5 小时前
12/21java基础
java
李小白665 小时前
Spring MVC(上)
java·spring·mvc
GoodStudyAndDayDayUp5 小时前
IDEA能够从mapper跳转到xml的插件
xml·java·intellij-idea