`
zengguo1988
  • 浏览: 274681 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Servlet学习系列资料(一)

阅读更多

1.      什么是Servlet技术

   Servlet技术是Sun公司提供的一种实现动态网页的解决方案,它是基于JAVA编程语言的WEB服务器端编程技术。一个Servlet程序就是一个实现了特殊JAVA接口的类,它由支持Servlet(具有Servlet引擎)WEB服务器调用和启动运行。一个Servlet程序负责处理它所对应的一个或一组URL访问地址的请求,并接受客户端发出的访问请求信息和产生响应信息

       Servlet,可以实现动态的页面,可以针对不同的请求作出不同的响应,可以实现页面的流转,Servlet可以充当MVC模式中的Control模块,它可以控制信息的流向。

 

2.      Servlet作用:

获取客户端通过HTMLFORM表单传递的数据和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引擎调用ServletService方法时传递进来这二个参数,通过这二个对象我们就能实现与客户端的通信

 

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)        调用Servletservice()方法: ser.service(request,response);

 

 

分享到:
评论

相关推荐

    Java相关课程系列笔记之九Servlet学习笔记

    Java相关课程系列笔记之九Servlet学习笔记 Java相关课程系列笔记之十JSP学习笔记 Java相关课程系列笔记之十一Ajax学习笔记 Java相关课程系列笔记之十二jQuery学习笔记 Java相关课程系列笔记之十三Struts2学习笔记 ...

    Jsp_Servlet学习课堂笔记

    关于Jsp以及Servlet的学习笔记,包含有JavaBean 自定义标签库等等一系列重点的概念以及代码 绝对超值

    Servlet&JSP学习系列(1) - 简单的一个WebServer实现

    NULL 博文链接:https://dlevin.iteye.com/blog/655727

    Servlet学习笔记

    Java相关课程系列笔记之九Servlet学习笔记

    servlet JSP 和 spring MVC学习指南

    servlet , jsp和spring MVC学习指南电子书,spring MVC学习指南系列书籍。

    Java相关课程系列笔记

    Java相关课程系列笔记之九Servlet学习笔记(建议用WPS打开) Java相关课程系列笔记之六HTML学习笔记(建议用WPS打开) Java相关课程系列笔记之七CSS学习笔记(建议用WPS打开) Java相关课程系列笔记之三PLSQL学习...

    博客系统网站(JSP+SERVLET+MYSQL).rar

    这个名为"博客系统网站(JSP+SERVLET+MYSQL).rar"的文件,是一个为...通过解压并部署这个资料包,用户可以快速搭建起一个基本的博客系统网站,进而学习如何通过JSP和Servlet技术与MySQL数据库进行交互,理解Web应用

    基于Servlet3.0+IBatis+BootStrip技术构建简单会议管理系统

    本系列讲座主要讲述如何利用Servlet3.0+mybatis+bootstrap+mysql构建企业级应用解决方案,主要分为三部分完成 第一部分:技能储备阶段,学习项目所需要的技能知识 第二部分:设计部分,通过需求分析,设计物理模型,...

    <<挑战Servlet + JSP Web应用与开发>>一书的核心源程序

    \sample 提供了本书各章使用JSP、Servlet、JavaBean、Struts、Hibernate、Ajax、MySQL等一系列相关技术所开发的案例的源代码, \video 提供了开发环境搭建、系统配置、Sql语句运行、大型案例运行的教学视频; ...

    jsp+servlet+dao的博客系统

    jsp+servlet+dao设计模式 未完成功能:分页 | kindeditor的图片上传功能 参照视频: v512工作室_刘伟_Java高端培训系列视频_2009年博客系统项目 传智播客_李勇_JDBC_DAO设计 希望对学习这两个视频的同学有所...

    Head First Servlet JSP (清晰中文版)

    此书延续着 “Head First” 系列一贯的风格,书中经常夹杂一些可爱的漫画,整个阅读过程变得生动有趣。同时,该书逻辑清晰、循循善诱,由浅入深,非常适合Java菜鸟入门学习 Java Web 开发。更难得可贵的是此书针对...

    Java学习指南第四版下册

    《Java学习指南(第4版)(上、下册)》加入了从Java 6和Java 7发布以后的变化,包括新的语言功能、并发工具(Fork-Join框架)、新的NIO Files API、Java Servlet(3.0)等新主题,作者通过精心挑选的、富有实用性和趣味性...

    Java学习指南(6) 网站入门篇 JavaEE / Servlet

    一、课程简介『Java学习指南系列』的第6篇教程,介绍JavaEE中的网站开发相关的技术 ( Servlet / JSP )。相关术语: Servlet | JSP | AJAX | RESTful | 文件上传 | HTTP GET | HTTP POST | URL Encode | 框架 | 抓...

    Servlet与JSP核心编程(第二版)第二卷 中文 书签.pdf part1

    经过阅读后补上了书签目录,方便大家使用。初学者可以配合第一卷进行java web的基础学习。另外该系列书籍的随书源码及我在学习过程中用到的tomcat及自己编写的代码放在第一卷中。

    基于web的图书管理系统(图书管理系统)毕业设计课程设计。:Java+jsp+Servlet+Eclipse+MySql

    为了帮助大家更好地完成毕业设计,我们特地整理了一系列Java毕业设计项目参考资源,包括源代码、MD文档、笔记等等,希望能对您的学习与研究提供有力支持。 项目源代码:涵盖了多个Java毕业设计项目的完整代码,包括...

    一个基于 Java、JSP、Servlet、MySQL的水果商城。.zip

    同时,MySQL附带了一系列管理工具,如MySQL Server、MySQL Workbench、MySQL Shell等,便于用户进行数据库配置、监控、备份、恢复、迁移等工作。 社区与生态系统 MySQL拥有庞大的开发者社区和丰富的第三方插件、库...

    lerx2-utf8-v2-beta2-20121214.rar

    这个资料包可能涵盖了一系列与 JSP 相关的教程、示例代码、项目模板以及其他有助于学习和实践JSP编程的资源。JSP 是一种动态网页技术标准,它允许在 HTML 页面中嵌入 Java 代码和脚本,从而生成动态内容。JSP 主要...

    javaweb 期末大作业 在线购书系统 jsp+Servlet+mysql5.6.zip

    为此,我们特地为您准备了一系列JavaWeb期末大作业项目实战代码资源。这些项目均紧密结合实际应用,旨在帮助您加深对JavaWeb的理解,提升实战能力。 二、适用人群 1、适用于用于处理相关计算机专业科目的“Java或...

Global site tag (gtag.js) - Google Analytics