zoukankan      html  css  js  c++  java
  • 初识servlet

    servlet

    复习

    1、web应用程序

    Web应用程序只有在服务端存在的情况下才能工作。

    服务端:装有web容器的一台电脑这是最低配置,这个web容器可以是tomcat

    客户端:浏览器。

    我们利用java所写出来的程序成为:java web应用程序。

    2、日后我们会深入学习:javaservletjsphtmlcssjsdomajax

    3、Web服务器tomcat服务器她也被称作:web容器和servlet容器。

    a) Web服务器的目录结构:

    bin,lib,webapps,word,temp,config,webapps所部属的web应用程序。

    4、web工程(web应用程序)

    Web工程的目录结构:

    虚拟目录:文件夹,可以有:htmlcssimage

      Jsp

      WEB-INF 包含:1classes

      2lib

      3、标签

      4web.xml

    黑体字表示必须包含的路径。因为这些文件要被tomcat解析,所以不能缺省、写错。

    5、通过集成开发环境创建 web工程。

    利用eclipse创建web工程需要指定服务器。

    6、web应用程序中实现动态网页技术的是:servlet

    servlet是一个用java编写的类,它在服务器端运行,用以处理客户端发来的请求。Servlet继承自HttpServlet,这个类基于HTTP协议,因此可以通过,浏览器发送请求和接收反馈。也就是说还有其他的Servlet类型。基于其他的协议比如说文件协议、等等。

    7、servlet中的两个对象:

    request和 response

    Request这个对象在tomcat接收到请求的时候创建,并且把传递的数据都以键值对的形式封装在request中。

    Response同样也是一个对象,创建的时机也是tomcat接收到请求的时候。但是此时是没有数据的,当servlet做出响应的时候,需要往客户端发送数据的时候才给response对象中设置数据。

    这两个对象都是服务器的,由服务器接收到请求创建,并且传递给servlet程序。所以我们又称服务器为servlet容器或者web容器。【每有一个请求就在服务器端创建这样一组对象?交给servlet管理?】

    8、servletweb应用程序中要做的事情是:接受请求信息,调用业务层处理数据,根据处理结果作出响应。

    9、对于我们创建的servlet类来说,必须在web.xml中配置一个servlet配置一个访问的映射路径。这个配置用以告诉服务器,说明存在对应的servlet,并且需要按照给定的路径进行访问。故:web.xml是应用程序和tomcat之间的桥梁。

    10、如果在页面中写了web.xml中出现过的映射路径,tomcat服务器就会根据这个路径找到对应的servlet类,并根据这个类创建对应的对象,因为这个类是继承自HttpServlet的,在执行过程中,默认执行service()方法。由service()方法决定调用doGet()或者doPost()的方法,根据我们在form表单中method中填写的get或者post方法。因为我们重写了这两个方法,所以会调用我们重写以后的方法。

    11、故:doGet()doPost()web应用程序的入口。

    12、Servlet的生命周期:

    1)什么时候创建servlet这个对象?

    默认是进行第一次请求的时候,也就是在浏览器中第一次填写这个路径或者按下了开启对应action的表单的提交按钮。

    web.xml中设置:<load-on-startup>0</load-on-startip>

    Servlet对象就会在web容器启动的时候自动创建,

    或者重新加载项目的时候创建。【什么情况算是重新加载项目?】

    (2)执行这个对象应该完成相应任务(接收、处理、响应、doGet() doPost()

    (3)什么时候销毁这个对象,(垃圾回收机制)(服务重新加载这个项目的时候,或者服务停止的时候)

    修改web.xml文件,这个文件所对应的这个工程就会被服务器重新加载。

    13、对于servlet对象的创建,我们一般采用默认的方式。【?】

    14、练习:

    请求一个servlet,在请求过程中携带数据。

    Servlet中怎么接收数据,接收完数据以后如何处理,响应?

    1、什么是servlet

    Servlet是一个用java编写的程序运行在服务器端用以处理客户端发送的请求。其响应过程是:1、接受客户端(浏览器)的请求信息

    2、调用业务处理

    3、翔客户端(浏览器)发送HTTP响应。

    2、servlet的声明周期:

    实例化:Servlet容器创建Servlet的实例

    初始化:该容器调用init()方法

    服务:如果请求Servlet,则容器调用service()方法

    销毁:销毁实例之前调用destory()方法

    不可用:销毁实例并标记为垃圾

    3、所谓servlet的生命周期:

    是指servlet的实例被创建直到消失之间的时间及各个阶段。

    当服务器接收到客户端的请求时,Servlet容器负责创建servlet实例,以多线程的方式进行响应。

    servlet的实例的生命周期的各个阶段中可以调用3个方法:init(),service(),destroy()

    4、 (1servlet接口中定义了init()service()destroy()方法,要求每一个servlet对象都必

    须实现这些方法。

    2)抽象类GenericServlet为所有的Servlet对象提供了一个通用基类。(不限于HTTP协议)

    3)针对HTTP协议的特性,抽象类HTTP协议的特性,抽象类HttpServletHTTP协议下的web应用提供了一个servlet的基类.

    对应uml图,并不知道三角符号是实心还是空心。

    5HttpServlet类是一个抽象类,他实现了service()方法,我们写servlet继承HttpServlet用以写出可以响应Http请求的servlet。一般情况下要重写doGet(),doPost()方法,用以真实响应客户端发来的请求,通常不重写service()方法。因为HttpServlet已经实现好了service方法,根据客户端的请求方式来调用doGet()或者doPost()方法。

    6javax.servlet包的接口为:

    ServletConfig接口:在初始化过程中由Servlet容器使用

    ServletContext接口:定义在Servlet中用于获取来自其容器的信息的方法。

    ServletRequest接口:向服务器发送的请求信息

    ServletResponse接口:客户端请求的响应

    7javax.servlet包的类为:

    ServletInputStream类:用于从客户端读取二进制数据

    ServletOutputStream类:用于将二进制数据发送到客户端

    8Javax.servlet.http包的接口为:

    HttpServletRequest接口: 提供HTTP请求信息

    HttpServletResponse接口:提供HTTP响应

    9Request对象

    1)封装了客户端对服务器的请求信息

    2)实现了javax.servlet.http.HttpServletRequest接口

    3)使用HTTP协议处理客户端的请求

    10request对象常用方法:

    void setCharacterEncoding(String charsetname)//设置客户端发来的数据的编码格式

    String getParameter(String name)

    根据页面表单组件名称获取请求页面提交数据

    String[] getParameterValues(String name)

    获取 页面请求中一个表单组件对应多个值时的用户的请求数据

    RequestDispatcher getRequestDispatcher(String path) 请求转发的路径

    11response对象

    1)由服务器端生成的响应,

    2)通过HTTP协议将响应发送给客户端

    12response对象常用方法:

    void setContentType(String name) 设置响应生成的内容的类型。

    例子:response.setContentType("text/html");

    Void setContentType(String name)设置响应的字符编码格式。

    例子:response.setCharacterEncoding("utf-8");

    Void sendRedirect(String name) 发送一个响应给浏览器,指示其应请求另一个URL(重定向)

     

  • 相关阅读:
    Windows下做7层软负载方案分析
    蛙蛙推荐:C语言入门之二——编写第一个有意义的小程序
    蛙蛙推荐:C语言入门之一——Linux下的C开发环境搭建小节
    蛙蛙推荐:动手做个网页游戏五子棋
    学习园地:微博项目
    com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field 异常 规格严格
    PostgreSQL Update 根据B表更新A表 规格严格
    SQL 删除重复数据[转] 规格严格
    ntoskrnl.exe占用cpu高 规格严格
    PostgreSQL中RECURSIVE递归查询使用总结[转] 规格严格
  • 原文地址:https://www.cnblogs.com/letben/p/5185229.html
Copyright © 2011-2022 走看看