JavaWeb系列之tomcat 服务器安装

news2024/11/18 20:02:35

文章目录

  • 一、JavaWeb
    • 应用程序架构
      • B/S 架构
      • C/S 架构
      • B/S 与 C/S 对比
    • MVC设计模式
  • 二、MVC
    • MVC 开发项目搭建
    • Web 服务器
    • tomcat 服务器
    • Idea 集成 tomcat
    • 第一个 JavaWeb 项目
  • 三、JSP 技术
  • jsp 与 servlet 联系与区别


一、JavaWeb

简介

JavaWeb 可以理解成使用 java 进行应用程序开发,也可以叫做服务器开发;即所有的程序 开发都是面向服务器;即是开发好的应用程序是能够在服务器上进行部署供他人进行访问;

应用程序架构

B/S 架构

B/S 架构指 Browser/server (浏览器/服务器) 结构;

在这里插入图片描述

在这里插入图片描述

B/S 架构主要特点是分布性强,维护方便,开发简单且共享性强、开发成本低; 缺点是数据安全性低,对服务器要求较高,数据传输较慢、个性化设计明显降低; 即使 B/S 架构有诸多缺点,但是它仍然是目前主流的应用程序开发架构;

C/S 架构

C/S 架构指 Client/Server (客户端/服务器) 结构;

在这里插入图片描述

该架构是一个相对来说比较成熟的架构,主要特点为交互性强、具有安全的数据存储、网络通讯量低,响应速度快、处理大数据能力强。缺点为适用范围较小,局限于小型的局域网络,扩展能力低、不灵活、维护和管理的难度较大、兼容性差,不能实现快速的安装和配置,使用也 需要有一定的技术,不通用;

B/S 与 C/S 对比

在这里插入图片描述

一般面向固定用户群,程序更加注重流程,对权限要求较高,数据的安全性能要求较高、对信 息安全的控制能力要求较高时使用 C\2 架构;
如果对用户群里没有特殊要求,客户机不需要进行程序维护,方便用户使用、想要更强的扩展 能力时,使用 B\2 架构;

MVC设计模式

MVC 设计模式是一种专门针对 B/S 架构应用程序开发提供的开发模式;
将整个项目划分为三个不同的模块:表示层、业务逻辑层、数据访问层;让编程人员进行分层 开发实现高类聚,低耦合的项目开发; 各层实现与功能:
表示层:一般使用 jsp(传统的项目) 或者 html(前后端分离项目) 页面进行开发,实现 数据的展示和用户录入数据的搜集;
业务逻辑层:用 java 代码编写的应用程序,主要负责功能模块的业务处理以及提供表示层数 据到数据访问层的通道; 数据访问层:一般使用
JDBC、mybatis等和数据库实现数据交互;主要是通过sql 语句实 现数据库的增删改查操作

二、MVC

MVC 全称为 Model-View-Controller 是一种软件开发架构模式; Model:模型 –
代表一个存取数据的对象,通常叫做 javabean/pojo View:视图 – 代表模型包含的数据的可视化界面,是模型数据的呈现;
Controller:控制器 – 作用域模型和视图,它控制数据流向模型,并在数据发生变化时更 新视图,控制器使模型和视图分离;

在这里插入图片描述

Model 不属于任何层,它可以在每个层中出现,是数据储存和传递的载体; V和C 都属于表示层,在某些情况下,我们可认为 MVC 模式是对表示层的进一步分离,通过 C 将数据显示与数据模型分离;同样起到了降低耦合的作用;

MVC 开发项目搭建

MVC 模式是一个分层的开发模式,在项目中一般使用包结构来实现分层;所以在创建项目时, 需要将项目中不同层次代码通过包结构来实现管理;Model (javabean-实体类) :com.oracle.entity DAO (数据访问层) :com.oracle.dao service (业务逻辑层) :com.oracle.service View (表示层 servlet + jsp) :servlet 位于 com.oracle.servlet 包下,jsp 在前端资源的 web 目录下; servlet 由服务器提供,是一个实现后面和前端页面连接的中间件;

在这里插入图片描述

Web 服务器

简介

