Java-html篇——Servlet

Servlet基础

  1. Servlet是在服务器端运行以处理客户端请求而做出的响应的程序
  2. Servlet是在服务器上运行的小程序,一个Servlet就是一个Java类,并且可以通过“请求-响应”编程模型来访问的这个驻留在服务器内存里的Servlet程序。

Tomcat容器等级

Tomcat的容器分为四个等级,Servlet的容器管理Context容器,一个Context对应一个Web工程。
在这里插入图片描述
编写Servlet程序的步骤:

  1. 继承HttpServlet
  2. 重写doGet()或者doPost()方法
  3. 在web.xml中注册Servlet

在这里插入图片描述

Servlet执行流程 和生命周期

Servlet执行流程:

接收用户请求 点击一个超链接Get方式请求HelloServlet ,超链接的地址就是一个servlet,超链接的方式提交就是Get请求

Get方式请求HelloServlet ,则服务器就在web.xml中寻找与之相对应的URL地址,即在servlet-mapping中寻找和超链接对应的servlet,再到servlet标签中寻找与之对应的servlet处理类,再去src目录下寻找对应的处理类,根据用户提交的请求处理方式去执行对应的doGet和doPost方法
在这里插入图片描述
编写Servlet的doPost方法时,需要抛出ServletExcpetion和IOException异常,不会抛出HttpServletException异常。

Servlet生命周期
servlet生命周期阶段包括初始化、加载、实例化、服务和销毁。

  1. 初始化阶段,调用init()方法
  2. 响应客户请求阶段,调用service()方法。由service()方法根据提交方式选择执行doGet()或者doPost()方法
  3. 终止阶段,调用destroy()方法

Servlet生命周期
在下列时刻Servlet容器装载Servlet:
Servlet容器启动时自动装载某些Servlet,实现它只需要在web.xml文件中的之间添加代码:

<loadon-startup>1</loasdon-startup>		//数字越小优先级越高

Servlet容器启动时,自动装载某些Servlet

需要在web.xml文件中进行如下配置:
<servlet>
...
<loadon-startup>1</loasdon-startup>		//数字越小优先级越高
</servlet>

当servlet类被更新之后也会重新装载Servlet

Tomcat装载servlet的三种情况

在下列时刻Servlet容器装载Servlet:

  1. 在Servlet容器启动后,客户首次向Servlet发送请求
  2. Servlet类文件被更新后,重新装载Servlet
  3. Servlet被装载后,Servlet容器创建一个Servlet实力并且调用Servlet的init()方法进行初始化。在Servlet的整个生命周期内,init()方法只被调用一次。

Servlet先是调用构造方法被执行 在调初始化方法被执行 再调用doGet()方法

Servlet与JSP内置对象的对应关系

Servlet与九大内置对象

获取初始化参数

在web.xml中配置Servlet时,可以配置一些初始化参数。而在Servlet中可以通过ServletConfig接口提供的方法来取得这些参数

Servlet获取表单数据

。。。。。。。。待完善

Servlet路径跳转

<!--使用相对路径访问HelloServlet -->
<!-- /servlet/HelloServlet 第一个/表示服务器的根目录 -->
<a href="servlet/HelloServlet">访问HelloServlet!</a><br>
<!-- 使用绝对路径 访问HelloServlet,可以使用path变量:path变量表示项目的根目录-->
<a href="<%=path%>/servlet/HelloServlet">访问HelloServlet!</a><br>
<!--表单中action的URL地址写法,与超链接方式完全相同。 -->
<a href="servlet/TestServlet">访问TestServlet,跳转到Test.jsp</a>

MVC设计模式

MVC:Model View Controller 主要是分离模型、控制、视图
MVC设计模式

Model2模型

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_35655602/article/details/107124488