JavaEE简介和Tomcat的使用以及组件的介绍

本文介绍了JavaEE的基本概念和企业级开发中的作用,强调了其复杂性和效率问题。接着详细讲解了Tomcat,一个开源的Web容器,如何下载安装,目录结构,启动关闭,以及配置文件的作用。还提到了访问Tomcat的URL格式和解决控制台乱码、修改监听端口的方法。最后,文章讨论了Tomcat的架构,包括Server、Service、Connector、Engine、Host和Context组件的角色和配置。
摘要由CSDN通过智能技术生成

一. JavaEE简介

1.1 什么是JavaEE

 JavaEE(Java Enterprise Edition),Java企业版,是一个用于企业级web开发平台,它是一组Specification。最早由Sun公司定制并发布,后由Oracle负责维护。在JavaEE平台规范了在开发企业级web应用中的技术标准。
 在JavaEE平台共包含了13个技术规范(随着JavaEE版本的变化所包含的技术点的数量会有增多)。它们分别是:JDBC、JNDI、EJB、RMI,Servlet、JSP、XML、JMS、Java IDL、JPA、JTA、JavaMail和JAF。

JavaEE缺点

  1. JavaEE技术使用时过于复杂了
  2. JavaEE技术使用慢,效率过低。
  3. JavaEE技术较重,很多技术需要依赖服务器中间件。

开源框架优点

  • 高效:开发变得简单,快速,并且有效。
  • 成本:很多框架都是免费,并且开发人员编写代码更快,所以客户成本自然更低
  • 支持:框架有文档支持,团队支持,或者大的社区支持,能迅速帮你解决问 题

二 .Tomcat的使用

2.1 Tomcat简介

  Tomcat服务器是Apache的一个开源免费的Web容器。它实现了JavaEE平台下部分技术规范,属于轻量级应用服务器。

Tomcat作用
 可以在Tomcat中运行我们所编写的Servlet、JSP。

2.2 Tomcat下载与安装

下载
下载地址:Tomcat安装地址
安装
tomcat是绿色软件解压就能用,不过Tomcat是java开发的Web容器,使用使用之前要先安装jdk

2.3 Tomcat目录结构与介绍

bin
bin目录主要是用来存放tomcat的命令文件,主要有两大类,一类是以.sh结尾的(linux命令),另一类是以.bat结尾的(windows命令)。
conf
conf目录主要是用来存放tomcat的一些配置文件。
lib
lib目录主要用来存放tomcat运行需要加载的jar包。
logs
logs目录用来存放tomcat在运行过程中产生的日志文件。
temp
temp目录用户存放tomcat在运行过程中产生的临时文件。(清空不会对tomcat运行带来影响)
webapps
webapps目录用来存放应用程序,当tomcat启动时会去加载webapps目录下的应用程序。可以以文件夹、war包的形式发布应用。
work
work目录用来存放tomcat在运行时的编译后文件,例如JSP编译后的文件。

2.4 Tomcat启动与关闭

Tomcat的启动与关闭需要执行bin目录中的命令脚本。
Tomcat启动

  • 方式一
    运行startup.bat文件。
  • 方式二
    catlina.bat start
    其中catlina.bat是命令文件,start是启动Tomcat参数。

Tomcat关闭

  • 方式一
    运行shutdown.bat文件。
  • 方式二
    catlina.bat stop
    其中catlina.bat是命令文件,stop是关闭Tomcat参数。
  • 方式三
    直接关闭掉控制台窗口。

访问Tomcat
访问Tomcat的URL格式:

http://ip:port

访问本机Tomcat的URL格式:

http://localhost:8080

2.4.1 Tomcat配置文件介绍

Tomcat 的配置文件由4个xml组成,分别是 context.xml、web.xml、server.xml、tomcat-users.xml。每个文件都有自己的功能与配置方法。

context.xml
context.xml 是 Tomcat 公用的环境配置。 Tomcat 服务器会定时去扫描这个文件。一旦发现文件被修改(时间戳改变了),就会自动重新加载这个文件,而不需要重启服务器 。
web.xml
Web应用程序描述文件,都是关于是Web应用程序的配置文件。所有Web应用的 web.xml 文件的父文件。
server.xml
是 tomcat 服务器的核心配置文件,server.xml的每一个元素都对应了 tomcat中的一个组件,通过对xml中元素的配置,实现对tomcat中的各个组件和端口的配置。
tomcat-users.xml
配置访问Tomcat的用户以及角色的配置文件。

解决控制台乱码
控制台产生乱码的原因是在Tomcat在输出日志中使用的是UTF-8编码,而我们中文的Windows操作系统使用的是GBK编码。由于编码格式不统一,所以出现了乱码。
解决方式:
修改conf目录中的logging.properties文件重新指定的编码方式。

java.util.logging.ConsoleHandler.encoding =GBK

修改Tomcat监听端口
Tomcat默认监听端口为8080。可以通过修改server.xml文件来改变Tomcat的监听端口。

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

配置Tomcat Manager
什么是Tomcat Manager
Tomcat Manager是Tomcat自带的、用于对Tomcat自身以及部署在Tomcat上的应用进行管理的web应用。默认情况下,TomcatManager是处于禁用状态的。准确的说,Tomcat Manager需要以用户角色进行登录并授权才能使用相应的功能,不过Tomcat并没有配置任何默认的用户,因此我们需要先进行用户配置后才能使用Tomcat Manager。

