• JSP-11-Servlet


    1 初识Servlet

    Ø  Servlet做了什么

    本身不做业务

    只接收请求并决定调用哪个JavaBean去处理请求

    确定用哪个页面来显示处理返回的数据

    Ø  Servlet 是什么

    Servlet是一个Java程序,是在服务器端运行以处理客户端请求并做出响应的程序。

    Server+Applet, 是一种服务器端的Java应用程序

    只有当一个服务器端的程序使用了 servlet API的时候,这个服务端的程序才能称之为Servlet.

    Ø  ServletAPI介绍

    API: 应用程序接口

    javax.servlet.Servlet 

    所有Java Servlet的基础接口类。规定了必须由Servlet具体类实现的方法集。

    javax.servlet.GenericServlet

    是 Servlet的通用版本,是一种与协议无关的Servlet。

    Javax.servlet.http.HttpServlet

    在GenericServlet基础上扩展的基于Http协议的Servlet.在程序中,常常是继承此类。需要注意的是,Httpservlet的子类至少重写以下方法中的一个 doGet()和doPost()。

    Ø  Servlet的生命周期

    Servlet容器负责加载和实例化Servlet。 Servlet容器有时候也叫做Servlet引擎,是Web服务器或应用服务器的一部分,用于在发送的请求和响应之间提供网络服务。在这里我们可以把Servlet容器理解为 Tomcat。

      加载和实例化

    当Servlet容器启动或者容器检测到客户端请求时,加载和实例化。

    Servlet容器会查找内存中是否存在Servlet实例,如果不存在,就创建,如果存在,就直接从内存中取出。

      初始化     init()方法

    实例化后,容器调用 Servlet的init(), 初始化对象。

      提供服务,请求处理   service()

    初始化后,Servlet就处于能响应请求的就绪状态。此时得到客户端请求并做出处理。(多线程响应)。

      销毁   destroy()方法

    当程序中的Servlet对象不再使用的时候或者Web服务停止的运行的时候

    Ø  Servlet的主要方法

    Init()

    Servlet的初始化方法,仅仅会执行一次

    Service()

    处理请求和生成响应

    Destroy()

    在服务器停止并且程序中的Servlet对象不再使用的时候调用,只执行一次

    ServletRequest

    封装客户的请求信息

    ServletResponse

    创建响应信息,将处理结果返回给客户端

    ServletConfig

    包含了Servlet的初始化参数信息

    Ø  Servlet处理 Get/Post 请求

      HttpServletRequest request对象的用户

    //获得参数

    Request.getParameter(“param”);

    //将输入的内容转换为中文

             Request.setCharacteEncoding(“GBK”);

             Request.setAttribute(“loginname”,user);

      HttpServletResponse response 对象常用方法

    //解决中文乱码问题

    Response.setContentType(“text/html;charset=GBK”);

    Response.sendRedirect(“url”);

      转发                                                                                                                    

    RequestDispatcher dispatcher = request.getRequestDispatcher(url);

    首先定义转发器。参数 url 是鱼转发的页面或者 Servlet的URL地址。

    Dispatcher.forward(request,response);

    然后实现转发的功能,参数为请求、响应对象。                                                                                                                                                                                                                                                                                                                                                                      

    14.2  Servlet 的部署与配置

    当前项目的web.xml

    <web-app> 

      <servlet>

           <servlet-name>自定义名称</servlet-name>

           <servlet-class>servlet实际类的具体位置</servlet-class>

      </servlet>

      <servlet-mapping>

           <servlet-name>同上自定义的名称 </servlet-name>

           <url-pattern>用户访问Servlet的URL</url-pattern>

      </servlet-mapping>

    </web-app>

  • 相关阅读:
    HDU 5883 F
    关于codeblock 为什么不能调试
    Codeforces Round #378 (Div. 2) D. Kostya the Sculptor 分组 + 贪心
    51NOD 区间的价值 V2
    NYOJ 42 一笔画问题
    如何对二维字符数组进行排序
    hihoCoder 1383 : The Book List 北京网络赛
    利用IDA学习一个简单的安卓脱壳
    iOS APP可执行文件的组成
    Mac10.11 搭建php开发环境
  • 原文地址:https://www.cnblogs.com/Theladyflower/p/4505081.html
Copyright © 2020-2023  润新知