Servlet:
 Servlet(Servlet+Applet)
 Servlet是一种独立于平台和协议的服务器端Java应用程序,通用Servlet
      可以生成动态Web页面。Servlet还可以在服务器端对客户端的请求进行处理
      ,控制程序的执行。
 Servlet本身不做任何业务处理。只是接收请求并决定调用哪个JavaBean去
     处理请求,确定用哪个页面来显示处理返回的数据。
 Servlet的主要作用就是交互式地浏览和更新数据,并生成动态的页面内容展示。
     不是所有的Java应用程序都是Servlet,只有当服务器端使用Servlet API时,才能
     算是一个Servlet。
 Servlet处理Web请求的过程:
  服务器接收从客户端发送的请求。
  服务器将请求信息发送至Servlet。
  Servlet经过处理后,生成响应的内容。
  服务器将响应的内容返回客户端。

Servlet与JSP的关系:
 JSP在被Web容器解析的时候,最终会被编译成一个Servlet类。

Servlet API:
         http://tomcat.apache.org/tomcat-7.0-doc/servletapi/index.html
 常用的接口和类:

Servlet生命周期的各个阶段:
 加载和实例化------当Servlet容器启动或者容器检测到客户端请求时。
 初始化---------Servlet容器调用init()方法初始化对象
 处理请求---------得到客户端请求并做出处理时,容器调用servlet()方法
 销毁---------当程序中的Servlet对象不再使用的时候,或者Web服务器停止运行的时候。

创建Servlet的三种方法:
 实现Servlet接口。
 继承GenericeServlet类。
 继承HttpServlet类。

Servlet部署与运行:
 修改web.xml(部署描述文件)
  添加<servlet>:把Servlet内部名映射到一个Servlet类名
  添加<servlet-mapping>:把用户访问的URL映射到Servlet的内部名
 示例:
 <servlet>
     <servlet-name>ServletDemo</servlet-name>
         <servlet-class>com.wu.servlet.ServletDemo</servlet-class>
    </servlet>

