Servlet

1. Servlet概述

javax.servlet.Servlet,是一个接口
Servlet 是运行在 Web 服务器(如:Tomcat)上的 Java 小应用程序,由Tomcat去调用,没有main函数。
每个 Servlet 都要在 web.xml 中进行配置。Servlet 就是一个 Java 类,运行在 Web 容器中,接收并响应用户的请求并且对用户的请求做出响应。通常通过 HTTP 协议实现。

1.1. Servlet的生命周期方法

03-Servlet - 图1

1.2. Servlet 的运行过程

03-Servlet - 图2
每个 Servlet 在 Web 容器中只有一个对象,一个类只有一个对象,称为单例模式
一个 Servlet 类在 tomcat 中只创建一个对象,等到服务器关闭才销毁,平时是常驻内存的。
ServletRequestServletResponse 是两个接口,Servlet 是运行在 Tomcat 中,在 service 方法中两个 request 和 response 对象,是由 tomcat 创建出来,并且实例化,由 tomcat 调用 service 方法并且把这两个参数传递进来

  1. 解析web.xml文件,使用dom4j之类工具。
  2. 得到类全名,通过反射实例化Servlet
  3. 创建request和response对象,调用service()方法,传递2个对象给方法。

    2. JavaWeb 项目开发步骤

    2.1. 使用 IDEA 开发 JavaEE 项目

  4. 在开发环境中准备好 tomcat,在 IDEA 中创建 application serviers,选择本地的 tomcat 目录即可

03-Servlet - 图3

  1. 创建项目(Java Enterprise):项目命名、项目所在目录、项目的 Java 版本、tomcat 服务器等

03-Servlet - 图4

  1. 选择项目需要的依赖

03-Servlet - 图5

  1. 创建后目录结构

03-Servlet - 图6
web.xml 是项目的描述文件,servlet 的配置放在这个文件中

  1. 创建完项目后,可以右键点击项目,选择【Edit Configuration】,修改项目的默认根目录的地址、端口号等

03-Servlet - 图7
03-Servlet - 图8

2.2. 使用 MyEclipse 开发 JavaEE 项目

2.2.1. Tomcat 配置与启动

在 MyEclipse 中 Tomcat 的配置 【Window】->【Preferences】
03-Servlet - 图9
在 myeclipse 中启动 Tomcat
03-Servlet - 图10
03-Servlet - 图11

2.2.2. 创建 JavaEE 项目

  1. 创建项目:项目命名、项目所在目录、项目的JavaSE和JavaEE的版本

03-Servlet - 图12

  1. 选择Java的源代码和字节码的目录

03-Servlet - 图13

  1. 项目的访问地址,网页所在的文件夹。web.xml 是项目的描述文件,servlet 的配置放在这个文件中

03-Servlet - 图14
创建完项目后,可以修改项目的默认根目录的地址,右键项目名,选择【Properties】,搜索 web,修改【Web Context-root】项即可
03-Servlet - 图15

2.2.3. web 项目结构

03-Servlet - 图16

  • lib:放第三方的 jar 包,如:驱动、DbUtils 等
  • classes:字节码文件
  • web.xml:当前项目的部署描述文件,servlet 的配置就要放在这个文件中。

    2.2.4. 开发 Servlet

  1. 创建一个类 MyServlet 继承于 javax.servlet.http.HttpServlet
  2. 重写 doGet() 方法
  3. doGet 方法中向浏览器输出一些文字
  4. 在 web.xml 中配置 servlet。得到类全名的方法,需要点里面的构造方法,再点【Copy Qualified Name】

03-Servlet - 图17
03-Servlet - 图18
配置文件实现流程:

  1. 先通过地址来访问(部署后的页面是 http://localhost:8080/项目名/url名)
  2. 确定 servlet 的名字
  3. 通过步骤2的名字对应确认上面的 servlet 的文件
  4. 再利用反射实例化该类

    2.2.5. 部署项目到 tomcat

    点按钮【Deploy MyEclipse J2EE Project to Server】
    03-Servlet - 图19
    【Add】-> 选择 【Server:Tomcat 7.x】
    03-Servlet - 图20
    点击 【Finish】,完成部署
    03-Servlet - 图21
    部署后 tomcat 的 webapps 目录多了一个项目文件夹,项目文件夹下有个 classes 文件,就是源代码生成的 class 文件
    03-Servlet - 图22
    03-Servlet - 图23
    最后使用浏览器访问刚刚部署的项目 http://localhost:8080/Day35_Tomcat/test