Tomcat

1 常见的客户端/服务器架构模型

1.1 C/S架构(Client/Server Architecture)

C/S架构(Client/Server Architecture)指的是客户端通过安装在本地的软件(客户端)访问服务器上的应用程序,客户端与服务端之间通过网络进行通信和数据交换。

优点:

  • 快速响应:由于客户端软件安装在本地,可以更快速地响应用户请求。
  • 离线支持:C/S架构中,应用程序的核心业务逻辑和数据处理可以完全离线地在客户端上进行,保证了系统对于网络连通性的依赖性不强。
  • 功能强大:客户端具有丰富的功能和交互性,提供了更好的用户体验和操作效率。
  • 数据安全:客户端将核心业务逻辑和数据处理放置在客户端上,可保证数据安全性和隐私性。

1.2 B/S架构(Browser/Server Architecture)

B/S架构(Browser/Server Architecture),又称为三层架构,指的是客户端通过浏览器访问服务器上的应用程序,网页服务器接收并处理请求后,向客户端返回相应的HTML、CSS、JavaScript等静态资源。应用服务器接收客户端的请求并调用相应的业务逻辑,访问数据库进行数据处理,最终将结果返回给客户端。

优点:

  • 可跨平台:由于Web浏览器具有良好的跨平台性,B/S架构能够在各种不同的操作系统和设备上运行。
  • 维护方便:B/S架构将应用程序的核心业务逻辑放置在应用服务器上,可以减少客户端的复杂性和维护成本。
  • 灵活性:B/S架构可以支持多种不同的Web浏览器和操作系统,客户端只需要浏览器即可。
  • 安全性:B/S架构中,服务器承担了应用程序的核心逻辑和数据处理,客户端只能通过浏览器发起请求,安全性相对较高。

2 Web服务器

2.1 Web服务器介绍

Web服务器是一种用于处理和响应HTTP请求的软件程序或计算机系统。它扮演着连接客户端和Web应用程序之间的中间层角色。

2.2 主要功能

  • 处理HTTP请求:Web服务器接收来自客户端的HTTP请求,解析请求头和请求体,并根据请求的URL路径和其他参数确定要执行的操作。
  • 提供静态资源:Web服务器可以直接提供静态内容(例如HTML、CSS、JavaScript文件、图像和视频等),当客户端请求这些静态资源时,服务器会将文件发送给客户端。
  • 路由和请求转发:Web服务器可以根据请求的URL路径将请求路由到相应的后端应用程序或处理程序。它可以转发请求到不同的应用程序,实现负载均衡和高可用性。
  • 处理动态内容:对于动态内容,Web服务器通常会将请求转发给后端应用程序服务器(如PHP、Python或Java服务器),处理逻辑并生成动态内容,然后将结果返回给客户端。
  • 状态管理和会话:Web服务器可以管理客户端的状态和会话信息。通过使用Cookie或其他会话管理机制,服务器可以跟踪特定用户的状态,并提供个性化的服务。
  • 安全性和身份验证:Web服务器可以通过使用加密协议(如HTTPS)来保护数据传输的安全性。它还可以实施身份验证和访问控制,确保只有经过授权的用户可以访问受限资源。

2.3 web服务器应用

客户端在浏览器的地址栏上输入地址 ,然后web服务器软件,接收请求,然后响应消息。 处理客户端的请求, 返回资源 | 信息

Web应用 需要服务器支撑。 index.html

  • Tomcat apache
  • WebLogic BEA
  • Websphere IBM
  • IIS 微软

2.4 web资源

web 资源按实现的技术和呈现的效果的不同, 又分为静态资源和动态资源两种。

  • 静态资源: html、 css、 js、 txt、 mp4 视频 , jpg 图片
  • 动态资源: jsp 页面、 Servlet 程序

3 Tomcat

3.1 简介