web 服务器一般指网络服务器,是一种特殊类型的计算机程序;主要用于提供网络上信息的浏览服务,可以向发出请求的浏览器提供文档、图片、网站等业务服务,让全世界需要的用户进 来访问;当然也允许用户进行下载;目前市场上应用比较广泛的浏览器有:tomcat、webLogic、IIS等; webLogic 服务器是一个用于分布式 web应用进行项目部署的服务器; IIS 服务器应用与 .net 项目的部署; tomcat 服务器主要应用与学习和项目调试;

tomcat 服务器

简介

tomcat 服务器是一个免费开源的轻量级服务器,在中小型并发访问不大的项目中使用;是开 发 jsp 项目首选的服务器; tomcat服务器实际上就是 JSP 和 Servlet 容器,主要用来部署和运行 Web 应用,同 时它也具备处理 html 页面的功能;

omcat 服务器下载

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

在这里插入图片描述

在这里插入图片描述

压缩包解压

在这里插入图片描述

服务器启动

在这里插入图片描述

在这里插入图片描述

Idea 集成 tomcat

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

第一个 JavaWeb 项目

搭建一个 web 项目,将项目部署到服务器上,再通过浏览器进行项目的访问

创建 JaveWeb 项目

① 创建一个普通的 java 项目

② 为创建项目添加 web 模块

添加 web 模块

在这里插入图片描述

选择 jdk 版本

在这里插入图片描述

添加 web.xml

在这里插入图片描述

tomcat 服务器 jar 包导入

在这里插入图片描述

在这里插入图片描述

项目部署到服务器

在这里插入图片描述

在这里插入图片描述

项目访问

打开浏览器在地址栏输入访问资源路径:
http://localhost:8080/JavaWeb_Demo/
其中 http://localhost:8080 是服务器的路径;
/JavaWeb_Demo 是发布到服务器上的项目路径;
/ 表示访问 JavaWeb_Demo 路径对应项目 web 目录下的 index.jsp 页面

控制台日志输出乱码解决

控制台乱码是服务器日志在输出时编码格式不匹配导致的中文乱码,不影响程序的执行,只是 看起来不太舒服;
解决方案找到服务器日志配置文件修改编码格式即可; 配置文件在 conf —> logging.properties 将内部的编码格式改为GBK

在这里插入图片描述

三、JSP 技术

jsp 简介

jsp 全称为 JavaServer pages – Java 服务器页面;是一种动态的网页技术标准。 jsp部署在服务器,可以根据用户的请求实时的进行页面的响应,响应的结果可以是 HTML、 xml 获取时其他格式文档的 web 页面; jsp 内部可以使用各种各样的言语,例如 java 语言可以以脚本的方式存在于jsp 中,也可 以是 html 语言; java作为脚本语言存在时,可以为用户提供前后的连接,也可以和服务器上其他的 java 程 序共同完成业务的处理;

jsp 页面的创建

jsp 页面跟 html 页面一样属于前端资源,创建时需要创建在 web 目录下;

在这里插入图片描述

创建好的 jsp 页面内部只有简单的 jsp 指令和 html 基本的结构标签;内部使用 html 提供的标签进行页面内容的书写; css 以及 js 的引入跟 html 文件一致;它除了具备 html 文件的功能以外,还具备一些 更强大的功能;比 html 更适合做一体式的 javaWeb 项目;

在这里插入图片描述

JSP 执行原理

jsp 页面在执行时可分为三个阶段: ① 翻译阶段:将 jsp 页面翻译成一个 .java 的源文件 ② 编译阶段:将 .java 的源文件编译为 .class 字节码文件 ③ 执行阶段:执行编译后的字节码文件 当首次进行 jsp 页面的访问时,运行原理如下图:

在这里插入图片描述

当 jsp 页面的内容发生改变,再次访问该页面时,省去翻译和编译过程,直接执行字节码文 件,运行原理如下图:

在这里插入图片描述

所以,当一个 jsp 执行后,tomcat 服务器的 work 文件夹中 root 目录下会生成对应 的 .java 源文件以及编译后的 .class 文件; 文件名使用 jsp文件名_jsp 的方式进行命名; 该生成的类继承了 HttpJspBase 类,类的内部与 Servlet 类基本一致,有初始化方法、 有销毁的方法、也有提供服务的方法;所以从某种角度来说,可以将 jsp 当做是一个 servlet 类;

