Servlet入门PPT课件_第1页
Servlet入门PPT课件_第2页
Servlet入门PPT课件_第3页
Servlet入门PPT课件_第4页
Servlet入门PPT课件_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章,Servlet入门,掌握如何编写Servlet类 了解Servlet的生命周期 使用Servlet进行数据库操作,本章目标,2,什么是Servlet,请求,响应,Servlet 运行于服务器端,Servlet 是一个 Java程序,是在服务器上运行以处理客户端请求并做出响应的程序,Servlet的核心是javax.servlet.Servlet接口,所有的Servlet 必须实现这个接口 自定义的Servlet大都是从GenericServlet或HttpServlet类进行扩展来实现,3,Servlet API包含于两个包中,分别是javax.servlet和javax.servle

2、t.http,Servlet API,4,继承GenericServlet GenericServlet 是个抽象类,其中的service()方法定义为抽象方法,扩展Servlet的方式,public abstract void service(ServletRequest request, ServletResponse response) throws ServletException, IOException,继承HttpServlet HttpServlet中重写GenericServlet的抽象的service方法,public void service(ServletRequest

3、 request, ServletResponse response) throws ServletException, IOException,HttpServlet 中重载GenericServlet的抽象service方法,protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException,5,HttpServlet可以用来处理Http请求 HTTP的请求方式包括DELETE、GET、OPTIONS、POST、PUT、TR

4、ACE HttpServlet中与这些请求方式相对应的方法 doHead():用来处理HTTP客户端的HEAD请求 doGet(): 如果HTTP客户端发给服务器的请求是GET方式,这个方法将被service方法调用 doPost(): 如果HTTP客户端发给服务器的请求是POST方式,这个方法会被service方法调用 doDelete():用来处理HTTP客户端的DELETE请求 doOptions():用来处理HTTP的OPTIONS请求 此外,还有doPut() 方法和doTrace(,HttpServlet中的方法,6,ServletRequest接口中封装了客户请求的数据信息,如客

5、户的请求方式、参数名和参数值、客户端正在使用的协议以及发出客户请求的远程主机信息等 ServletRequest接口还为Servlet提供了直接以二进制方式读取客户请求数据流的ServletInputStream 接口中定义了下面的方法,ServletRequest接口,7,ServletResponse接口为 Servlet提供了返回响应结果的方法。它允许Servlet设置返回数据的长度和MIME类型,并且提供输出流ServletOutputSteam ServletResponse接口提供了以下方法,ServletResponse接口,8,Servlet的生命周期(2-1,Servlet的

6、生命周期由Servlet容器(如:Tomcat)控制 容器如何处理请求,9,Servlet的生命周期(2-2,生命周期的各个阶段,实例化,Servlet 容器创建 Servlet 的实例,初始化,该容器调用 init() 方法,服 务,如果请求 Servlet,则容器调用 service() 方法,销毁实例之前调用 destroy() 方法,销 毁,10,HTTP协议-超文本传输协议,HTTP协议 无状态协议 不用记录谁发出的请求,只需给出响应 适用于传输文件 用于通过 Internet 发送请求消息和响应消息 使用端口接收和发送消息,默认为80端口,我想同其他“人”交流,怎么办,我只会我们计

7、算机自己的语言,对了,我可以使用HTTP协议和“别人”交谈了,双方进行交谈,提问,回答,11,一个典型的HTTP请求由3部分组成,分别是请求方法URI协议/版本、请求头、请求正文,HTTP请求,1.URI协议/版本 GET/index.jsp HTTP1.1 /2.请求头 Accept:image/gif,image/jpeg,*.* Accept-Language:zh-cn Connection:Keep-Alive Host:localhost User-Agent:Mozilla/4.0(compatible;MSIE 6.01;Windows NT 5.0) Accept-Encod

8、ing:gzip.default /3.请求正文 name=bush / 声明ServletConfig引用 private String name ; public void destroy() super.destroy(); System.out.println(destroy()方法被调用.); public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(text/html;

9、charset=GBK); PrintWriter out = response.getWriter(); System.out.println(客户端GET请求一次.); out.println(); out.println(第一个Servlet); out.println( ); out.print(你好!+name+); out.println(欢迎进入Java Web世界!); out.println(); out.flush(); out.close();,ShowCylceServlet代码,doGet()方法,销毁方法,重写无参的init方法 public void init()

10、 throws ServletException System.out.println(init()方法被调用.); config = this.getServletConfig();/获取 ServletConfig对象 name = config.getInitParameter(name);/获取初始化参数 / 也可以重写有参数的 init方法 /* public void init(ServletConfig config) throws ServletException super.init(config); /必须调用父类的init方法 System.out.println(ini

11、t(ServletConfig config)方法被调用.); name = config.getInitParameter(name);/获取初始化参数 *,无参数初始化方法,有参数初始化方法,17,Servlet的配置,在web.xml文件中配置Servlet 如何访问Servlet,This is the description of my J2EE component This is the display name of my J2EE component ShowCycleServlet control.ShowCycleServlet name bush ShowCycleSer

12、vlet /showCycleServlet,两个名称必须相同,为了方便使用Servlet,取个别名,完整的包名+类名,访问Servlet的URL,初始化参数,18,访问Servlet,在IE中访问Servlet,控制台输出,不停的按下【刷新】按钮,控制台不停的输出“客户端GET请求一次”,但“init()方法被调用”只输出一次,和web.xml中的url-pattern对应,停止Tomcat服务器,Servlet被销毁,19,功能:在一个登录的JSP页面有两个文本框,用户可以输入登录名和密码,用户可以提交该页面的数据到Servlet,Servlet验证登录名和密码。如果用户名和密码匹配,则提

13、示登录成功,否则提示失败,Servlet应用实例,20,修改index.jsp和创建Servlet,代码实现,登录页面 欢迎登录 用户名: 密 码:,public class LoginServlet extends HttpServlet public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException response.setContentType(text/html;charset=GBK); PrintWriter out = response.getWriter(); String name = request.getParameter(name); String pwd = request.getParameter(pwd); out.println(); out.println(验证结果页); out.println(); if (name.equals(bush),21,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论