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>

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。