配置Tomcat Manager的访问用户
Tomcat Manager中没有默认用户,我们需要在tomcat-users.xml文件配置。Tomcat Manager的用户配置需要配置两个部分:角色配置、用户名及密码配置。
Tomcat Manager中的角色分类

  • manager-gui角色:
    允许访问HTML GUI和状态页面(即URL路径为/manager/html/*)
  • manager-script角色:
    允许访问文本界面和状态页面(即URL路径为/manager/text/*)
  • manager-jmx角色:
    允许访问JMX代理和状态页面(即URL路径为/manager/jmxproxy/*)
  • manager- status角色:
    仅允许访问状态页面(即URL路径为/manager/status/*)

配置用户及角色
修改tomcat-users.xml

<role rolename ="manager-gui"/>
<user username ="tomcat" password ="tomcat"
roles="manager-gui" />

解除访问限制
进入Tomcat的webapps目录下,打开webapps/manager/METAINF/context.xml文件,修改下面这段配置

<context antiresourcelocking="false"
privileged="true">
2 <!-- 把下面这段注释掉 -->
3 <!-- <Valve
className="org.apache.catalina.valves.RemoteA
ddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1
" /> -->
4 </context>

2.5 Tomcat架构讲解

Tomcat是一个能够处理请求并产生响应的应用程序。Tomcat实现了JavaEE平台下的一些技术规范,所以我们可以在Tomcat中运行我们所编写的Servlet、JSP。
在这里插入图片描述
conf/server.xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
  <Service name="Catalina">
 <!-- 连接器监听端口是 8080,默认通讯协议是
HTTP/1.1 -->
    <Connector port="8080"
protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
  
 <!-- 名字为 Catalina 的引擎,其默认的虚拟主机
是 localhost -->
    <Engine name="Catalina"
defaultHost="localhost">
  <!-- 名字为 localhost 的虚拟主机,其目录是
webapps-->
      <Host name="localhost"
appBase="webapps"
            unpackWARs="true"
autoDeploy="true">
      </Host>
    </Engine>
  </Service>
</Server>

Tomcat组件
Server组件
启动一个server实例(即一个JVM进程),它监听在8005端口以接收shutdown命令。Server的定义不能使用同一个端口,这意味着如果在同一个物理机上启动了多个Server实例,必须配置它们使用不同的端口。

<Server port="8005" shutdown="SHUTDOWN">

port: 接收shutdown指令的端口,默认为8005;
shutdown:发往此Server用于实现关闭tomcat实例的命令字符串,默认为SHUTDOWN;
Service组件
Service主要用于关联一个引擎和与此引擎相关的连接器,每个连接器通过一个特定的端口和协议接收请求并将其转发至关联的引擎进行处理。困此,Service要包含一个引擎、一个或多个连接器。

<Service name="Catalina">

name:此服务的名称,默认为Catalina;

Connector组件
支持处理不同请求的组件,一个引擎可以有一个或多个连接器,以适应多种请求方式。默认只开启了处理Http协议的连接器。如果需要使用其他协议,需要在Tomcat中配置该协议的连接器。
在Tomcat中连接器类型通常有4种:

  1. HTTP连接器
  2. SSL连接器
  3. AJP 1.3连接器
  4. proxy连接器
<Connector port="8888" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

port:监听的端口
protocol:连接器使用的协议,默认为HTTP/1.1;
connectionTimeout:等待客户端发送请求的超时时间,单位为毫秒;
redirectPort:如果某连接器支持的协议是HTTP,当接收客户端发来的HTTPS请求时,则转发至此属性定义的端口;
maxThreads:支持的最大并发连接数,默认为200个;
Engine组件在这里插入图片描述

<Engine name="Catalina"
defaultHost="localhost">

name:Engine组件的名称;

defaultHost:Tomcat支持基于FQDN(Fully Qualified DomainName 全限定域名)的虚拟主机,这些虚拟主机可以通过在Engine容器中定义多个不同的Host组件来实现;但如果此引擎的连接器收到一个发往非明确定义虚拟主机的请求时则需要将此请求发往一个默认的虚拟主机进行处理,因此,在Engine中定义的多个虚拟主机的主机名称中至少要有一个跟defaultHost定义的主机名称同名;
Host组件
虚拟主机
虚拟主机(英语:virtual hosting)或称共享主机(shared web hosting),又称虚拟服务器,是一种在单一主机或主机群上,实现多网域服务的方法,可以运行多个网站或服务的技术。

Host组件位于Engine容器中用于接收请求并进行相应处理的虚拟主
机。通过该容器可以运行Servlet或者JSP来处理请求。

<Host name="localhost"  appBase="webapps"
unpackWARs="true" autoDeploy="true">

name:虚拟主机的名称,Tomcat通过在请求URL中的域名与name中的值匹配,用于查找能够处理该请求的虚拟主机。如果未找到则交给在Engine中defaultHost指定的主机处理;

appBase:此Host的webapps目录,即指定存放web应用程序的目录的路径;

autoDeploy:在Tomcat处于运行状态时放置于appBase目录中的应用程序文件是否自动进行deploy;默认为true

unpackWARs:在启用此webapps时是否对WAR格式的归档文件先进行展开;默认为true;
Context组件
Context是Host的子组件,代表指定一个Web应用,它运行在某个指定的虚拟主机(Host)上;每个Web应用都是一个WAR文件,或文件的目录。

<Context path="/test"
docBase="D:\bjsxt\itbaizhan.war">

path:context path既浏览器访问项目的访问路径。

docBase:相应的Web应用程序的存放位置;也可以使用相对路径,起始路径为此Context所属Host中appBase定义的路径;

修改windows的Host文件
修改Windows系统中的Host文件做域名与IP的绑定。

Host文件位置
C:\Windows\System32\drivers\etc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值