JavaWeb——Tomcat

目录

一、JavaWeb 的概念

1.什么是 JavaWeb

2.什么是请求

3.什么是响应

4.请求和响应的关系

二、Web 资源的分类

三、常用的 Web 服务器

四、Tomcat 服务器和 Servlet 版本的对应关系

五、Tomcat 的使用

1.目录介绍

2.如何启动和关闭 Tomcat 服务器

3.如何修改 Tomcat 的端口号

4.如何部署web 工程到 Tomcat 中

5.如何访问 Tomcat 下的 web 工程

6.IDEA 中动态 web 工程的操作


一、JavaWeb 的概念

1.什么是 JavaWeb

JavaWeb 是指,所有通过 Java 语言编写可以通过浏览器访问的程序的总称,叫 JavaWeb
JavaWeb 是基于请求和响应来开发的。
 

2.什么是请求

请求是指客户端给服务器发送数据,叫请求 Request

3.什么是响应

响应是指服务器给客户端回传数据,叫响应 Response

4.请求和响应的关系

请求和响应是成对出现的,有请求就有响应。

二、Web 资源的分类

web 资源按实现的技术和呈现的效果的不同,又分为静态资源和动态资源两种。
静态资源:
html css js txt mp4 视频 , jpg 图片
动态资源:
jsp 页面、 Servlet 程序

三、常用的 Web 服务器

Tomcat :由 Apache 组织提供的一种 Web 服务器,提供对 jsp Servlet 的支持。它是一种轻量级的 javaWeb 容器(服务器),也是当前应用最广的 JavaWeb 服务器(免费)。
Jboss :是一个遵从 JavaEE 规范的、开放源代码的、纯 Java EJB 服务器,它支持所有的 JavaEE 规范(免费)。
GlassFish : 由 Oracle 公司开发的一款 JavaWeb 服务器,是一款强健的商业服务器,达到产品级质量(应用很少)。
Resin :是 CAUCHO 公司的产品,是一个非常流行的服务器,对 servlet JSP 提供了良好的支持,
性能也比较优良, resin 自身采用 JAVA 语言开发(收费,应用比较多)。
WebLogic :是 Oracle 公司的产品,是目前应用最广泛的 Web 服务器,支持 JavaEE 规范,
而且不断的完善以适应新的开发要求,适合大型项目(收费,用的不多,适合大公司)。

四、Tomcat 服务器和 Servlet 版本的对应关系

五、Tomcat 的使用

1.目录介绍

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

2.如何启动和关闭 Tomcat 服务器

方法一:找到 Tomcat 目录下的 bin 目录下的 startup.bat 文件,双击,就可以启动 Tomcat 服务器。
方法二:
1 、打开命令行
2 cd 到 你的 Tomcat bin 目录下
3 、敲入启动命令: catalina run
在浏览器地址栏中输入以下地址测试是否安装启动成功:
1 http://localhost:8080
2 http://127.0.0.1:8080
3 http:// 真实 ip:8080
 
Tomcat 的停止:
1 、点击 tomcat 服务器窗口的 x 关闭按钮
2 、把 Tomcat 服务器窗口置为当前窗口,然后按快捷键 Ctrl+C
3 找到 Tomcat bin 目录下的 shutdown.bat 双击,就可以停止 Tomcat 服务器

3.如何修改 Tomcat 的端口号

Mysql 默认的端口号是: 3306
Tomcat 默认的端口号是: 8080
找到 Tomcat 目录下的 conf 目录,找到 server.xml 配置文件。

4.如何部署web 工程到 Tomcat

方法一:只需要把 web 工程的目录拷贝到 Tomcat webapps 目录下即可。web工程就是前面创建的静态、动态资源。

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

方法二:找到 Tomcat 下的 conf 目录\Catalina\localhost\ ,创建如下的配置文件:

