一、Java Web核心Servlet

1、什么是Servlet?

Servlet是运行在服务器端的Java小程序,是sun公司提供的一套规范,用来处理客户端请求、响应给浏览器的动态资源。但Servlet的实质就是Java代码,通过Java的API动态的向客户端输出内容。

Servlet规范包含三个技术点:

  • servlet技术
  • filter技术--过滤器
  • listener--监听器

2、Servlet快速入门

实现步骤:

  • 创建类实现Servlet接口
  • 重写方法(重点实现service方法)
  • 在web.xml中进行Servlet的配置

但在实际开发中,不会直接实现Servlet接口,因为要实现的方法太多。一般创建类继承HttpServlet

实现步骤:

  • 创建类继承HttpServlet接口
  • 重写方法doGet和doPost
  • 在web.xml中进行Servlet的配置

Servlet的API

Servlet接口中的方法
  • init(ServletConfig config):对象创建的时候执行

    • ServletConfig代表的是该Servlet对象的配置信息
  • service(ServletRequest req, ServletResponse res):每次请求都会执行
    • SservletRequest:代表请求,可以认为ServletRequest内部封装的是Http请求的信息。
    • ServletResponse:代表响应,认为要封装的是响应的信息
  • destroy():servlet销毁的时候执行
Servlet的生命周期
  • 何时创建?默认第一次访问Servlet时创建该对象
  • 何时销毁?服务器关闭的时候就销毁了
  • 每次访问必然防卫的方法:service(ServletRequest req, ServletResponse res)

tomcat的执行过程

二、web.xml配置

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  3. <display-name>WEB12</display-name>
  4. <welcome-file-list>
  5. <welcome-file>index.html</welcome-file>
  6. <welcome-file>index.htm</welcome-file>
  7. <welcome-file>index.jsp</welcome-file>
  8. <welcome-file>default.html</welcome-file>
  9. <welcome-file>default.htm</welcome-file>
  10. <welcome-file>default.jsp</welcome-file>
  11. </welcome-file-list>
  12. <servlet>
  13. <servlet-name>MyFirstServlet</servlet-name>
  14. <servlet-class>com.fei.servlet.MyFirstServlet</servlet-class>
  15. </servlet>
  16. <servlet-mapping>
  17. <servlet-name>MyFirstServlet</servlet-name>
  18. <!-- 虚拟路径 -->
  19. <url-pattern>/abc</url-pattern>
  20. </servlet-mapping>
  21. <servlet>
  22. <servlet-name>QuickStartServlet</servlet-name>
  23. <servlet-class>com.fei.servlet.QuickStartServlet</servlet-class>
  24. </servlet>
  25. <servlet-mapping>
  26. <servlet-name>QuickStartServlet</servlet-name>
  27. <url-pattern>/quickStartServlet</url-pattern>
  28. </servlet-mapping>
  29. </web-app>

注意

