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>

JSP-11-Servlet的更多相关文章

  1. Java Web开发 之小张老师总结EL、JSP、Servlet变量

    EL 11 JSP 9 Servlet JSP类别 pageContext pageContext * 作用域 pageScope pageContext.getAttribute() * reque ...

  2. Jsp与servlet之间页面跳转及参数传递实例(转)

    原网址:http://blog.csdn.net/ssy_shandong/article/details/9328985 11. jsp与servlet之间页面跳转及参数传递实例 分类: Java ...

  3. 图解JSP与Servlet的关系

      Servlet是Java提供的用于开发Web服务器应用程序的一个组件,运行在服务器端,由Servlet容器所管理,用于生成动态的内容.Servlet是平台独立的Java类,编写一个Servlet, ...

  4. JSP和Servlet面试题

    1.讲下servlet的执行流程. Servlet的执行流程也就是servlet的生命周期,当服务器启动的时候生命周期开始,然后通过init()<启动顺序根据web.xml里的startup-o ...

  5. jsp、servlet笔记

    1.init    初始化Jsp&Servlet方法   destroy 销毁Jsp&Servlet之前的方法   service 对用户请求生成响应的方法2.Jsp文件必须在jsp服 ...

  6. SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

    熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...

  7. java语言体系的技术简介之JSP、Servlet、JDBC、JavaBean(Application)

    转自:https://zhangkunnan.iteye.com/blog/2040462 前言 Java语言 Java语言体系比较庞大,包括多个模块.从WEB项目应用角度讲有JSP.Servlet. ...

  8. 【转】(超详细)jsp与servlet之间页面跳转及参数传递实例

    初步学习JavaEE,对其中jsp与Servlet之间的传值没弄清楚,查看网上资料,发现一篇超详细的文章,收获大大,特此记录下来.具体链接:http://blog.csdn.net/ssy_shand ...

  9. JSP和Servlet的中文乱码处理

    JSP和Servlet的中文乱码处理 前几天学习了JSP和Servlet中有关中文乱码的一些问题,写成了博客,今天进行更新一下.应该是可以解决日常的乱码问题了.现在作以下总结希望对需要的人有所帮助.我 ...

  10. 一、JSP、servlet、SQL三者之间的数据传递(前台与后台数据交互)

    背景: 目前业界很流行的MVC(model-view-control)开发模式,理解为 模型是Bean, 视图是 Html/Jsp, 控制是Servlet, 关联数据库的Dao web的运行机制: 数 ...

随机推荐

  1. Oracle connect by 树查询之二

    先用scott用户下的emp表做实验.emp表有个字段,一个是empno(员工编号),另一个是mgr(上级经理编号)下面是表中所有数据 1 select * from emp start with e ...

  2. java mail(发送邮件--163邮箱)

    package com.util.mail; /** * 发送邮件需要使用的基本信息 */ import java.util.Properties; public class MailSenderIn ...

  3. iOS性能优化:Instruments使用实战

    iOS性能优化:Instruments使用实战   最近采用Instruments 来分析整个应用程序的性能.发现很多有意思的点,以及性能优化和一些分析性能消耗的技巧,小结如下. Instrument ...

  4. python 之ConfigParser

    ConfigParser 简介ConfigParser是用来操作配置文件的模块. 说明:[**]为配置文件的section,基本格式为 [section] key = valueeg: [db] db ...

  5. 模拟ATM机银行系统

    淄博汉企Java基础考核项目 模拟银行自助终端系统 一. 本系统模拟银行用户使用ATM机开户.查询.存款.取款功能,要求使用java语言编程实现. 说明: 1. 对于数据输入异常,可使用java异常处 ...

  6. Server Error in '/' Application

    在服务器部署了网站,然后访问的时候出现异常   Server Error in '/' Application,一般这样的异常都是不明确的,我们应当把网站根目录web.config<custom ...

  7. Python学习笔记——部分常用/特殊用法

    1.使用*号来展开序列,*是序列展开,每个元素都当做一个参数.ls = (1, 2, 3);foo(ls),这样foo只有一个参数,就是ls这个列表本身foo(*ls), foo得到3个参数,分别为1 ...

  8. JavaScript 入门教程一 开篇介绍

    一.JavaScript 刚开始是为了解决一些由服务器端进行的验证而开发的前端语言.在宽带还不普及的90年代,当用户辛苦输入很多信息并提交给服务器后,等了漫长的时间,等到的不是提交成功的提示而是某些必 ...

  9. wpa supplicant 移植

    最近移植wifi,WIFI芯片使用rtl8723.在文件系统生成了设备节点.需要移植工具进行测试: iwconfig:没有密码的或者wep加密的wifi,使用iwconfig就已经够用. wpa_su ...

  10. ftp列表错误或长城宽带连不上ftp的解决方法

    有些是长城宽带,我 帮忙测试,在客户PC机上测试,PING 任何网站 不通:tracert 超时:FTP 超时,不出现用户名提示.但访问网站正常,检测后进入到路由器,禁用DHCP服务 ,问题解决. 或 ...