Java Servlet

原创 2018年04月16日 15:43:12

1.什么是servlet?

servlet是一种服务器的Java应用程序,即Java服务器小程序,其是由服务器端调用和执行的,按照servlet自身规范编写的Java类。

2.为什么使用servlet

    (1)servlet是持久的

    (2)servlet是快速的

    (3)servlet是与平台无关的

    (4)servlet是可扩展的

    (5)servlet是安全的

3.servlet运行流程

    首先Servlet被部署到Web容器中,当客户端发送调用这个Servlet的请求到达Web容器时,Web容器会先判断所调用的Servlet实例是否存在。如果不存在,就装载当前所调用的Servlet并调用构造方法生成这个Servlet的实例,其次再调用这个实例的init()方法(init()这个方法只会在Servlet初始化的时候调用一次,除非这个Servlet被重新部署)进行初始化,然后新创建一个线程,并在新建线程中调用这个实例的service()方法,service()方法再根据请求的具体类型调用doGet()、doPost()等方法,然后生成动态的回复内容,最后服务器发送回复内容给客户端的浏览器。如果存在,就直接新创建一个线程,并在新建线程中调用这个实例的service()方法,service()方法再根据请求的具体类型调用doGet()、doPost()等方法,然后生成动态的回复内容,最后服务器发送回复内容给客户端的浏览器。当Servlet不再需要使用的时候,比如其所在的Web应用被卸载或Web服务器关闭时,它就会被卸载掉,卸载前调用destory()方法,完成所有相关资源的释放。

4.servlet体系结构

    Servlet API主要由两个Java包组成:

    javax.servlet 在javax.servlet包中定义了Servlet接口及相关的通用接口和类;

    javax.servlet.http 在javax.servlet.http包中主要定义了与HTTP协议相关的

HttpServlet类,HttpServletRequest接口和HttpServletResponse接口;

5.servlet生命周期

在Servlet接口中定义了5个方法,其中3个方法都是由Servlet容器来调用的,容器会在Servlet的生命周期的不同阶段调用特定的方法:init(ServletConfig) —— 负责初始化Servlet对象,只调用一次,初次访问servlet时访问。

service(ServletRquest req, ServletResponse res) ——处理业务逻辑;用户每次访问servlet’都会调用; req获取客户端的信息,res用于向客户端返回信息。

destroy() —— 负责释放Servlet对象占用的资源。 

reload该servlet(webApps)(tomcat页面manager), 

关闭tomcat, 

关机会调用该方法。

6.配置servlet

web项目中的web.xml中配置

<?xml version="1.0"?>

<servlet>

    <servlet-name>TestServlet</servlet-name>

    <servlet-class>test.java.servlet.TestServlet</servlet-class>

</servlet>

<servlet-mapping>

    <servlet-name>TestServlet</servlet-name>

    <url-pattern>/testServlet</url-pattern>

</servlet-mapping>

7.servlet的生命周期

    (1)加载和实例化

    (2)初始化

    (3)请求处理

    (4)服务终止


深入java servlet 网络编程

  • 2010年11月22日 21:34
  • 4.43MB
  • 下载

Java Servlet Bible

  • 2009年02月20日 09:56
  • 763KB
  • 下载

java Java Servlet小程序

  • 2010年06月21日 17:52
  • 59KB
  • 下载

【java】Servlet生命周期和工作原理

上篇博客介绍了Servlet 的调用流程,这篇博客介绍Servlet的生命周期和工作原理。 生命周期: Servlet生命周期包含了以下几个阶段:     1.加载和实例化      当检...
  • u013046597
  • u013046597
  • 2016-07-30 17:15:01
  • 1911

通过java调用servlet接口----json

 package myProject;   import java.io.DataInputStream; import java.io.DataOutputStream;...
  • a1192529545
  • a1192529545
  • 2015-06-30 14:41:37
  • 1348

java基于servlet的文件上传

研究了一天终于将java上传文件看懂了,当然懂的仅仅是皮毛,不妨记下来防止以后忘了。 我们在网上看关于文件的上传有很多的介绍,当然有的可以使用有的则不合适:我们首先来看前台的界面 上传文件...
  • datouniao1
  • datouniao1
  • 2017-03-17 14:26:16
  • 551

java 访问web项目的servlet

一般一个项目访问另外一个项目 , 能想到的肯定是webservice,但是webservice是个大工程啊,整个项目就重了,如果只是一个servlet,当然指的是内部使用的情况下,可以直接给对方调用,...
  • heqinghua217
  • heqinghua217
  • 2015-07-23 18:46:07
  • 3553

Servlet与一般Java类的区别是什么?

servlet是Java编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。 虽然servlet可以对任何类型的请求产生响应,但通常只用来扩展...
  • wangthunder2012
  • wangthunder2012
  • 2015-10-10 17:51:29
  • 1097

Java Servlet下载文件(简单)

package com.bjdata.bjproduct.presentation.servlet; import java.io.File; import java.io.FileInput...
  • luobing_csdn
  • luobing_csdn
  • 2017-03-27 11:06:07
  • 561
收藏助手
不良信息举报
您举报文章:Java Servlet
举报原因:
原因补充:

(最多只允许输入30个字)