1. 什么是Servlet技术
Servlet技术是Sun公司提供的一种实现动态网页的解决方案,它是基于JAVA编程语言的WEB服务器端编程技术。一个Servlet程序就是一个实现了特殊JAVA接口的类,它由支持Servlet(具有Servlet引擎)的WEB服务器调用和启动运行。一个Servlet程序负责处理它所对应的一个或一组URL访问地址的请求,并接受客户端发出的访问请求信息和产生响应信息
Servlet,可以实现动态的页面,可以针对不同的请求作出不同的响应,可以实现页面的流转,Servlet可以充当MVC模式中的Control模块,它可以控制信息的流向。
2. Servlet作用:
获取客户端通过HTML的FORM表单传递的数据和URL后面的参数信息
创建对客户端的响应消息内容
访问服务器端的文件系统
连接数据库并开发基于数据库的应用
3. Servlet基础知识
一个Servlet就是实现类javax.servlet.Servlet接口的JAVA类,它当中定义了Servlet的生命周期,定义了Servlet引擎与Servlet程序之间通信的协议约定。javax.servlet.GenericServlet实现了Servlet接口,实现了Servlet接口的基本特征和功能,能够接受客户端发出的请求和产生响应信息。而javax.servlet.http.HttpServlet又继承了javax.servlet.GenericServlet类,所以我们编写的Servlet继承HttpServlet即可。
想要实现与客户端的交流,必须具备从客户端获取信息和把信息响应到客户端的能力,所以Servlet提供了二个关键的对象来封装这些信息。用于封装HTTP请求信息的HttpServletRequest对象,用于封装HTTP响应信息的HttpServletResponse对象。在Servlet引擎调用Servlet的Service方法时传递进来这二个参数,通过这二个对象我们就能实现与客户端的通信
4. Servlet生命周期
因为Servlet是由容器进行管理的,而每一个对象都有它的生命周期,只不过Servlet在这一点上体现的更加明显,它的生命周期是由容器控制的。Servlet的生命周期是指Servlet实例在创建之后到响应客户请求直至销毁的全过程
a.实例化Servlet对象:Servlet容器通过反射创建Servlet类的实例对象,只有当首次访问时才会创建Servlet对象,以后都会使用这个对象,这样会节省大量的内存,同时也带来的线程的安全问题
b.初始化:Servlet容器调用init()方法,通常会申请资源,通过ServletConfig接口传递信息给Servlet。在整个生命周期内只会被调用一次
c.服务: Servlet容器调用Service()方法,对客户端的请求作出响应,该方法会被调用多次。如果我们重写了Service()方法容器就会调用该方法,不会调用doGet()或者doPost()方法,如果没有重写,容器就会判断是get请求还是post请求,然后再调用相应的方法, 这些方法是运行的在多线程状态下的。
d.销毁: Servlet容器调用destory()方法,释放Servlet实例,回收所占用的资源。
5. Servlet的调用过程
a) 解析web.xml文件中配置的Servlet的名称
b) 装载类(WEB-INF/classes|WEB-INF/lib/*.jar),设计到了JAVA类装载器的问题
c) 实例化Servlet对象:Servlet ser=(Servlet)(Class.forName("servlet的类名")).newInstance();
d) 调用Servlet的service()方法: ser.service(request,response);
分享到:
相关推荐
Java相关课程系列笔记之九Servlet学习笔记 Java相关课程系列笔记之十JSP学习笔记 Java相关课程系列笔记之十一Ajax学习笔记 Java相关课程系列笔记之十二jQuery学习笔记 Java相关课程系列笔记之十三Struts2学习笔记 ...
3. **Servlet API**:Servlet API提供了一系列接口和类,如HttpServletRequest和HttpServletResponse,用于处理HTTP请求和响应。 4. **Servlet通信**:Servlet通过HttpServletRequest对象获取请求参数,通过...
**JSP(JavaServer Pages)和Servlet是Java Web开发中的两个...**通过这套“JSP Servlet学习资料--全套PPT”,你将能够深入理解这两个技术的原理和应用,掌握它们的实战技能,为你的Java Web开发之路打下坚实基础。**
综上所述,"servlet资料文件"很可能包含了Servlet的原理、API用法、实战案例等内容,对于学习和掌握Java Web开发非常有帮助。JSP技术大全(PDG)这本书可能深入讲解了JSP如何与Servlet协同工作,以及JSP的相关特性,是...
3. **EL(Expression Language)与JSTL(JavaServer Pages Standard Tag Library):** EL简化了从JSP页面访问JavaBean属性的操作,而JSTL提供了一系列标准标签,使得JSP更加简洁,避免过多的脚本代码。 **Servlet...
Servlet API提供了一系列接口和类,使得开发者可以方便地处理HTTP请求和响应。其中,`HttpServletRequest`和`HttpServletResponse`接口分别用于获取请求信息和构造响应内容。例如,通过`HttpServletRequest`可以获取...
在本篇【Servlet&JSP学习系列(1) - 简单的一个WebServer实现】中,我们将探讨如何从零开始构建一个简单的Web服务器,这将帮助我们理解Servlet和JSP工作原理的基础。源码和工具是这个话题的核心,通过实践操作,我们...
**标题**:“Servlet学习笔记3”表明这是系列学习笔记的一部分,专注于Servlet技术的深入探讨。 **知识点**: 1. **Servlet概述**:Servlet是一种运行在服务器端的小程序,用于处理客户端发送的HTTP请求,并生成...
【描述】提到的"北大青鸟jsp&servlet学习资料全集(源代码)"可能包括一系列的教学材料、实例代码和练习项目,旨在帮助学习者深入理解和掌握JSP和Servlet的使用。这个资源包可能是北大青鸟教育机构为学员准备的课程...
在这个"Servlet & JSP学习笔记NetBeans源代码"压缩包中,你将找到一系列与Servlet和JSP相关的示例代码,这些代码是基于NetBeans IDE编写的,并且是在Tomcat服务器上运行的。 Tomcat是一个开源的轻量级Web服务器和...
在这个"Servlet学习"资料集合中,我们可以深入探讨以下几个关键知识点: 1. **Servlet生命周期**:Servlet在Web服务器中的生命周期包括加载、实例化、初始化、服务、销毁五个阶段。每个阶段都有特定的任务,例如...
《Servlet和JSP学习指南》源码是一份深入学习Java Web开发的重要资源,它涵盖了Servlet和JSP技术的核心概念、实现方法以及实际应用。Servlet是Java服务器端编程的基础,而JSP则是用于创建动态网页的Java技术。这两个...
本文档将围绕“Servlet学习笔记2”这一主题进行深入探讨,旨在为读者提供一个清晰的学习路径和实践指导。 #### 一、Servlet概述与生命周期 - **Servlet简介**:Servlet是Java Web开发的基础组件之一,它是一个Java...
本文将详细介绍如何使用Oracle的JDeveloper工具来开发一个简单的Servlet应用程序,并通过一系列步骤展示整个过程。Servlet技术是Java Web开发中的核心组成部分之一,它允许开发者创建动态网页内容。通过本教程的学习...
4. **JSP标签库**:JSTL(JavaServer Pages Standard Tag Library)提供了一系列标准标签,简化了JSP页面的编写,例如用于条件判断、循环、国际化等。 5. **MVC模式**:Servlet通常作为控制器(Controller),而JSP...
"servlet-api_servlet_"这个标题可能指的是一个包含Servlet API的jar包,可能是用于更新或学习Servlet编程的资源。 在描述中提到的"全新的servlet相关jar包,值得学习与研究",暗示了这是一个新的版本或者更新,...
此外,光盘中的"workspace"可能包含了开发环境的配置和项目结构,"samples"可能是各种示例程序,"videos"可能包含教学视频,而"labs"可能是一系列练习任务,帮助巩固所学知识。 **总结** 通过深入研究"jsp&servlet;...
这份"Servlet和Jsp学习指南源代码.rar"压缩包很可能包含了一系列示例代码,帮助初学者理解这两种技术的工作原理和实际应用。 Servlet是Java语言编写的服务端组件,主要负责处理HTTP请求,并生成响应。它提供了对...
Servlet接口定义了一系列方法,如`service()`、`init()`、`destroy()`等,开发者可以通过实现这些方法来控制HTTP请求的生命周期。例如,`service()`方法会根据HTTP请求类型(GET、POST等)调用相应的`doGet()`或`...
Java Servlet API包含一系列接口和类,如`HttpServlet`,`GenericServlet`,`ServletConfig`和`ServletContext`等。`HttpServlet`是Servlet的子接口,提供了处理HTTP请求的方法。 4. **注册Servlet**: Servlet...