1. JavaWeb 的概念
1.1 什么是 JavaWeb
JavaWeb 是指,所有通过 Java 语言编写可以通过浏览器访问的程序的总称,叫 JavaWeb。
JavaWeb 是基于请求和响应来开发的。
1.2 什么是请求
请求是指客户端给服务器发送数据,叫请求 Request。
1.3 什么是响应
响应是指服务器给客户端回传数据,叫响应 Response。
1.4 请求和响应的关系
请求和响应是成对出现的,有请求就有响应。
2. Web 资源的分类
注意:这里的web资源指的是不仅仅是java写的,其它语言写的也可以写.
web 资源按实现的技术和呈现的效果的不同,又分为静态资源和动态资源两种。
- 静态资源: html、css、js、txt、mp4视频 、 jpg图片
- 动态资源: jsp 页面、Servlet 程序,这是java语言写的。还有其它语言写的如:.NET、PHP等
3. Web 服务器
3.1 使用背景、作用
- 浏览器和服务器之间通信需要遵守http协议,解析请求数据和响应数据分为2个部分:客户端、服务端
- 客户端:各大厂商提供了内置的解析http协议的程序,我们不需要操作。
- 服务端:作为服务端开发工程师,我们要做的是在服务器端通过java程序来接收客户端浏览器发起的请求并获取请求数据,然后参照http协议的请求数据格式对请求数据进行解析,然后还需要参照http协议的响应数据格式给浏览器在响应对应的数据。
- 具体做法:可以使用原生的方式TCP网络编程,通过socket关键字来编写java程序进行接收和响应数据,但是这种方式太过繁琐。因为Web项目开发需要解析http协议,而http协议又是标准的、统一固定的,所以这部分解析http协议的代码也是非常通用的,所以市面上很多公司封装了这些通用的代码到一个软件中,这个软件程序就是web服务器。
- 常见的Web服务器:
Web服务器的两大作用:
- 对HTTP协议操作进行封装,简化web程序开发。
- 部署web项目,对外提供网上信息浏览服务。
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 规范,而且不断的完善以适应新的开发要求,适合大型项目(收费,用的不多,适合大公司)。
4. Tomcat 服务器和 Servlet 版本的对应关系
说明:Tomcat也被称为Web容器、Servlet容器。Servlet程序需要依赖于Tomcat才能运行。
当前企业常用的版本 7.*、8.*
Servlet 程序从 2.5 版本是现在市面使用最多的版本(xml 配置)
到了 Servlet3.0 之后。就是注解版本的 Servlet 使用。
以 2.5 版本为主线讲解 Servlet 程序。
5. Tomcat 的使用
5.1 安装、卸载
- 安装:由于是绿色解压版,直接解压即可
- 卸载:由于是绿色解压版,直接删除解压后的目录即可
5.2 目录介绍
- bin 专门用来存放 Tomcat 服务器的可执行程序
- conf 专门用来存放 Tocmat 服务器的配置文件
- lib 专门用来存放 Tomcat 服务器的 jar 包
- logs 专门用来存放 Tomcat 服务器运行时输出的日记信息
- temp 专门用来存放 Tomcdat 运行时产生的临时数据
- webapps 专门用来存放部署的 Web 工程。
- work 是 Tomcat 工作时的目录,用来存放 Tomcat 运行时 jsp 翻译为 Servlet 的源码,和 Session 钝化的目录。
5.3 如何启动 Tomcat 服务器
找到 Tomcat 目录下的 bin 目录下的 startup.bat 文件,双击,就可以启动 Tomcat 服务器。
如何测试 Tomcat 服务器启动成功???
打开浏览器,在浏览器地址栏中输入以下地址测试:
- http://localhost:8080
- http://127.0.0.1:8080
- http://真实 ip:8080
当出现如下界面,说明 Tomcat 服务器启动成功!!!
常见的启动失败的情况有,双击 startup.bat 文件,就会出现一个小黑窗口一闪而来。这个时候,失败的原因基本上都是因为没有配置好 JAVA_HOME 环境变量。
配置 JAVA_HOME 环境变量:
常见的 JAVA_HOME 配置错误有以下几种情况:
一:JAVA_HOME 必须全大写。
二:JAVA_HOME 中间必须是下划线,不是减号-
三:JAVA_HOME 配置的路径只需要配置到 jdk 的安装目录即可。不需要带上 bin 目录。
如果配置完JAVA_HOME环境变量启动仍然是闪退,并且通过cmd窗口启动时报如下错误,则还需要配置JRE_HOME的环境变量为jdk的安装路径。
在命令行窗口下键入startup.bat时提示如下图:
提示JRE_HOME环境变量没有正确配置。
解决办法在系统环境变量中加入JRE_HOME环境变量,如下图:
首先新建环境变量。变量名:JRE_HOME,变量值:“JDK所在路径”
再次启动tomcat启动成功
5.4 另一种启动 tomcat 服务器的方式
1、打开命令行
2、cd 到 你的 Tomcat 的 bin 目录下
3、敲入启动命令: catalina run
这种启动的方式的好处:如果环境变量配置错误,会在此窗口提示报错信息。
5.5 Tomcat 的停止
1、点击 tomcat 服务器窗口的 x 关闭按钮
2、把 Tomcat 服务器窗口置为当前窗口,然后按快捷键 Ctrl+C
3、找到 Tomcat 的 bin 目录下的 shutdown.bat 双击,就可以停止 Tomcat 服务器
5.6 如何修改 Tomcat 的端口号
Mysql 默认的端口号是:3306
Tomcat 默认的端口号是:8080
找到 Tomcat 目录下的 conf 目录,找到 server.xml 配置文件。
平时上百度:http://www.baidu.com:80,80省略了。
域名代替的是ip地址。
HTTP 协议默认的端口号是:80,80可以省略。
5.7 如何部暑 web 工程到 Tomcat 中
5.7.1 第一种部署方法
只需要把 web 工程的目录拷贝到 Tomcat 的 webapps 目录下即可。
1、在 webapps 目录下创建一个 book 工程(目录):
2、把上午做的书城第一阶段的内容拷贝到里面:
3、如何访问 Tomcat 下的 web 工程。
注意:访问的是web工程发布到服务器的项目目录格式,而不是idea中的目录格式。
只需要在浏览器中输入访问地址格式如下:
http://ip:port/工程名/目录下/文件名
分析:localhost:8080相当于访问到Tomact服务器的webapps目录,然后再进入到工程名(web应用),在填写想要访问的那个文件的目录名 文件名。
可以理解为: 把整个项目的web目录发布到服务器webapps目录下 ,在把web目录改为项目名 ,接着在把 build中的classes目录也放到web-inf目录下(eclipse)。
5.7.2 第二种部署方法:
找到 Tomcat 下的 conf 目录\Catalina\localhost\ 下,创建如下的配置文件:
一个xml文件就代表一个工程。
abc.xml 配置文件内容如下:
<!-- Context 表示一个工程上下文
path 表示工程的访问路径:/abc
docBase 表示你的工程目录在哪里 -->
<Context path="/abc" docBase="E:\book" />
访问这个工程的路径如下:http://ip:port/abc/ 就表示访问 E:\book 目录
这种方式的好处是:不用在把web应用存放到webapps目录下了,可以存放磁盘任何位置。
5.8 手托html页面到浏览器和在浏览器中输入http://ip:端口号/工程名/访问的区别
手托 html 页面的原理:
手托:指的是找到webapps的目录下的web应用中想要访问的文件,然后选中直接拖到浏览器中也可以进行访问。
输入访问地址访问的原因:
5.9 ROOT 的工程的访问,以及 默认 index.html 页面的访问
当我们在浏览器地址栏中输入访问地址如下:
http://ip:port/ ====>>>> 没有工程名的时候,默认访问的是 ROOT 工程。
当我们在浏览器地址栏中输入的访问地址如下:
http://ip:port/工程名/ ====>>>> 没有资源名,默认访问 index.html 页面,也就是说如果每个工程都写了一个index.html页面,那么此时访问没有指定具体的资源名,默认访问的是当前工程名下的index.html页面。
注意:
- 这个index.html页面,指的是前缀index,不论你的后缀是什么,如: index.jsp这样的仍然可以访问。
- 前提是此页面没有放在WEB-INF目录下。
6. IDEA 整合 Tomcat 服务器
整合的目的:将Tomcat服务器整合到Eclipse/idea工具中,可以通过Eclipse/idea启动、关闭tomcat服务器,更重要的是,可以非常方便的将在Eclipse/idea中创建的Web项目发布到Tomcat服务器中运行。
操作的菜单如下:File | Settings | Build, Execution, Deployment | Application Servers
配置你的 Tomcat 安装目录:
就可以通过创建一个 Model 查看是不是配置成功!!!
7.IDEA 中动态 web 工程的操作
说明:创建动态Web工程后,它会自动定位到所使用的的Tomact实例。而使用Maven创建动态Web工程后,他不会自动定位,需要你手动定位到项目所运行的Tomact。详情查看SpringMVC 二 7测试。
7.1 IDEA 中如何创建动态 web 工程(idea2020版)
1、创建一个新模块:
2、选择你要创建什么类型的模块:
3、输入你的模块名,点击【Finish】完成创建。
4、创建成功如下图:
5.习惯上在WEB-INF目录下创建一个目录lib,用来保存jar包。
7.2 Web 工程的目录介绍
7.3 何给动态 web 工程添加额外 jar 包
7.3.1 方式一
1.首先拷贝jar包到lib目录。
2.添加到类库
7.3.1 方式二
1、可以打开项目结构菜单操作界面,添加一个自己的类库:
2、添加你你类库需要的 jar 包文件。
3、选择你添加的类库,给哪个模块使用:
4、选择 Artifacts 选项,将类库,添加到打包部署中:
7.4 如何在 IDEA 中部署工程到 Tomcat 上运行
1、建议修改 web 工程对应的 Tomcat 运行实例名称:
说明:每创建一个动态web工程,同时会实例化一个tomact,建议修改名字和模块名一致。
2、确认你的 Tomcat 实例中有你要部署运行的 web 工程模块:
3、你还可以修改你的 Tomcat 实例启动后默认的访问地址:
4、在 IDEA 中如何运行,和停止 Tomcat 实例。
4.1、正常启动 Tomcat 实例:
4.2、Debug 方式启动 Tomcat 运行实例:
4.3、停止 Tomcat 运行实例:
4.4、重启 Tomcat 运行实例:
各个选项说明:
7.5 修改工程访问路径
建议:一般和创建的模块名保持一致。