Phase4 JavaEE Day1 创建Servlet

Servlet

1.开发Servlet的三种模式

第一种

servlet是运行在服务器中的一个程序
1.需要新建一个应用
2.按照web项目的目录结构,放置class文件
3.在web.xml中配置如下代码

先手写一段servlet并编译
在这里插入图片描述
在这里插入图片描述
完成编译,生成class字节码文件,然后配置xml文件

在这里插入图片描述
就可通过http://localhost:8080/first/first访问该页面

1.请求被connnector接收到,然后将请求报文转成request对象
2.将request对象和生成的新的response对象一起传给engine
3.engine根据url选择交给哪个host来处理----localhost
4.host接着选取哪个context来处理----first这个应用来处理
5.context的职责是什么?如果这个时候你搜索的是1.txt,那么它就在当前应用下寻找一个叫1.txt的文件;如果你搜索的是/first,那么这个时候怎么做呢?根据web.xml中配置的信息,找到该url-pattern对应的servlet-class
6.找到以后,调用当前servlet的service方法
7.request和response对象返回----connector
8.connector读取response里面的数据,然后生成响应报文,做出响应。

第二种

借助IDEA开发
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第三种

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

4.执行过程

  1. 客户端发出请求http://localhost:8080/servlet/first
  2. 服务器对应的应根据web.xml文件的配置,找到< url-pattern>子元素的值“/first”的< servlet-mapping>元素
  3. 读取< servlet-mapping>元素的< servlet-name>子元素的值,由此确定Servlet的名字为”first”
  4. 找到< servlet-name>值为HelloServlet的< servlet>元素
  5. 读取< servlet>元素的< servlet-class>子元素的值,由此确定Servlet的类名为cn.cskaoyan.HelloServlet。
  6. 到Tomcat安装目录/webapps/Demo1/WEB-INF/classes/cn/cskaoyan目录下查找到HelloServlet.class文件
  7. 初始化,并执行这个类的 service方法。

5.Servlet运行过程

  1. Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后:
  2. Web服务器首先检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第④步,否则,执行第②步。
  3. 装载并创建该Servlet的一个实例对象。
  4. 调用Servlet实例对象的init()方法。
  5. tomcat创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。
  6. WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值