在这里插入图片描述

jsp 与 servlet 联系与区别

联系

jsp --> 继承于 HttpJspBase --> 继承于 HttpServlet --> 实现了Servlet 接 口; 所以 jsp 本质就是一个 Servlet;

区别

① jsp 擅长视图的制作,Servlet 擅长于控制层,进行请求的处理和响应 ② jsp 会在执行时转换为 Servlet,会被 tomcat 容器赋予九大内置对象 ③ jsp 是简化版的 Servlet (只负责页面相关的内容) ,Servet 功能较全面 ④ jsp 需要依靠 tomcat 来创建 java 类;servlet 本身就是一个 java 类

JSP 内部组成

① 指令:通过声明去引入外部资源,常见的三大指令:page/include/taglib ② 脚本:java代码、el 表达式 ③ 动作:可以实现页面的动态引入 ④ html 标签:标签、css、js

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/388801.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows-jdk8/jdk16安装

Windows-JAVA jdk-8安装教程 下载地址 百度网盘 提取码:Chen 官网 安装jdk8 双击打开下载的安装包 点击下一步 更改安装目录 点击下一步 修改Java安装目录 点击下一步 完成 配置环境变量 按住WindowsR 打开运行窗口 输入 sysdm.cpl 打开系统属性——》高级—…

华为机试题:HJ102 字符统计(python)

文章目录(1)题目描述(2)Python3实现(3)知识点详解1、input():获取控制台(任意形式)的输入。输出均为字符串类型。1.1、input() 与 list(input()) 的区别、及其相互转换方…

【Redis】Redis分片集群

【Redis】Redis分片集群 文章目录【Redis】Redis分片集群1. 搭建分片集群1.1 分片集群结构1.2 搭建分片集群1.2.1 集群结构1.2.2 准备实例和配置1.2.3 启动1.2.4 创建集群1.2.5 测试2. 散列插槽2.1 总结3. 集群伸缩4. 故障转移4.1 数据迁移5. RedisTemplate访问分片集群1. 搭建…

GEE开发之ERA5(气温、降水、压力、风速等)数据获取和分析

GEE开发之ERA5(气温、降水、压力、风速等)数据获取和分析1.ERA5介绍2.初始ERA5数据2.1 DAILY代码2.2 MONTHLY代码3.遥感影像查看(DAILY之mean_2m_air_temperature)4.逐日数据分析和获取(以mean_2m_air_temperature为例)5.逐月数据…

【Storm】【二】Storm和流处理简介

Storm和流处理简介 一、Storm1.1 简介1.2 Storm 与 Hadoop对比1.3 Storm 与 Spark Streaming对比1.4 Storm 与 Flink对比二、流处理2.1 静态数据处理2.2 流处理一、Storm 1.1 简介 Storm 是一个开源的分布式实时计算框架,可以以简单、可靠的方式进行大数据流的处理…

基于 explore_lite包 的单个机器人自主探索建图

文章目录一、简介二、安装 explore_lite三、launch 文件配置四、实验效果五、常见问题机器人自主建图有很多方式,比如基于位置边界的map-explore,基于快速搜索树的rrt-explore,指定区域自主探索建图frontier-explore,这几种方法各…

SQL速查

学习自C语言中文网SQL教程笔记,该笔记为速查笔记,学习还是看原教程文章:http://c.biancheng.net/sql/ SQL命令 SQL 是关系型数据库的标准语言,SQL关键字不区分大小写 SQL语句分为以下三种类型: DML: Data Manipulat…

中国不缺高端产品,缺的只是高端服务

作者 | 曾响铃 文 | 响铃说 最近,响铃受邀参加了讯飞智能办公本莫比俱乐部在广州举办的用户研学活动,感触颇多。 为什么会有这趟经历?说来也巧,前段时间因为开会需要入手了讯飞智能办公本X2,成了他们的用户&#xf…

20- tensorflow实现 10_monkeys分类 (tensorflow系列) (项目二十)

项目要点 10-monkey-species,是十个种类的猴子的图像集。txt 文件读取: labels pd.read_csv( ./monkey_labels.txt , header 0)训练数据 图片数据增强: # 图片数据生成器 # 图片数据生成器 train_datagen keras.preprocessing.image.ImageDataGenerator(rescal…