其中url-pattern的配置方式有三种:

  • 完全匹配:访问的资源与配置的资源完全相同才能访问到。例如:<url-pattern>/quickStartServlet</url-pattern>
  • 目录匹配:格式为/虚拟目录../* *代表任意。例如:<url-pattern>/aaa/bbb/*</url-pattern>
  • 扩展名匹配 格式为:*.扩展名。例如:<url-pattern>*.abcd</url-pattern>

    目录匹配和扩展名匹配不要混用。

服务器启动实例化Servlet配置

Servlet何时创建,默认第一次访问时创建。为什么是默认?当在servlet的配置时加上一个配置<load-on-startup>1</load-on-startup>,servlet对象在服务器启动时就创建。

缺省Servlet

可以将url-pattern配置一个/,代表该servlet是缺省的servlet。什么是缺省的servlet?

当访问的资源地址所有的Servlet都不匹配时,缺省的Servlet负责处理。

Servlet接口和web.xml配置文件初识的更多相关文章

  1. 史上最全web.xml配置文件元素详解

    一.web.xml配置文件常用元素及其意义预览 <web-app> <!--定义了WEB应用的名字--> <display-name></display-na ...

  2. web.xml配置文件元素详解

    一.web.xml配置文件常用元素及其意义 1 <web-app> 2 3 <!--定义了WEB应用的名字--> 4 <display-name></disp ...

  3. ssm框架 spring的主配置文件 spring-mvc主配置文件 web.xml配置文件(基础的配置文件)

    1.spring主配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...

  4. web.xml 配置文件 超详细说明!!!

    一.web.xml是什么? 首先 web.xml 是java web 项目的一个重要的配置文件,但是web.xml文件并不是Java web工程必须的. web.xml文件是用来配置:欢迎页.serv ...

  5. web.xml配置文件

    一.web.xml里面的标签 <display-name> <context-param> <listener> <filter> 和 <filt ...

  6. 初学servlet之使用web.xml配置

    先写两个servlet,之后展示web.xml配置 package app01c;import java.io.IOException;import java.io.PrintWriter;impor ...

  7. web.xml配置文件的简单说明

    简单说一下,web.xml的加载过程.当我们启动一个WEB项目容器时,容器包括(JBoss,Tomcat等).首先会去读取web.xml配置文件里的配置,当这一步骤没有出错并且完成之后,项目才能正常的 ...

  8. Java web 项目 web.xml 配置文件加载过程

    转载自:http://blog.csdn.net/luoliehe/article/details/46884757#comments WEB加载web.xml初始化过程: 在启动Web项目时,容器( ...

  9. eclipse创建web项目web.xml配置文件笔记

    1.使用eclipse创建web项目时,如果直接finish的话就没有默认生成web.xml配置文件,此时在你的项目下是看不到web.xml配置文件的,如果要查看的话可以如下操作: 右键你的项目,然后 ...

随机推荐

  1. BZOJ 3306: 树 LCT + set 维护子树信息

    可以作为 LCT 维护子树信息的模板,写的还是比较优美的. 本地可过,bzoj 时限太紧,一直 TLE #include<bits/stdc++.h> #define setIO(s) f ...

  2. windows 系统再重启后,USB口失效(鼠标、U盘都无法识别)的过程及解决方法

    今天都差点忘记写随笔.今天在工作中,将电脑重启了一次,悲催了.重启完成后,鼠标无法使用了.最初认为 鼠标的问题,就一直"砸",但后来换了鼠标,仍然不能使用,开始认为没这边简单,拿出 ...

  3. list_car()函数小记

    一 ,list_car  ,前端传过来参数字典,从字典中获取参数 二, 根据参数去数据库中查找,条件查找 三,将查找出来的对象,flask_sqlalchemy.BaseQuery,然后通过这个对象的 ...

  4. 北风设计模式课程---备忘录(Memento)模式

    北风设计模式课程---备忘录(Memento)模式 一.总结 一句话总结: 备忘录模式也是一种比较常用的模式用来保存对象的部分用于恢复的信息,和原型模式有着本质的区别,广泛运用在快照功能之中.同样的使 ...

  5. php面试专题---11、开发环境及配置考点

    php面试专题---11.开发环境及配置考点 一.总结 一句话总结: 了解php运行原理及常见的配置项 1.版本控制软件? 集中式:CVS和SVN 分布式:Git 2.请简述CGI.FastCGI和P ...

  6. HttpClient配置及示例代码

    HttpComponents是Apache 旗下的项目.其中有一个HttpClient,即HTTP客户端. ... ... 大多时候我们只需要HttpClient,httpCore是开发服务端的我们可 ...

  7. ruby异常处理

    begin # 这段代码抛出的异常将被下面的 rescue 子句捕获 rescue # 这个块将捕获所有类型的异常 retry # 这将把控制移到 begin 的开头 end

  8. CSS-格式化上下文(Formatting Context)

    Formatting Context:指页面中的一个渲染区域,并且拥有一套渲染规则,他决定了其子元素如何定位,以及与其他元素的相互关系和作用. BFC 块级格式化上下文,它是指一个独立的块级渲染区域, ...

  9. mysql_DML_select_升序降序去重

    select *from wsb   limit 5;显示前5行 select *from students LIMIT  (m,n) (其中m是指记录开始的index,从0开始,表示第一条记录n是指 ...

  10. HTML DOM cursor 属性

    值 描述 url 需被使用的自定义光标的URL 注释:请在此列表的末端始终定义一种普通的光标,以防没有由 URL 定义的可用光标. default 默认光标(通常是一个箭头) auto 默认.浏览器设 ...