2022.4.16 Javaweb与Tomcat服务器

Javaweb

1. 前言

什么是JavaWeb

  • JavaWeb 是指,所有通过 Java 语言编写可以通过浏览器访问的程序的总称,叫 JavaWeb。

  • JavaWeb 是基于请求和响应来开发的。

什么是请求

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

什么是响应

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

请求和响应的关系

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

web开发:

web,网页的意思, www.baidu.com

  • 静态web

    • html,css

    • 提供给所有人看的数据始终不会发生变化!

  • 动态web

    • 淘宝,几乎是所有的网站;

    • 提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同!

    • 技术栈: Servlet/ISP,ASP,PHP

在Java中,动态web资源开发的技术统称为Javaweb;

2. web应用程序

web应用程序:可以提供浏览器访问的程序;

  • a.html,b.html...多个web资源,这些web资源可以被外界访问,对外界提供服务

  • 你们能访问到的任何一个页面或者资源,都存在于这个世界的某一个角落的计算机上

  • URL

  • 这个统一的web资源会被放在同一个文件夹下,web应用程序-->Tomcat:服务器。一个web应用由多部分组成(静态web,动态web)

    • html,css,js

    • jsp,servlet

    • Java程序

    • jar包

    • 配置文件(Properties)

web应用程序编写完毕后,若想提供给外界访问:需要一个服务器来统一管理;

静态web

  • *.htm, *.html,这些都是网页的后缀,如果服务器上一直存在这些东西,我们就可以通过网络直接进行读取。

  • 静态web存在的缺点

    • Web页面无法动态更新,所有用户看到都是同一个页面

      • 轮播图,点击特效:伪动态

      • JavaScript [实际开发中,它用的最多]

      • VBScript

    • 它无法和数据库交互(数据无法持久化,用户无法交互)

动态web

页面会动态展示:Web的页面展示的效果因人而异

缺点:

  • 加入服务器的动态web资源出现了错误,我们需要重新编写我们的后台程序,重新发布(停机维护)

优点:

  • Web页面可以动态更新,所有用户看到都不是同一个页面

  • 它可以与数据库交互(数据持久化)

3. web服务器

3.1、技术讲解

ASP:

  • 微软:国内最早流行的就是ASP;

  • 在HTML中嵌入了VB的脚本,ASP + COM;

  • 在ASP开发中,基本一个页面都有几千行的业务代码,页面极其换乱·维护成本高!

  • C#

php:

  • PHP开发速度很快,功能很强大,跨平台,代码很简单

  • 无法承载大访问量的情况(局限性)

JSP/Servlet:

B/S:浏览和服务器

C/S:客户端和服务器

  • sun公司主推的B/S架构

  • 基于Java语言的(所有的大公司,或者一些开源的组件,都是用ava写的)

  • 可以承载三高问题带来的影响;

  • 语法像ASP

3.2、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和JSP规范总是能在Tomcat中得到体现,因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱,成为目前比较流行的Web应用服务器。

Tomcat 服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个ava初学web的人来说,它是最佳的选择 Tomcat 实际上运行JSP页面和Servlet。

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

 

Servlet程序从 2. 5 版本是现在市面使用最多的版本(xml配置)

到了Servlet 3. 0 之后。就是注解版本的Servlet使用。

下载安装

https://tomcat.apache.org/

解压后:

  • bin 专门用来存放Tomcat服务器的可执行程序

  • conf 专门用来存放Tocmat服务器的配置文件

  • lib 专门用来存放Tomcat服务器的jar包

  • logs 专门用来存放Tomcat服务器运行时输出的日志信息

  • temp 专门用来存放Tomcdat运行时产生的临时数据

  • webapps 专门用来存放部署的Web工程。里面一个目录是一个工程

  • work 是Tomcat工作时的目录,用来存放Tomcat运行时jsp翻译为Servlet的源码,和Session钝化(将对象写到磁盘上)的目录。

webapps目录

启动:

找到Tomcat目录下的bin目录下的startup.bat文件,双击,就可以启动Tomcat服务器。

启动失败的情况,双击startup.bat文件,就会出现一个小黑窗口一闪而来。

这个时候,失败的原因基本上都是因为没有配置好JAVA_HOME环境变量。

常见的JAVA_HOME配置错误有以下几种情况:

  • JAVA_HOME必须全大写。

  • JAVA_HOME中间必须是下划线,不是减号-

  • JAVA_HOME配置的路径只需要配置到jdk的安装目录即可。不需要带上bin目录。

另一种启动 tomcat 服务器的方式,这种方式可以看到tomcat启动错误的信息

  • 打开命令行

  • cd 到 你的Tomcat的bin 目录下

  • 敲入启动命令: catalinarun

