j2ee规范——Servlet

1.什么是servlet。

servlet是提供基于协议请求的/响应服务的java类。

servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。它担当客户端请求与服务器响应的中间层。

   简单点说:servlet就是客户端和服务器端的桥梁,通过这个桥梁,才能处理客户端请求与服务器响应

2.Servlet的生命周期

Servlet的生命周期是由Servlet的容器来控制的,它可以分为3个阶段;初始化、运行、销毁。

在servlet生命周期中,servlet的初始化和和销毁阶段只会发生一次,而service方法执行的次数则取决于servlet被客户端访问的次数。

初始化阶段:

1.Servlet容器加载servlet类,把servlet类读到内存中。

2.然后Servlet容器创建一个ServletConfig对象。ServletConfig包含Servlet初始化配置信息。

3.Servlet容器创建一个servlet对象。

4.Servlet容器调用servlet对象的init方法进行初始化。

运行阶段

1.接受请求,servlet创建servletRequest和servletResponse对象。

2.调用service方法,并把这两个参数传递给service方法。

3.Service方法通过servletRequest对象获得请求的 信息,并处理该请求。

4.通过servletResponse对象生成这个请求的响应结果。

5.然后销毁servletRequest和servletResponse对象。

销毁阶段

Web终止时,servlet容器会先调用servlet对象的destrory方法,然后再销毁servlet对象以及相关联的servletConfig对象。

在destroy方法中,释放servlet所占用的资源。如:关闭数据库连接,关闭文件输入输出流等。

3.Servlet数据处理

1.收到Get请求时调用servlet的doGet

//收到Get请求时调用servlet的doGet
import javax.servlet.*;
import javax.servlet.http.*;
import javax.io.*;

public class MyServlet extends HttpServlet{
	public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException{

	}
}

2.收到post请求时调用servlet的doPost

import javax.servlet.*;
import javax.servlet.http.*;
import javax.io.*;

public class MyServlet extends HttpServlet{
	public void doPost(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException{

	}
}

4.Servlet与JSP区别

1.jsp经编译后就是servlet,也可以说jsp等于servlet。

2.jsp更擅长页面(表现)。servlet更擅长逻辑编辑。 (最核心的区别)。

3.在实际应用中采用Servlet来控制业务流程,而采用JSP来生成动态网页.

4.JSP位于MVC设计模式的视图层,而Servlet位于控制层。

5.Servlet里的过滤器

    如果servlet是客户端和服务器端的桥梁,那么过滤器就应该是桥梁上的收费站、交通指示牌、限高架。用这些东西来过滤、限制车辆的通行。

(1)过滤器的主要作用

1.解密用户请求数据和加密响应数据

2.数据压缩和解压缩

3.用户认证

4.在日志中过滤有价值的信息

5.图像转换

(2)创建一个过滤器

1.生成一个普通的class类,实现Filter接口(javax.servlet.Filter;)。

2.重写接口里面的三个方法:init(初始化),doFilter(过滤任务),destroy(撤销)。

import javax.servlet.*;
import javax.servlet.http.*;
import myCompress.*;

public class MyCompressFilter implements Filter{//实现Filter接口
	private String compressAlgorithm=null;

