动态网站开发讲课笔记04:Servlet基础
文章目录
零、本节学习目标 一、Servlet基础 (一)Servlet概述 1、Servlet是什么 2、Servlet容器 3、Servlet应用程序的体系结构
(二)Servlet的特点 1、功能强大 2、可移植 3、性能高效 4、安全性高 5、可扩展
(三)Servlet接口 1、Servlet接口 2、Servlet接口的方法 3、Servlet接口中生命周期的方法 4、Servlet接口的实现类 5、HttpServlet类的常用方法及功能
二、Servlet开发入门
三、ServletConfig和ServletContext 四、HttpServletResponse对象 五、HttpServletResponse应用 六、HttpServletRequest对象-
零、本节学习目标
掌握Servlet的基本概念 掌握Servlet的特点及其接口 熟悉使用IDEA工具开发Servlet 掌握Servlet的配置以及Servlet的生命周期 掌握ServletConfig和ServletContext接口的使用 掌握HttpServletRequest对象的使用 掌握HttpServletResponse对象的使用
随着Web应用业务需求的增多,动态Web资源的开发变得越来越重要。目前,很多公司都提供了开发动态Web资源的相关技术,其中比较常见的有ASP、PHP、JSP和Servlet等。基于Java的动态Web资源开发,SUN公司提供了Servlet和JSP两种技术。本节将针对Servlet技术的相关知识进行详细讲解。
一、Servlet基础
(一)Servlet概述
1、Servlet是什么
Servlet是运行在Web服务器端的Java应用程序,它使用Java语言编写。与Java程序的区别是,Servlet 对象主要封装了对HTTP请求的处理 ,并且它的运行需要Servlet容器的支持。在Java Web应用方面,Servlet 的应用占有十分重要的地位,它在Web请求的处理功能方面也非常强大。
2、Servlet容器
Servlet由Servlet容器提供,Servlet容器是指提供了Servlet 功能的服务器(本讲稿指Tomcat)。Servlet容器将Servlet动态地加载到服务器上。与HTTP 协议相关的Servlet使用HTTP请求和HTTP响应与客户端进行交互。因此,Servlet容器支持所有HTTP协议的请求和响应 。
3、Servlet应用程序的体系结构
Servlet的请求首先会被HTTP服务器(如Apache)接收,HTTP服务器只负责静态HTML页面的解析,对于Servlet的请求转交给Servlet容器,Servlet容器会根据web.xml文件中的映射关系,调用相应的Servlet,Servlet将处理的结果返回给Servlet容器,并通过HTTP服务器将响应传输给客户端。
(二)Servlet的特点
Servlet使用Java语言编写,它不仅具有Java 语言的优点,而且还对Web的相关应用进行了封装,同时Servlet容器还提供了对应用的相关扩展,无论是在功能、性能、安全等方面都十分优秀。
1、功能强大
Servlet采用Java语言编写,它可以调用Java API中的对象及方法,此外,Servlet对象对Web应用进行了封装,提供了Servlet对Web应用的编程接口,还可以对HTTP请求进行相应的处理,如处理提交数据、会话跟踪、读取和设置HTTP头信息等。由于Servlet既拥有Java 提供的API,而且还可以调用Servlet封装的Servlet API编程接口,所以,它在业务功能方面十分强大。
2、可移植
Java语言是跨越平台的,所谓跨越平台是指程序的运行不依赖于操作系统平台,它可以运行到多个系统平台中,如目前常用的操作系统Windows、Linux和UNIX等。
3、性能高效
Servlet对象在Servlet容器启动时被初始化,当Servlet对象第一次被请求时,Servlet 容器将Servlet对象实例化,此时Servlet对象驻存于内存中。如果存在多个请求,Servlet 不会再被实例化,仍然由第一次被实例化的Servlet对象处理其他请求。每一个请求是一个线程,而不是一个进程。
4、安全性高
Servlet使用了Java的安全框架,同时Servlet容器还可以为Servlet提供额外的安全功能,它的安全性是非常高的。
5、可扩展
Java语言是面向对象的编程语言, Servlet由Java语言编写,所以它具有面向对象的优点。在业务逻辑处理中,可以通过封装、继承等特性扩展实际的业务需要。
(三)Servlet接口
1、Servlet接口
针对Servlet技术的开发,SUN公司提供了一系列接口和类,其中最重要的是javax.servlet.Servlet
接口。Servlet就是一种实现了Servlet接口的类,它由Web容器负责创建并调用,用于接收和响应用户的请求。
2、Servlet接口的方法
方法声明 功能描述 void init(ServletConfig config) Servlet实例化后,Servlet容器调用该方法完成初始化工作 ServletConfig getServletConfig() 用于获取Servlet对象的配置信息,返回Servlet的ServletConfig对象 String getServletInfo() 返回一个字符串,其中包含关于Servlet的信息,例如,作者、版本和版权等信息 void service(ServletRequest request,ServletResponse response) 负责响应用户的请求,当容器接收到客户端访问Servlet对象的请求时,就会调用此方法。容器会构造一个表示客户端请求信息的ServletRequest对象和一个用于响应客户端的ServletResponse对象作为参数传递给service()方法。在service()方法中,可以通过ServletRequest对象得到客户端的相关信息和请求信息,在对请求进行处理后,调用ServletResponse对象的方法设置响应信息 void destroy() 负责释放Servlet对象占用的资源。当服务器关闭或者Servlet对象被移除时,Servlet对象会被销毁,容器会调用此方法
3、Servlet接口中生命周期的方法
在Servlet接口中的5个方法中,其中init()
、service()
和destroy()
这三个方法可以表现Servlet的生命周期,它们会在某个特定的时刻被调用。需要注意的是,Servlet容器指的就是Web服务器。
4、Servlet接口的实现类
针对Servlet接口,SUN公司提供了两个默认的接口实现类:GenericServlet
和HttpServlet
。GenericServlet
是一个抽象类,该类为Servlet接口提供了部分实现,它并没有实现HTTP请求处理。HttpServlet
是GenericServlet
的子类,它继承了GenericServlet
的所有方法,并且为HTTP请求中的POST
、GET
等类型提供了具体的操作方法。
5、HttpServlet类的常用方法及功能
方法声明 功能描述 protected void doGet(HttpServletRequest req, HttpServletResponse resp) 用于处理GET类型的Http请求的方法 protected void doPost(HttpServletRequest req, HttpServletResponse resp) 用于处理POST类型的Http请求的方法 protected void doPut(HttpServletRequest req, HttpServletResponse resp) 用于处理PUT类型的Http请求的方法
二、Servlet开发入门
(一)实现第一个Servlet程序
目标:掌握如何使用IDEA工具开发Servlet程序
1、使用IDEA完成Servlet的开发
在实际开发中,通常都会使用IDEA(或Eclipse等)工具完成Servlet的开发,本书中是使用IDEA完成Servlet的开发,因为IDEA不仅会自动编译Servlet,还会自动创建web.xml
文件信息,完成Servlet虚拟路径的映射。
(1)新建Web项目
选择IDEA主页的“Create New Project”选项,进入新建项目的界面。
三、ServletConfig和ServletContext
四、HttpServletResponse对象
五、HttpServletResponse应用
六、HttpServletRequest对象-
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/382859.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!