Java之 Servlet

0x01、服务器安装

​ 我所使用的:jdk8、mysql5、tomcat8

(一)、tomcat下载

1、先去官网下载:http://tomcat.apache.org/,选择tomcat8版本(红框所示)

选择要下载的文件(红框所示):

tar.gz 文件 是linux操作系统下的安装版本

exe文件是window操作系统下的安装版本

zip文件是window操作系统下压缩版本(我们选择zip文件)

(二)、tomcat安装

  1. 直接解压当前这个tomcat压缩包:(不要有中文,不要有空格)

  2. 配置环境变量:

    tomcat运行依赖于java环境

(三)、启动与关闭tomcat服务器

  1. 启动tomcat服务器

    查找tomcat目录下bin目录,查找其中的startup.bat命令,双击启动服务器:

2. 关闭tomcat服务器

(四)、Tomcat部署WEB项目

2.2.1 方式一:直接发布

​ 只要将准备好的web资源直接复制到tomcat/webapps文件夹下,就可以通过浏览器使用http协议访问获取

2.2.2方式二: 虚拟路径的方式发布项目
  1. 第一步:在tomcat/conf目录下新建一个Catalina目录(如果已经存在无需创建)

  1. 第二步:在Catalina目录下创建localhost目录(如果已经存在无需创建)

  1. 第三步:在localhost中创建xml配置文件,名称为:second(注:这个名称是浏览器访问路径)

  1. 第四步:添加second.xml文件的内容为: docBase就是你需要作为虚拟路径的项目的路径

    <?xml version = "1.0" encoding = "utf-8"?>
    <Context docBase="G:/myApp" />
    

  2. 第五步:直接访问(通过写配置文件的路径来访问):

    http://localhost:8080/second/a.html (second就是配置文件的名字, 映射成了myApp)

0x02、Servlet

Servlet作用:

  1. 用来接收、处理客户端请求、响应给浏览器的动态资源。

  2. 但servlet的实质就是java代码,通过java的API动态的向客户端输出内容

(一)、配置文件方式实现

  • 在web.xml 中配置(该文件在web/WEB-INF 文件夹下
<web-app>
  <display-name>Archetype Created Web Application</display-name>
  <servlet>
    <!--servlet-name: 名字 随便取; 一般就是类名-->
    <servlet-name>ServletDemo01</servlet-name>
    <!--servlet-class:Servlet这个类的全限定名-->
    <servlet-class>com.itheima.day01.ServletDemo01</servlet-class>
  </servlet>
  <servlet-mapping>
    <!--servlet-name: 必须和servlet标签里面的servlet-name一样-->
    <servlet-name>ServletDemo01</servlet-name>
    <!--url-pattern: 配置访问的路径-->
    <url-pattern>/demo01</url-pattern>
</web-app>
url-pattern配置方式共有三种: 

1、完全路径匹配:  以 ‘/’ 开始      注: 访问的路径不能多一个字母也不能少一个

例如: 配置了/demo01  请求的时候必须是: /demo01  


2、目录匹配 ‘以 / 开始需要以 * 结束’.    注: Servlet里面用的 不多, 但是过滤器里面通常就使用目录匹配 

例如:  配置/* 访问/a, /aa, /aaa; 配置 /aa/*  访问 /aa/b , /aa/cc


3、扩展名匹配 ‘不能以 / 开始, 以 * 开始的 ’

​```
例如:  *.action;  访问: aa.action, bb.action, c.action;   错误写法: /*.do, 不可以写*.jsp,*.html
​```

最后我们在doGet中输出执行,这样的话,只要我们访问这个Servlet就会在服务器输出执行,来证明

注意的地方:

  • 一个路径只能对应一个servlet, 但是一个servlet可以有多个路径
  • tomcat获得匹配路径时,优先级顺序:完全路径匹配> 目录匹配 > 扩展名匹配

(二)、注解方式实现

最后使用@WebServlet注解配置即可

@WebServlet("/demo01")

在我们的项目路径下访问demo01

(三)、Servlet 执行原理

通过上述流程图我们重点需要掌握如下几个点:

  • Servlet对象是由服务器创建(反射)
  • request与response对象也是由tomcat服务器创建
  • service()方法也是服务器调用的

Servlet生命周期方法

servlet从创建到销毁的过程

  • 出生:(初始化)用户第一次访问时执行。

  • 活着:(服务)应用活着。每次访问都会执行。

  • 死亡:(销毁)应用卸载。

serrvlet生命周期方法:

init(ServletConfig config)

service(ServletRequest req, ServletResponse res)

destroy()

默认情况下, 来了第一次请求, 会调用init()方法进行初始化【调用一次】

任何一次请求 都会调用service()方法处理这个请求

服务器正常关闭或者项目从服务器移除, 调用destory()方法进行销毁【调用一次】

posted @ 2021-01-26 08:18  0X7e  阅读(124)  评论(0编辑  收藏  举报