	public void init(FilterConfig filterConfig){//初始化
		compressAlgorithm =filterConfig.getInitParameter("compressAlgorithm");
	}
	public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws IOException,ServletException{
		MyCompressor compressor=new MyCompressor();
		compressor.decompress(request,compressAlgorithm);
		chain.doFilter(request,response);
		compressor.compress(response,compressAlgorithm);
	}
}

3.然后在web.xml配置过滤器。

6.事件监听器

在j2se中学过事件监听器,事件监听就是当某种事情发生以后,就向监听器传送某种事件对象,监听器接到后,进行某些处理。

servlet监听器事件:

1.ServletContext事件,当部署、关闭web应用时和增加、删除、修改属性时。

2.HttpSession事件,当激活、钝化HTTPSession时增加、删除、修改HttpSession属性时。

总结

这一段servlet学习主要是学习了它的作用和应用,1.作用:在服务器端与客户端架起了桥梁,可以让客户端和服务器之间通信。2.应用方面:学习了servlet的生命周期,全局的角度了解了servlet的整个初始化、运行、销毁的过程;细化了servlet的doGet和doPost数据处理方式;以及在servlet这个‘桥梁’上建立过滤器来限制、过滤一下数据;最后是学习了servlet的监听器,了解了它的事件分类。

时间: 2024-10-08 10:10:16

j2ee规范——Servlet的相关文章

j2ee规范——Servlet实例

之前学习j2ee的规范的时候学习过servlet(j2ee规范--Servlet),那是从宏观上了解了servlet,知道他是干什么用的?现在在项目中运用到了servlet,就是为了解决怎么用的问题.用一个实例去总结一下怎样运用. 在myeclipse中新建一个servlet程序,需要三个步骤.1.前台显示代码.2.继承HttpServlet.重写doGet或者doPost.3.在web.xml中注册servlet. 1.前台显示代码 <body> <h1>第一个servlet小例

J2EE规范

J2EE是由SUN提出的用于简化开发企业级应用程序的一系列规范的组合,J2EE基于中间层集成的框架的方式为应用开发提供了一个统一的开发平台.基于容器管理.组件化的模型为企业建立一个高可用性,高可靠性可扩展的应用平台提供支持,降低了开发分布式应用程序的难度,降低了开发成本,而且提供一整套方便与旧的遗留系统相集的强有力支持,并提供了安全性及规范的打包安装的支持.开发人员使用的J2EE规范开发的应用程序将受厂商及客户的支持. J2EE是由一整套服务,应用程序接口及协议构成,提供对开发多层Web程序应用

以EJB谈J2EE规范

接触J2EE的时间不短了,曾经有很长一段时间处于迷糊时期.当时嘴里天天念叨着J2EE,可J2EE究竟是个什么东西,自己却说不出个一二三来.只知道现在自己在使用J2EE,但具体"怎么用啦?"."哪儿用了?",我不清楚.下面我就以EJB为例,简单谈谈具体什么是J2EE.哪里用到了J2EE.我们需要学习J2EE的那些东西. 很多人在学习EJB,不知道大家有什么想过:我们在学习EJB的什么?我们学习的EJB跟J2EE是什么关系?跟JBoss等容器又是什么关系? 我们知道,s

【J2EE】在项目中理解J2EE规范

J2EE平台由一整套服务(Service),应用程序接口(API)和协议构成,它对开发企业级应用提供了功能支持.13个核心技术分别是JDBC, JNDI, EJB, RMI, JSP, SERVLET, XML, JMS, JAVAIDL/CORBA, JTS, JTA, JAVAMAIL和 JAF. 何为企业级应用? 1.数据量特别大. 2.用户特别多. 3.性能要求高. 4.安全性要求高. 5.生命周期长. 这时候我们就要考虑数据存储和查询的问题,系统访问快慢即性能问题,如何使用事务保证安全

走进Java(二)J2EE规范解释

一.背景 起初,各个公司都开发出了自家的组件,可是用户使用过程中,各家的组件不通用,不兼容.所以提出J2EE协议,它就是基于Java技术的一系列标准. J2EE平台由一整套服务(Services).应用程序接口(APIs)和协议构成,它的功能非常全面,用于数据处理和服务器端应用.它对开发基于Web的多层应用提供了功能支持.使用J2EE技术部署的应用是:"编写一次,随处运行". 客户端(层)的组件包括Applet.Application.Html三种. 应用服务器,就是封装好的组件.协议

J2EE:Servlet

1.JSP 9种隐式对象,以及他们的用途 JSP一共有9个隐式对象,分别是request,response,out分别代表请求,响应和输出 pageContext, session,applicationpageContext 代表当前页面作用域session 代表会话作用域application 代表全局作用域 configconfig可以获取一些在web.xml中初始化的参数,详见config对象page表示当前对象,详见page对象exception 表示异常对象,详见异常对象 2.ser

J2EE规范标准

J2EE是一个很大的平台体系,提供了很多服务.程序接口.协议等.这么庞大的体系必须要由一系列的标准进行规范,不然将会一片混乱.通过这些规范好的接口来开发程序将会使程序更加强壮.更加有生命力.总的来说,规范是一种抽象思维的体现,它的好处就是达到了约束所有厂商的效果,抽象出一个统一的规范接口,使我们在编程时使用统一的接口,兼容性得到保证,与底层具体实现达到高度隔离解耦.我们知道,J2EE有十三个规范,每个标准提供不同的服务,应用的场合也不同,这十三个规范并非全部都是标准的,只有标准的规范才会在JDK

J2EE规范总结

概述 J2ee是我们步入java学习的一个開始.它将开启这趟奇幻之旅,Java是一种简单的,跨平台的,面向对象的,分布式的.解释的.健壮的安全的.结构的中立的,可移植的.性能非常优异的多线程的,动态的语言.不不过免费开源,并且兼具了跨平台的长处. 什么是J2EE? J2EE(Java 2 Enterprise Edition)是建立在Java 2平台上的企业级应用的解决方式.J2EE技术的基础便是Java 2平台.不但有J2SE平台的全部功能,同一时候还提供了对EJB.Servlet.JSP.X

J2EE之Servlet初见

Servlet是J2EE12种规范之中的一个.它也是用java语言编写的程序,其本身也是一种JAVA类,在须要的时候被实例化,不须要的时候自己主动销毁,Servlet的执行是在Servlet容器内执行,容器负责调度Servlet,同一时候也控制着它的生命周期.Servlet主要目的是被用来处理来自client上所发出的请求.然后将处理的结果用HTML页面的形式返回,形成动态网页展示给client. 生命周期 载入与实例化: 由Servlet容器负责.当容器检測到须要Servlet来响应第一个请求