隐藏

JavaWeb(web.xml)
2022年 03月 17 日

Calvin

web.xml配置文件详解

web.xml的加载顺序是:<context-param> -> <listener> -> <filter> -> <servlet>。其中,如果web.xml中出现了相同的元素,则按照在配置文件中出现的先后顺序来加载。

<context-param> 
//对<context-param>中的键值做的操作,会在WEB项目完全启动之前被执行.

        <param-name>driver</param-name>
                     //键
        <param-value>com.mysql.jdbc.Driver</param-value>
        //由于<context-param>最先执行,所以可以在项目启动前就加载mysql驱动
  </context-param>

<!--配置处理请求的servlet-->
    <servlet>
        <servlet-name> loginServlet </servlet-name>
                      //servlet的别名
        
        <servlet-class> bao.LoginServlet </servlet-class>
               //指定的servlet实现类,参数格式为 含包名的全类名
               
        <!--配置servlet的参数-->
        <init-param>
            <param-name>userName</param-name>
            <param-value>admin</param-value>
        </init-param>
    </servlet>


    <!--映射请求路径-->
    <servlet-mapping>
        <servlet-name> loginServlet </servlet-name>
                     //注册的servlet的别名
           <url-pattern> /login </url-pattern>
            //映射的路径(前端表单中定义的action属性)
    </servlet-mapping>
    
        <!--设置网站首页路径(默认访问页面)-->
    <welcome-file-list>
        <welcome-file>/login.jsp</welcome-file>
    </welcome-file-list>

        <!--设置网站错误跳转路径-->
    <error-page>
        <error-code>404</error-code>
        <location>/error.jsp</location>
        <!--若访问中出现404错误则跳转error.jsp页面-->
    </error-page>
    
  1. 流程详解:通过前端表单中传回的action路径在文件中搜寻是否存在映射的请求路径,若有匹配的路径,则通过在路径映射配置中的servlet-name别名检索并跳转实现类进行后续操作。
  2. 映射的路径格式详解:
    /login :精确匹配
    *.do/*.action:后缀名方式
    /: 缺省的(全包含,任何请求都会响应) 不建议使用
  3. <context-param>详解:

    元素含有一对参数名和参数值,用作应用的Servlet上下文初始化参数,参数名在整个Web应用中必须是唯一的,在web应用的整个生命周期中上下文初始化参数都存在,任意的Servlet和jsp都可以随时随地访问它。子元素包含有参数名,而子元素包含的是参数值。作为选择,可用子元素来描述参数。

  • 什么情况下使用,为什么使用
    比如:定义一个管理员email地址用来从程序发送错误,或者与你整个应用程序有关的其他设置。使用自己定义的设置文件需要额外的代码和管理;直接在你的程序中使用硬编码(Hard-coding)参数值会给你之后修改程序带来麻烦,更困难的是,要根据不同的部署使用不同的设置;通过这种办法,可以让其他开发人员更容易找到相关的参数,因为它是一个用于设置这种参数的标准位置。

JavaWeb(web.xml)

web.xml配置文件详解

web.xml的加载顺序是:<context-param> -> <listener> -> <filter> -> <servlet>。其中,如果web.xml中出现了相同的元素,则按照在配置文件中出现的先后顺序来加载。

<context-param> 
//对<context-param>中的键值做的操作,会在WEB项目完全启动之前被执行.

        <param-name>driver</param-name>
                     //键
        <param-value>com.mysql.jdbc.Driver</param-value>
        //由于<context-param>最先执行,所以可以在项目启动前就加载mysql驱动
  </context-param>

<!--配置处理请求的servlet-->
    <servlet>
        <servlet-name> loginServlet </servlet-name>
                      //servlet的别名
        
        <servlet-class> bao.LoginServlet </servlet-class>
               //指定的servlet实现类,参数格式为 含包名的全类名
               
        <!--配置servlet的参数-->
        <init-param>
            <param-name>userName</param-name>
            <param-value>admin</param-value>
        </init-param>
    </servlet>


    <!--映射请求路径-->
    <servlet-mapping>
        <servlet-name> loginServlet </servlet-name>
                     //注册的servlet的别名
           <url-pattern> /login </url-pattern>
            //映射的路径(前端表单中定义的action属性)
    </servlet-mapping>
    
        <!--设置网站首页路径(默认访问页面)-->
    <welcome-file-list>
        <welcome-file>/login.jsp</welcome-file>
    </welcome-file-list>

        <!--设置网站错误跳转路径-->
    <error-page>
        <error-code>404</error-code>
        <location>/error.jsp</location>
        <!--若访问中出现404错误则跳转error.jsp页面-->
    </error-page>
    
  1. 流程详解:通过前端表单中传回的action路径在文件中搜寻是否存在映射的请求路径,若有匹配的路径,则通过在路径映射配置中的servlet-name别名检索并跳转实现类进行后续操作。
  2. 映射的路径格式详解:
    /login :精确匹配
    *.do/*.action:后缀名方式
    /: 缺省的(全包含,任何请求都会响应) 不建议使用
  3. <context-param>详解:

    元素含有一对参数名和参数值,用作应用的Servlet上下文初始化参数,参数名在整个Web应用中必须是唯一的,在web应用的整个生命周期中上下文初始化参数都存在,任意的Servlet和jsp都可以随时随地访问它。子元素包含有参数名,而子元素包含的是参数值。作为选择,可用子元素来描述参数。

  • 什么情况下使用,为什么使用
    比如:定义一个管理员email地址用来从程序发送错误,或者与你整个应用程序有关的其他设置。使用自己定义的设置文件需要额外的代码和管理;直接在你的程序中使用硬编码(Hard-coding)参数值会给你之后修改程序带来麻烦,更困难的是,要根据不同的部署使用不同的设置;通过这种办法,可以让其他开发人员更容易找到相关的参数,因为它是一个用于设置这种参数的标准位置。

上一篇
JDBC

评论区(暂无评论)

这里空空如也,快来评论吧~

我要评论