abc.xml 配置文件内容如下:
<!-- Context 表示一个工程上下文 
     path 表示工程的访问路径:/abc 
     docBase 表示你的工程目录在哪里 
--> 
<Context path="/abc" docBase="E:\book" />
 

5.如何访问 Tomcat 下的 web 工程

方法一:只需要在浏览器中输入访问地址格式如下: http://ip:port/工程名/目录下/文件名

方法二:访问这个工程的路径如下:http://ip:port/abc/  就表示访问 E:\book 这个工程目录

手拖 html 页面到浏览器和在浏览器中输入 http://ip:口号/工程名/访问的区别:

手拖  html 页面的原理:

输入访问地址访问的原因:

ROOT 的工程的访问,以及 默认 index.html 页面的访 问:
当我们在浏览器地址栏中输入访问地址如下:
http://ip:port/   ====>>>>  没有工程名的时候,默认访问的是 ROOT 工程。
当我们在浏览器地址栏中输入的访问地址如下:
http://ip:port/ 工程名 /   ====>>>>  没有资源名,默认访问 index.html 页面

6.IDEA 中动态 web 工程的操作

Web 工程的目录介绍:
 
如何在 IDEA 中部署工程到 Tomcat 上运行:
 
 
 
 
 
 

 

 

热门文章

暂无图片
编程学习 ·

那些年让我们目瞪口呆的bug

程序员一生与bug奋战&#xff0c;可谓是杀敌无数&#xff0c;见怪不怪了&#xff01;在某知识社交平台中&#xff0c;一个“有哪些让程序员目瞪口呆的bug”的话题引来了6700多万的阅读&#xff0c;可见程序员们对一个话题的敏感度有多高。 1、麻省理工“只能发500英里的邮件” …
暂无图片
编程学习 ·

redis的下载与安装

下载redis wget http://download.redis.io/releases/redis-5.0.0.tar.gz解压redis tar -zxvf redis-5.0.0.tar.gz编译 make安装 make install快链方便进入redis ln -s redis-5.0.0 redis
暂无图片
编程学习 ·

《大话数据结构》第三章学习笔记--线性表(一)

线性表的定义 线性表&#xff1a;零个或多个数据元素的有限序列。 线性表元素的个数n定义为线性表的长度。n为0时&#xff0c;为空表。 在比较复杂的线性表中&#xff0c;一个数据元素可以由若干个数据项组成。 线性表的存储结构 顺序存储结构 可以用C语言中的一维数组来…
暂无图片
编程学习 ·

对象的扩展

文章目录对象的扩展属性的简洁表示法属性名表达式方法的name属性属性的可枚举性和遍历可枚举性属性的遍历super关键字对象的扩展运算符解构赋值扩展运算符AggregateError错误对象对象的扩展 属性的简洁表示法 const foo bar; const baz {foo}; baz // {foo: "bar"…
暂无图片
编程学习 ·

让程序员最头疼的5种编程语言

世界上的编程语言&#xff0c;按照其应用领域&#xff0c;可以粗略地分成三类。 有的语言是多面手&#xff0c;在很多不同的领域都能派上用场。大家学过的编程语言很多都属于这一类&#xff0c;比如说 C&#xff0c;Java&#xff0c; Python。 有的语言专注于某一特定的领域&…
暂无图片
编程学习 ·

写论文注意事项

参考链接 给研究生修改了一篇论文后&#xff0c;该985博导几近崩溃…… 重点分析 摘要与结论几乎重合 这一条是我见过研究生论文中最常出现的事情&#xff0c;很多情况下&#xff0c;他们论文中摘要部分与结论部分重复率超过70%。对于摘要而言&#xff0c;首先要用一小句话引…
暂无图片
编程学习 ·

安卓 串口开发

上图&#xff1a; 上码&#xff1a; 在APP grable添加 // 串口 需要配合在项目build.gradle中的repositories添加 maven {url "https://jitpack.io" }implementation com.github.licheedev.Android-SerialPort-API:serialport:1.0.1implementation com.jakewhart…
暂无图片
编程学习 ·

