Tomcat && Service

(重点)Tomcat

软件的结构

Client(客户端)/Server(服务器端):C/S架构。

Browser(浏览器)/Server(服务器端):B/S架构。
在这里插入图片描述

资源的分类

服务器上的资源分类:

静态资源:一旦写完,运行期间不会发生变化。比如html、css、js、图片、视频等等。

动态资源:根据用户的不同,显示的内容就不同。比如:php、asp,jsp、servlet(java语言)等等。

服务器软件介绍

服务器上的资源都是存在磁盘上的,用户无法直接访问的。要想让用户能访问,必须有软件来管理这些资源,并提供对外服务器的端口。这样的软件就叫做服务器软件。课程中除非特别说明,我们所说的服务器都是指的是服务器软件。

硬件服务器:IP地址

硬件服务器上安装了很多软件:端口来区分软件。

常用的服务器软件:

*Tomcat:是apache基金会组织下的产品。非常优秀的Servlet容器(服务器)。最初由SUN公司的一个测试环境发展而来。

Weblogic AS(Application Server):收费的优秀的JavaEE容器(服务器)。Oracle的产品。

WebSphere AS(Application Server):收费的优秀的JavaEE容器(服务器)。IBM的产品。

Jbose AS:大名鼎鼎的红帽(Red Hat)公司的产品。

GlassFish:SUN公司的产品,JavaEE容器(服务器)。

在这里插入图片描述

(重点)Tomcat的安装与配置

Tomcat的下载

下载地址:https://tomcat.apache.org/download-80.cgi

Tomcat的版本Servlet版本JavaEE版本
Tomcat9Servlet3.2JavaEE8
Tomcat8(学习此版本)Servlet3.1JavaEE7
Tomcat7Servlet3.0JavaEE6
Tomcat5Servlet2.5JavaEE5

Tomcat的安装

window64位压缩版为例。

解压既是安装:不建议将Tomcat放在含有中文或空格的目录中。

在这里插入图片描述

Tomcat的配置

Tomcat的运行需要用到JDK,因此,你需要在系统的环境变量中,设置一个JAVA_HOME=JDK安装目录
在这里插入图片描述

Tomcat的启动与停止

启动Tomcat

方式一:

在这里插入图片描述

方式二:使用命令行
在这里插入图片描述

验证是否成功

Tomcat默认使用的是8080端口

访问:http://localhost:8080或者http://127.0.0.1:8080
在这里插入图片描述

关闭Tomcat

方式一:关闭黑窗口。

方式二:执行shutdown.bat命令

Tomcat启动可能遇到的问题

问题1:一闪而过。

问题所在:1、你的JAVA_HOME环境变量没有配置。

问题2:端口被占用(默认8080)

出现问题,可以查看运行日志(Tomcat\log)
在这里插入图片描述

方式一:解决:释放占用的端口8080。

方式二:改用其他端口。修改Tomcat\conf\server.xml配置文件(TOmcat中的核心配置文件,不懂的不要瞎搞)。把8080改为其他端口即可。

在这里插入图片描述

(重点)标准的JavaWeb应用结构

应用名称

​ 资源

​ img:存图片

​ js:js文件

WEB-INF :注意大小写。固定写法。位于该文件夹中的资源,用户无法直接访问

classes:存放你的字节码文件。固定写法

lib:存放你的应用中需要的jar包。固定写法

web.xml:当前应用的配置文件。固定写法

在这里插入图片描述

(重点)应用的部署

把你的应用交给服务器管理,这个过程叫做部署。

方式一:把你的应用直接拷贝到Tomcat\webapps目录下即可。

注意:webapps目录下有几个目录,就是有几个应用

在这里插入图片描述

方式二:配置虚拟目录(应用的虚拟路径)(不推荐)

修改Tomcat\conf\server.xml

在这里插入图片描述

不推荐理由:只要修改server.xml,就必须重新启动Tomcat,否则不生效。

方式三:配置虚拟目录(推荐)

在C:\apache-tomcat-8.5.27\conf\Catalina\localhost中建立一个xml配置文件,文件名就是虚拟目录名

在这里插入图片描述

##(重点)使用idea部署javaweb应用

step1、建立一个javaweb应用
在这里插入图片描述

step2、配置服务器和虚拟目录
在这里插入图片描述

step3、启动Tomcat

在这里插入图片描述

step4、启动效果

在这里插入图片描述

idea做了什么?

1、把源代码进行编译,按照javaweb标准目录结构生成classes到:out\artifacts\day28_01javaweb_war_exploded

2、把刚才生成的目录,自动配置了虚拟目录(按照你的设置)

3、启动Tomcat

(重点)Servlet

Servlet是一套规范(由抽象类或接口组成),是JavaEE技术之一。

