zoukankan      html  css  js  c++  java
  • Servlet接口和web.xml配置文件初识

    一、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配置

    <?xml version="1.0" encoding="UTF-8"?>
    <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">
      <display-name>WEB12</display-name>
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
      
      <servlet>
      	<servlet-name>MyFirstServlet</servlet-name>
      	<servlet-class>com.fei.servlet.MyFirstServlet</servlet-class>
      </servlet>
      <servlet-mapping>
      	<servlet-name>MyFirstServlet</servlet-name>
      	<!-- 虚拟路径 -->
      	<url-pattern>/abc</url-pattern>
      </servlet-mapping>
      
      <servlet>
      	<servlet-name>QuickStartServlet</servlet-name>
      	<servlet-class>com.fei.servlet.QuickStartServlet</servlet-class>
      </servlet>
      <servlet-mapping>
      	<servlet-name>QuickStartServlet</servlet-name>
      	<url-pattern>/quickStartServlet</url-pattern>
      </servlet-mapping>
    </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负责处理。

  • 相关阅读:
    repeater绑定li实现不同样式
    fckeditor 上传图一直显示进度条
    Repeater 获取 DataItem 属性值
    js让显示层居中且有遮挡层(IE,火狐,Chrome均可)
    自定义控件学习(一)
    asp.net做系统时,经典的上左右Iframe
    const与readonly
    如何设置制定按钮为希望响应回车的真正按钮
    domestic的定义
    ebay api(解决固价与拍卖异常问题)
  • 原文地址:https://www.cnblogs.com/zxfei/p/10989507.html
Copyright © 2011-2022 走看看