Tomcat是一个由Apache软件基金会开发的开源Web服务器和Java Servlet容器。它是目前在Java平台上最常用的Web应用程序服务器之一。

3.2 安装

3.2.1 下载Tomcat及解压

官网:http://tomcat.apache.org/

安装, 直接解压 ,然后找到bin/startup.bat, 前提必须配置JAVA_HOME

3.2.2 测试

启动startup.bat,如果能够正常看到黑窗口,表明已经成功安装。

为了确保万无一失, 最好在浏览器的地址栏上输入 : http://localhost:8080 , 如果有看到内容 就表明成功了。

注意:: 如果双击了startup.bat, 看到一闪而过的情形,一般都是 JDK的环境变量没有配置。

3.3 目录

  • bin 专门用来存放 Tomcat 服务器的可执行程序
  • conf 专门用来存放 Tocmat 服务器的配置文件
  • lib 专门用来存放 Tomcat 服务器的 jar 包
  • logs 专门用来存放 Tomcat 服务器运行时输出的日记信息
  • temp 专门用来存放 Tomcdat 运行时产生的临时数据
  • webapps 专门用来存放部署的 Web 工程。
  • work 是 Tomcat 工作时的目录, 用来存放 Tomcat 运行时 jsp 翻译为 Servlet 的源码, 和Session 钝化的目录。

3.4 修改端口号

启动tomcat

java 复制代码
/bin/startup.bat

server.xml中修改8080端口为80端口

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

3.5 发布项目到tomcat

需求:如何能让其他的电脑访问我这台电脑上的文件,例如:文件shuiguo

2.5.1 直接拷贝

2.5.2 配置虚拟路径

方式一

配置虚拟路径Context的帮助

  • 在conf/server.xml 找到host元素节点。

    • 加入以下内容:

      <Context docBase="e:\temp\shuiguo\" path="/shuiguo2"></Context>

  • 在浏览器里面访问

    http://localhost:80/shuiguo2/index.html

方式二
  • 在tomcat/conf/catalina/localhost/ 文件夹下新建一个xml文件,名字可以自己定义为 shuiguo3.xml

    • 加入以下内容:

      <?xml version='1.0' encoding='utf-8'?>

      <Context docBase="e:\temp\shuiguo3"></Context>

  • 在浏览器里面访问

    http://localhost:80/shuiguo3/index.html

3.6 idea整合tomcat

3.6.1 创建web项目

3.6.2 增加web framework支持

3.6.3 发布项目到tomcat


3.6.4 以war文件方式发布项目

打包war文件

把war文件拷贝到tomcat,tomcat启动会自动解压这个war文件,部署运行,context_path是文件名

相关推荐
所待.3833 分钟前
JavaEE之线程初阶(上)
java·java-ee
Winston Wood7 分钟前
Java线程池详解
java·线程池·多线程·性能
手握风云-11 分钟前
数据结构(Java版)第二期:包装类和泛型
java·开发语言·数据结构
喵叔哟31 分钟前
重构代码中引入外部方法和引入本地扩展的区别
java·开发语言·重构
尘浮生37 分钟前
Java项目实战II基于微信小程序的电影院买票选座系统(开发文档+数据库+源码)
java·开发语言·数据库·微信小程序·小程序·maven·intellij-idea
不是二师兄的八戒1 小时前
本地 PHP 和 Java 开发环境 Docker 化与配置开机自启
java·docker·php
爱编程的小生1 小时前
Easyexcel(2-文件读取)
java·excel
带多刺的玫瑰1 小时前
Leecode刷题C语言之统计不是特殊数字的数字数量
java·c语言·算法
计算机毕设指导62 小时前
基于 SpringBoot 的作业管理系统【附源码】
java·vue.js·spring boot·后端·mysql·spring·intellij-idea
Gu Gu Study2 小时前
枚举与lambda表达式,枚举实现单例模式为什么是安全的,lambda表达式与函数式接口的小九九~
java·开发语言