2021-2027年中国铪市场调研与发展趋势分析报告

2021-2027年中国铪市场调研与发展趋势分析报告 本报告研究中国市场铪的生产、消费及进出口情况&#xff0c;重点关注在中国市场扮演重要角色的全球及本土铪生产商&#xff0c;呈现这些厂商在中国市场的铪销量、收入、价格、毛利率、市场份额等关键指标。此外&#xff0c;针对…
暂无图片
编程学习 ·

Aggressive cows题目翻译

描述&#xff1a; Farmer John has built a new long barn, with N (2 < N < 100,000) stalls.&#xff08;John农民已经新建了一个长畜棚带有N&#xff08;2<N<100000&#xff09;个牛棚&#xff09; The stalls are located along a straight line at positions…
暂无图片
编程学习 ·

剖析组建PMO的6个大坑︱PMO深度实践

随着事业环境因素的不断纷繁演进&#xff0c;项目时代正在悄悄来临。设立项目经理转岗、要求PMP等项目管理证书已是基操&#xff0c;越来越多的组织开始组建PMO团队&#xff0c;大有曾经公司纷纷建造中台的气质&#xff08;当然两者的本质并不相同&#xff0c;只是说明这个趋势…
暂无图片
编程学习 ·

Flowable入门系列文章118 - 进程实例 07

1、获取流程实例的变量 GET运行时/进程实例/ {processInstanceId} /变量/ {变量名} 表1.获取流程实例的变量 - URL参数 参数需要值描述processInstanceId是串将流程实例的id添加到变量中。变量名是串要获取的变量的名称。 表2.获取流程实例的变量 - 响应代码 响应码描述200指…
暂无图片
编程学习 ·

微信每天自动给女[男]朋友发早安和土味情话

微信通知&#xff0c;每天给女朋友发早安、情话、诗句、天气信息等~ 前言 之前逛GitHub的时候发现了一个自动签到的小工具&#xff0c;b站、掘金等都可以&#xff0c;我看了下源码发现也是很简洁&#xff0c;也尝试用了一下&#xff0c;配置也都很简单&#xff0c;主要是他有一…
暂无图片
编程学习 ·

C语言二分查找详解

二分查找是一种知名度很高的查找算法&#xff0c;在对有序数列进行查找时效率远高于传统的顺序查找。 下面这张动图对比了二者的效率差距。 二分查找的基本思想就是通过把目标数和当前数列的中间数进行比较&#xff0c;从而确定目标数是在中间数的左边还是右边&#xff0c;将查…
暂无图片
编程学习 ·

项目经理,你有什么优势吗?

大侠被一个问题问住了&#xff1a;你和别人比&#xff0c;你的优势是什么呢? 大侠听到这个问题后&#xff0c;脱口而出道&#xff1a;“项目管理能力和经验啊。” 听者抬头看了一下大侠&#xff0c;显然听者对大侠的这个回答不是很满意&#xff0c;但也没有继续追问。 大侠回家…
暂无图片
编程学习 ·

nginx的负载均衡和故障转移

#注&#xff1a;proxy_temp_path和proxy_cache_path指定的路径必须在同一分区 proxy_temp_path /data0/proxy_temp_dir; #设置Web缓存区名称为cache_one&#xff0c;内存缓存空间大小为200MB&#xff0c;1天没有被访问的内容自动清除&#xff0c;硬盘缓存空间大小为30GB。 pro…
暂无图片
编程学习 ·

业务逻辑漏洞

身份认证安全 绕过身份认证的几种方法 暴力破解 测试方法∶在没有验证码限制或者一次验证码可以多次使用的地方&#xff0c;可以分为以下几种情况︰ (1)爆破用户名。当输入的用户名不存在时&#xff0c;会显示请输入正确用户名&#xff0c;或者用户名不存在 (2)已知用户名。…