Tomcat 的停止

  • 点击tomcat服务器窗口的x关闭按钮

  • 把Tomcat服务器窗口置为当前窗口,然后按快捷键Ctrl+C

  • 找到Tomcat的bin目录下的shutdown.bat双击,就可以停止Tomcat服务器

端口号

域名(www.baidu.com)对应一个ip,后面再:端口号

例如百度:http://www.baidu.com: 80

HTTP协议默认的端口号是: 80,端口号为80的,一般不会在网址上显示80

访问测试:

在Tomcat安装后,tomcat的默认目录是webapps/root中的index.jsp

访问文件夹examples:http://localhost:8080/examples

 

可以配置启动的端口号

  • tomcat的默认端口号为:8080

  • mysql: 3306

  • http: 80

  • https: 443

1  tomcat的默认端口号为:8080
2  <Connector port="8080" protocol="HTTP/1.1"
3             connectionTimeout="20000"
4             redirectPort="8443" />

可以配置主机的名称

  • 默认的主机名为: localhost等价127.0.0.1

  • 默认网页应用存放的位置为: webapps

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

高难度面试题

请你谈谈网站是如何进行访问的!

  • 输入一个域名;回车

  • 检查本机的C:Windows\System32\drivers\etc\hosts配置文件下有没有这个域名映射;

    • 有:直接返回对应的ip地址,这个地址中,有我们需要访问的web程序,可以直接访问

    • 没有:去DNS服务器找,找到的话就返回,找不到就返回找不到;

3.3、如何部暑 web 工程到 Tomcat 中

第一种部署方法:只需要把 web 工程的目录拷贝到 Tomcat 的 webapps 目录下即可。

如何访问 Tomcat 下的 web 工程。

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

第二种部署方法:

找到Tomcat下的conf目录\Catalina\localhost\下,创建一个xml配置文件(一个xml就相当于一个工程)

工程名.xml配置文件内容如下:

 <!--Context表示一个工程上下文
  path表示工程的访问路径:   /abc
     docBase表示你的工程目录在哪里   这个就可以不用将工程放在webapps下
 
  访问localhost:8080/abc/index.html 就会映射为localhost:8080/工程文件夹/index.html
 -->
 <Context path="/abc" docBase="D:\StudyCode\工程文件夹名" />

访问这个工程的路径如下:http://ip:port/abc/ 就表示访问D:\StudyCode\工程文件夹名目录

3.4、两种页面访问方式的区别

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

将html 页面直接拖到浏览器的原理:

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

3.5、两种默认访问

当我们在浏览器地址栏中输入访问地址如下:

http://ip:port/ ====>>>> 没有工程名的时候,默认访问的是webapps中的ROOT工程。

当我们在浏览器地址栏中输入的访问地址如下:

http://ip:port/工程名/ ====>>>> 没有资源名,默认访问index.html页面

4、IDEA 整合 Tomcat

在IDEA中配置Tomcat   以版本10为例 后面servlet用的版本9

 

 

 

我们访问一个网站必须要指定一个文件夹名称,所以需要配置(也是解决上图下方的警告问题)

 

 

 

 

可以写,可以不写不写:默认访问路径为localhost:808O 假如写了一个/xing,访问localhost:8080/xing 这个过程叫做:虚拟路径映射

 

 

5、IDEA 中动态 web 工程的操作

5.1、IDEA 中如何创建动态 web 工程

一般还会在WEB-INF目录下创建一个lib目录,用于存放jar包

5.2、Web 工程的目录介绍

  • sre目录存在自已编写的java源代码

  • web目录专门用来存放web工程的资源文件。比如: html页面css文件js文件等等

  • WEB-INF目录是一个受服务器保护的目录,浏览器无法直接访问到此目录的内容(只能通过代码间接访问)

  • lib目录用来存放第三方的jar包(IDEA还需要自己配置导入)

  • web. xml它是整个动态web工程的配置部署描述文件可以在这些配置很多web工程的组件,比如:Servlet程序、Filter过滤器、Listener监听器、Session超时等等

5.3、如何给动态web工程添加额外jar包

1、可以打开项目结构菜单操作界面,添加一个自己的类库

2、添加你类库需要的jar包文件

3 、选择你添加的类库,给哪个模块使用:

4 、选择Artifacts选项,将类库添加到打包部署中

5.4、如何在 IDEA 中部署工程到 Tomcat 上运行

1 、建议修改web工程对应的Tomcat运行实例名称

2 、确认你的Tomcat实例中有你要部署运行的web工程模块

3 、你还可以修改你的Tomcat实例启动后默认的访问地址

4、在IDEA中运行,和停止Tomcat实例。启动tomcat默认访问web目录下的index.jsp

5.5、修改工程路径

5.6、修改运行的端口号

5.7、修改运行使用的浏览器

5.8、配置资源热部署

 

 

posted @   暴躁C语言  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示