zoukankan      html  css  js  c++  java
  • 菜鸟学Java(九)——Servlet的基本配置

    学习JavaWeb的人没有不知道Servlet的吧,而要用Servlet就需要在web.xml中进行配置。相信有很多初学者跟我当初一样,对于一些配置参数不是很理解,今天就说说Servlet最基本的配置信息。


    下面是一个最基本的Servlet配置:

    <servlet>  
        <servlet-name>MyServlet</servlet-name>  
        <servlet-class>com.Servlet.MyServlet</servlet-class>  
    </servlet>  
      
    <servlet-mapping>  
        <servlet-name>MyServlet</servlet-name>  
        <url-pattern>/Servlet</url-pattern>  
    </servlet-mapping>  

    Servlet的配置包括两部分:


    1,<servlet>配置Servlet的名字和完整类路径:

    servlet-name是自定义的,就是给Servlet取个名字。

    servlet-class是Servlet完整的类,就是从一开始的包一直“.”到该Servlet。


    2,<servlet-mapping>是用来截获请求的,包括servlet-name和url-pattern。

    servlet-name跟<servlet>中的servlet-name是对应的,两个servlet-name一定要一致,否则会找不到对应的Servlet。

    url-pattern是截获请求的规则,当表单提交的时候,会根据特定的规则调用相应的Servlet。下面会具体阐述。


    url-pattern大致分为以下几种方式:


    1,完全匹配

        如:<url-pattern>/servlet/MyServlet.do</url-pattern>


    2,目录匹配

        如:<url-pattern>/servlet/*</url-pattern>

    3,扩展名匹配

        如:<url-pattern>*.do</url-pattern>


    在web.xml文件中,以下语法用于定义映射: 

    l. 以”/’开头和以”/*”结尾的是用来做路径映射的。 

    2. 以前缀”*.”开头的是用来做扩展映射的。 

    3. “/” 是用来定义default servlet映射的。 

    4. 剩下的都是用来定义详细映射的。比如: /aa/bb/cc.action 

    容器查找规则:

    1,容器会首先查找完全匹配,如果找不到,再查找目录匹配,如果也找不到,就查找扩展名匹配。
    2,如果一个请求匹配多个“目录匹配”,容器会选择最长的匹配。

    例如:servletA的url-pattern为/test/*,而servletB的url-pattern为/test/b/*,此 时访问http://localhost/test/b时,容器会选择路径最长的servlet来匹配,也就是这里的servletB。


    注意:”/*.action”这样一个看起来很正常的匹配会错。因为这个匹配即属于路径映射,也属于扩展映射,会导致容器无法判断。


    上面讲解的只是Servlet最基本的一个配置,还有很多其他的参数,有兴趣可自行研究,这里就不一一赘述了。欢迎交流探讨。


  • 相关阅读:
    数据库 —— 基于 ORM 模型的 Hibernate 的使用(java)
    数据库 —— mySQL 的安装
    数据库 —— 应用程序与数据库的连接
    windows 编程 —— 子窗口类别化(Window Subclassing)
    windows 编程 —— 消息与参数(定时器、初始化消息、改变大小)
    windows 编程 —— 子窗口 与 子窗口控件
    windows 编程 —— 消息与参数(滚动条、键盘、鼠标)
    windows 编程—— 使用函数笔记
    关于计算机编程语言——编译型和解释型_2
    关于计算机编程语言——编译型和解释型【转】
  • 原文地址:https://www.cnblogs.com/liushuijinger/p/3256847.html
Copyright © 2011-2022 走看看