Servlet的规范在javax.servlet.*包中。
在这里插入图片描述

(重点)什么是Servlet

运行在服务器端的一段java服务小程序。所有的服务小程序应该实现javax.servlet.Servlet接口。

在这里插入图片描述

(重点)编写第一个Servlet:步骤和执行过程

编码过程

step1、编写一个类,实现Servlet接口

在这里插入图片描述

step2、编写完的Servlet必须给定一个访问地址,这个过程叫做Servlet映射。

修改web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
         http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
    <servlet>
        <!--servlet-name:给你的Servlet取一个名字-->
        <servlet-name>servletDemo1</servlet-name>
        <!--指定servlet小程序的完整类名-->
        <servlet-class>com.itheima.ServletDemo1</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>servletDemo1</servlet-name>
        <!--url-pattern:指定访问地址-->
        <url-pattern>/demo1</url-pattern>
    </servlet-mapping>
</web-app>

step3、部署应用

在这里插入图片描述

step4、执行效果

在这里插入图片描述

###执行过程

1、用户访问http://localhost:8080/day28/demo1

http:使用的协议

localhost:主机地址

8080:端口号

/day28:应用名称(虚拟目录)

/demo1:资源地址

2、服务器会根据你的地址/demo1,找web.xml中的 ,进行比对

3、比对成功,找到

4、找到servlet-name,就能找到你的servlet小程序。

5、服务器会实例化你的小程序类,并调用其中的service方法。

使用注解映射你的Servlet

自Servlet3.0之后,web.xml已经不是必须的了。因为支持注解配置方式了。

注解配置学习建议:先学会xml配置,并且明白作用是什么?对比着xml,学会使用注解的方式进行配置。

step1、重新编写一个Servlet
在这里插入图片描述

step2、测试

在这里插入图片描述

注解如何起到作用的:给Tomcat看的。Tomcat内部会使用注解的反射。

因为Servlet小程序上使用了@WebServlet注解,Tomcat就知道你这是一个Servlet小程序。由于指定了urlPatterns的属性,Tomcat就知道当用户访问/demo2时,就执行带有该注解的Servlet中的service方法提供服务。

(重点)Servlet映射的细节

方式一:映射到一个绝对地址上。比如/demo2

方式二:使用通配符(*):/action/*

在这里插入图片描述

方式三:使用通配符(*):*.do

只要访问地址,以do结尾都可以访问到

在这里插入图片描述

注意:映射地址绝对>使用通配符的

/开头的通配符映射地址>*开头的通配符地址

如果一个地址匹配到很多Servlet,方式一>方式二>方式三

特殊映射:默认Servlet(学习Spring mvc框架有帮助)

如果一个地址被映射到了==/==上,那么这个Servlet就是成为默认的Servlet。负责处理没有对应映射的请求。

在这里插入图片描述

(重点)Servlet的生命周期

出生:Servlet小程序默认第一次被访问时由服务器将其实例化并初始化。

在这里插入图片描述

实例化之后,服务器会紧接着调用它的初始化方法(执行一次)

在这里插入图片描述

活着:是单例的,只要初始化后就驻留内存了。

死亡:应用被卸载(从Tomcat中移除了)或者Tomcat停止了。

可以执行销毁方法完成一些清理工作。
在这里插入图片描述

(很重要)小技巧(Spring mvc)

Servlet小程序,第一次被访问时才会完成实例化和初始化。造成第一个用户感觉比较慢。

希望应用被加载时(Tomcat启动时)就完成Servlet的实例化并初始化。

xml:

在这里插入图片描述

注解:

在这里插入图片描述

结果:启动时就完成了以上2个Servlet的实例化。

(很重要)为什么配置的顺序从2开始(Spring mvc)

在Tomcat\conf\web.xml中,存在全局的默认Servlet和JSP引擎的映射。

在这里插入图片描述在这里插入图片描述

(重点)Servlet的继承体系结构

GenericServlet

他是Servlet接口的一个实现类,且是一个抽象类

我们可以编写一个类继承这个抽象类编写我们的Servlet程序。

在这里插入图片描述

(重点)HttpServlet

我们编写JavaWeb基本上都是基于HTTP协议的。

在HttpServlet中增加专门与HTTP协议有关的方法,是GenericServlet的子类。

在这里插入图片描述

(重点)ServletConfig接口

ServletConfig的实例由Tomcat服务器创建。代表当前Servlet的参数配置。

会在Servlet初始化时,就传递给你。

作用:可以给Servlet配置一些参数,避免硬编码。(spring mvc中用到)

step1、web.xml配置映射,并指定参数
在这里插入图片描述

step2、获取参数

在这里插入图片描述

step3、注解方式(了解)

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值