首页 > 其他分享 >Servlet

Servlet

时间:2022-10-21 22:12:44浏览次数:41  
标签:调用 service Servlet doPost --- 方法

前言

在Java开发中,部署jsp网站的时候通常都是将文件打包成war包,然后再进行上传,上传后会自动进行解压,那么我们来看看war包的结构

WebContent				   (站点根目录)
	|---META-INF			  (META-INF文件夹)
	|	|---MANIFEST.MF		  (MANIFEST.MF配置清单文件)
	|---WEB-INF		          (WEB-INF文件夹)
	|	|---web.xml		  (站点配置web.xml)
	|	|---lib			  (第三方库文件夹)
	|	|	|---*.jar	  (程序需要的jar包)
	|	|---classes		   (class文件目录)
	|	|	|---*.class	   (class文件)
	|---<userdir>			   (自定义目录)
	|	|---*.jsp,*.js,*.css	   (自定义资源文件)
	|---<userfiles>			   (自定义资源文件)

Tomcat搭建的网站 虚拟配置路径

配置conf/server.xml文件
				在<Host>标签体中配置
				<Context docBase="D:\hello" path="/hehe" />
				* docBase:项目存放的路径
				* path:虚拟目录

配置完成后,我们访问127.0.0.1:8080/gk0d的时候,tomcat中间件会查找本机d盘下的目录hello

Servlet

Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。

Servlet 生命周期

Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程:

  • Servlet 初始化后调用 init () 方法。
  • Servlet 调用 service() 方法来处理客户端的请求。
  • Servlet 销毁前调用 destroy() 方法。
  • 最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的

init() 方法

它在第一次创建 Servlet 时被调用,在后续每次用户请求时不再调用

当用户调用一个 Servlet 时,就会创建一个 Servlet 实例,每一个用户请求都会产生一个新的线程,适当的时候移交给 doGet 或 doPost 方法。init() 方法简单地创建或加载一些数据,这些数据将被用于 Servlet 的整个生命周期。

public void init() throws ServletException {
  // 初始化代码...
}

service() 方法

service() 方法是执行实际任务的主要方法。Servlet 容器(即 Web 服务器)调用 service() 方法来处理来自客户端(浏览器)的请求,并把格式化的响应写回给客户端。

每次服务器接收到一个 Servlet 请求时,服务器会产生一个新的线程并调用服务。service() 方法检查 HTTP 请求类型(GET、POST、PUT、DELETE 等),并在适当的时候调用 doGet、doPost、doPut,doDelete 等方法。

下面是该方法的特征:

public void service(ServletRequest request, 
                    ServletResponse response) 
      throws ServletException, IOException{
}

service() 方法由容器调用,service 方法在适当的时候调用 doGet、doPost、doPut、doDelete 等方法。所以,您不用对 service() 方法做任何动作,您只需要根据来自客户端的请求类型来重写 doGet() 或 doPost() 即可。

doGet() 方法

GET 请求来自于一个 URL 的正常请求,或者来自于一个未指定 METHOD 的 HTML 表单,它由 doGet() 方法处理。

public void doGet(HttpServletRequest request,
                  HttpServletResponse response)
    throws ServletException, IOException {
    // Servlet 代码
}

doPost() 方法

POST 请求来自于一个特别指定了 METHOD 为 POST 的 HTML 表单,它由 doPost() 方法处理。

public void doPost(HttpServletRequest request,
                   HttpServletResponse response)
    throws ServletException, IOException {
    // Servlet 代码
}

destroy() 方法

destroy() 方法只会被调用一次,在 Servlet 生命周期结束时被调用。destroy() 方法可以让您的 Servlet 关闭数据库连接、停止后台线程、把 Cookie 列表或点击计数器写入到磁盘,并执行其他类似的清理活动。

在调用 destroy() 方法之后,servlet 对象被标记为垃圾回收。destroy 方法定义如下所示:

  public void destroy() {
    // 终止化代码...
  }

标签:调用,service,Servlet,doPost,---,方法
From: https://www.cnblogs.com/gk0d/p/16814939.html

相关文章

  • ServletContext
    ServletContext一个Servlet对象对应一个ServletConfig。100个Servlet对象则对应100个ServletConfig对象。只要在同一个webapp当中,只要在同一个应用当中,所有的Servlet......
  • Tomcat&Servlet笔记
    今日内容1.web相关概念回顾2.web服务器软件:Tomcat3.Servlet入门学习web相关概念回顾1.软件架构 1.C/S:客户端/服务器端 2.B/S:浏览器/服务器端2.资源分类 ......
  • Servlet&HTTP&Request笔记
    今日内容:1.Servlet2.HTTP协议3.RequestServlet:1.概念2.步骤3.执行原理4.生命周期5.Servlet3.0注解配置6.Servlet的体系结构 Servlet--接口 | ......
  • 关于报出这样的错误:org.apache.catalina.core.StandardWrapperValve.invoke 在路径为/
    从23:30开始报错检查,现在才弄好,发出来分享一下错误界面:首先,我们需要检查一下我们利用DBUtil.java文件中引用的db文件名称是否正确,(我就是因为没有注意到文件名称是否正确......
  • 查看Servlet和jsp版本
    1.找到Tomcat下的lib文件。2.找到jsp-api和servlet-api然后解压,注意:解压到不同的文件夹中,在同一个文件夹中解压不成功,因为同名。3.jsp的版本:在对应的文件夹中找到META-......
  • ServletContext对象
    ServletContext对象1.引入ServletContext对象,叫做Servlet的上下文对象。表示一个当前的web应用环境。一个web应用中只有一个ServletContext对象。2.对象创建和得......
  • ServletConfig对象
    ServletConfig对象作用ServletConfig对象:主要是用于加载servlet的初始化参数。在一个web应用可以存在多个ServletConfig对象(一个Servlet对应一个ServletConfig对象)......
  • Servlet的url详解
    【Servlet的url详解】url匹配优先级:精确匹配>以/开头的匹配>以*开头的匹配。总之匹配越精确,优先级越高。<!--创建一个Serlvet对象相当于Hellodemo=newHello()-->......
  • GenericServlet改造,ServletConfig接口
    GenericServlet(java自己编写好了)我们编写一个Servlet类直接实现Servlet接口有什么缺点?我们只需要service方法,其他方法大部分情况下是不需要使用的。代码很丑陋。适......
  • SpringMVC执行流程-2、DispatcherServlet初始化过程
    DispatcherServlet初始化过程DispatcherServlet本质上是一个Servlet,所以天然的遵循Servlet的生命周期。所以宏观上是Servlet生命周期来进行调度。  a>初始化We......