docker升级后启动失败 需要指定storage driver

问题描述:闲来无事就在开发电脑上执行了下sudo apt-get upgrade 升级下软件, 升级后docker启动失败.使用 journalctl -xeu docker.service 查看docker执行日志:Mar 04 16:48:10 pop-os dockerd[39273]: time"2023-03-04T16:48:10.35187991208:00&qu…

[Java代码审计]—OFCMS

环境搭建 下载地址:https://gitee.com/oufu/ofcms/repository/archive/V1.1.2?formatzip 项目导入idea,创建数据库,配置下tomcat就行,但要注意必须tomcat>8.5,mysql>5.7 漏洞分析 任意文件写入 com.ofsoft…

打包可执行文件

将Python脚本打包成可执行文件的方法:使用pip安装PyInstaller:pip install pyinstaller打开终端并导航到包含Python脚本的目录。运行PyInstaller创建可执行文件:pyinstaller --onefile phonequeryresult.py将my_script.py替换为您的脚本名称。…

SpringBoot(tedu)——day01——环境搭建

SpringBoot(tedu)——day01——环境搭建 目录SpringBoot(tedu)——day01——环境搭建零、今日目标一、IDEA2021项目环境搭建1.1 通过 ctrl鼠标滚轮 实现字体大小缩放1.2 自动提示设置 去除大小写匹配1.3 设置参数方法自动提示1.4 设定字符集 要求都使用UTF-8编码1.5 设置自动编…

LDO的强力对手

开题前咋们先来温习下LDO的特点以及选型要点: 特点:纹波噪声小,响应快,低静态电流,外围电路简单;损耗大,输出电流小。常用于小电流的模拟电路供电。 选型要点:纹波噪声&#xff0c…

TEX:文档的布局与组织

文章目录标准的类选项指定纸张大小页面格式其他选项与某些选项相关的参数页面样式页眉页的编号fancyhdr页眉页脚宏包(重)定义fancy页面样式Using extramarks文档中页面风格切换与段落有关的距离页面格式单双列页面文档中的部分标题摘要章节附录书的结构目录表自动条目显示目录表…

XMLHttpRequest、ajax、Promise、axios、async await

1.XMLHttpRequest(xhr) 什么是xhr xhr是浏览器提供的js对象,通过它来向服务器来请求资源。jquery中的Ajax是基于xhr对象来封装资源的 使用xhr发起get请求 // 1. 创建 XHR 对象var xhr new XMLHttpRequest()console.log(xhr, 我是xhr);// 2. 调用 open 函数xhr.…

性能优化(2)-渲染优化

一、渲染优化 如果把浏览器呈现页面的整个过程一分为二,前面所讲的主要是浏览器为呈现页面请求所需资源的部分;本章将主要关注浏览器获取到资源后,进行渲染部分的相关优化内容。 在前面的前端页面的生命周期课程中,介绍过关键渲染路径的概念,浏览器通过这个过程对HTML,CSS, J…

<学习笔记>从零开始自学Python-之-web应用框架Django( 十二)上下文处理器

1.在模板中处理上下文处理 上下文就是一系列模板变量和相应的值。模板使用上下文填充变量,放到标签里显示在页面。在 Django 中,上下文使用 django.template 模块中的 Context 类表示。 它的构造方法接受一个可选参数:一个字典&#xff0…

HCIE-Cloud Computing LAB备考第二步:逐题攻破--第二题:FusionAccess-思维导图+题目=建立逻辑

第二题 FusionAccess markmap思维导图1 将上述思维导图跟下述题目结合,以题目顺序辅助记忆思维导图,有了思维大纲,做起实验,也就有逻辑线路,必定手掐把拿。 2.1 搭建FA实验环境(随机二考一) FA1、FA2两台服务器,请通过VNC登陆,按照题目要求根据服务器参数选择安装对…

推荐几款主流好用的markdown编辑器

介绍 随着技术的不断发展和人们对效率的追求,Markdown 编辑器已经成为了许多人写作的首选工具。Markdown 是一种轻量级的标记语言,使用简单,方便快捷,且可以方便地转换成各种格式的文件。在这篇文章中,我们将介绍几款…