<servlet-mapping>
         <servlet-name>ServletDemo</servlet-name>
            <url-pattern>/ServletDemo</url-pattern>
   </servlet-mapping>

    <url-pattern>的设置方法:

     精确匹配: <url-pattern>/xxx</url-pattern>

     路径匹配:<url-pattern>/xxx/*</url-pattern>

     扩展名匹配:<url-pattern>*.do</url-pattern>

通过URL访问Servlet
  HTTP://localhost:8080/Servlet/ServletDemo

  容器根据URL中访问的Servlet,在web.xml文件中进行查找,并调用调用该Servlet处理用户的请求。

  查找方式: </servlet-mapping>中<url-pattern>-->  <servlet-name>-->

          <servlet>中<servlet-name>--><servlet-class>

另外还需注意的是:
 创建Servlet编写Servlet代码后,还要对JSP表单进行修改,实现表单提交时调用Servlet。
 修改表单action属性:
 action="<%=request.getContextPath()%>/ServletDemo"
  <%=request.getContextPath()%>:获取页面上下文环境。
  /ServletDemo:对应web.xml文件中<url-pattern>元素的内容

Servlet的概念与用法的更多相关文章

  1. servlet有关概念

    关于servlet的概念 URL.URN与URi HTTP GET请求,POST请求(区别.适用) 编码 动态网页(GCI.PHP.ASP.JSP等)与静态网页 Model2 静态网页:指的是请求服务 ...

  2. (转载)OC学习篇之---协议的概念和用法

    在前一篇文章中我们介绍了OC中类的延展,这一篇文章我们在来看一下OC中协议的概念以及用法,协议也是OC中的一个重点,Foundation框架以及我们后面在写代码都会用到. OC中的协议就是相当于Jav ...

  3. OC中协议的概念以及用法

    OC中协议的概念以及用法,协议也是OC中的一个重点,Foundation框架以及我们后面在写代码都会用到. OC中的协议就是相当于Java中的接口(抽象类),只不过OC中的名字更形象点,因为我们在学习 ...

  4. scrapy之基础概念与用法

    scrapy之基础概念与用法 框架 所谓的框架就是一个项目的半成品.也可以说成是一个已经被集成了各种功能(高性能异步下载.队列.分布式.解析.持久化等)的具有很强通用性的项目模板. 安装 Linux: ...

  5. Android中Cursor类的概念和用法[转]

    首页 > 程序开发 > 移动开发 > Android > 正文   Android中Cursor类的概念和用法 2011-09-07      0个评论       收藏    ...

  6. Python yield 的基本概念和用法

    之前解析MQTT协议时,需要做一个等分字节流的操作,其中用到了yield关键字,如下: def get_var_length(hstring): m = 1 v = 0 for element in ...

  7. (4.5)DBCC的概念与用法(DBCC TRACEON、DBCC IND、DBCC PAGE)

    转自:http://www.cnblogs.com/huangxincheng/p/4249248.html DBCC的概念与用法 一:DBCC 1:什么是DBCC 我不是教学老师,我也说不到没有任何 ...

  8. OC学习篇之---协议的概念和用法

    这一篇文章我们在来看一下OC中协议的概念以及用法,协议也是OC中的一个重点,Foundation框架以及我们后面在写代码都会用到. OC中的协议就是相当于Java中的接口(抽象类),只不过OC中的名字 ...

  9. JAVA中数组的基本概念与用法

    JAVA中数组的基本概念与用法 1. 数组的定义与特点 数组的一种引用数据类型 数组中可以同时存放多个数据,但是数据的类型必须统一 数组的长度在开始时就需要确定,在程序运行期间是不可改变的 虽然可以使 ...

随机推荐

  1. MVC原理图解

    注解: 视图中通过Action方法向控制器请求数据 控制器通过view()方法向视图呈现数据

  2. VS2010调用halcon的时候出现试图加载格式不正确的程序(this.hWindowControl1 = new HalconDotNet.HWindowControl();)

    [重要错误修改] /// <summary> /// 设计器支持所需的方法 - 不要 /// 使用代码编辑器修改此方法的内容. /// </summary> private v ...

  3. 「小程序JAVA实战」 小程序的事件(11)

    转自:https://idig8.com/2018/08/09/xiaochengxu-chuji-11/ 我们以前在web开发的时候,web页面也有一些相关的事件,当然小程序要接触屏幕要进行一些点击 ...

  4. 每天一个Linux命令 - 【find】

    命令:find 用途:查找文件并执行指令的操作 [语法]:find [路径] [选项] [参数] [功能介绍]:find命令在指定的目录下查找文件.find命令还能够对查找到的文件执行的指定的操作,通 ...

  5. sql server生成递归日期、连续数据

    WITH Date AS ( SELECT CAST('2008-08-01' AS DATETIME) da UNION ALL FROM Date WHERE da < '2008-08-2 ...

  6. c作图-正弦函数图像

    #include<graphics.h>#include<math.h>int main(){    int gmode,gdriver=DETECT; double x1,y ...

  7. hibernate 框架的简单使用

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuratio ...

  8. 面试题:MySQL性能调优——索引详解与索引的优化 没用

    ——索引优化,可以说是数据库相关优化.理解尤其是查询优化中最常用的优化手段之一.所以,只有深入索引的实现原理.存储方式.不同索引间区别,才能设计或使用最优的索引,最大幅度的提升查询效率! 一.BTre ...

  9. ROS naviagtion analysis: costmap_2d--Layer

    博客转载自:https://blog.csdn.net/u013158492/article/details/50493113 这个类中有一个LayeredCostmap* layered_costm ...

  10. 在IE11(Win8)中检查up6.2配置

      1.按F12,打开调试模式    2.打开调试程序选项卡 说明:在调试程序选项卡中可看到IE加载的脚本信息是否正确.因为IE有缓存,导致脚本有时不是最新的.    3.打开脚本,up6.js   ...