Servlet的配置@传递初始化的参数值

传递初始化的参数值

(一) 涉及到生命周期方法的 init(ServletConfig)

其中的ServletConfig表示配置对象,可以获取配置信息

String getInitParameter(String var1);

  • 根据 参数名 获取配置的对应的参数值 返回值是String 需要自己处理类型

Enumeration getInitParameterNames();

  • 返回配置的所有参数名的 迭代器 。代码就可以遍历到所有参数名

(二) 涉及到web.xml中的子标签

      <init-param>
          <!--参数名,是键值对中的键-->
          <param-name>count</param-name>
          <!--参数值,是键值对中的值(只认识字符串,需要自己类型转换)-->
          <param-value>20</param-value>
      </init-param>

关于URL地址的配置:

1.它支持 具体的路径 (是服务器端路径) 。 必须以斜杠开头
2. 它支持*通配符,匹配一组路径,必须以斜杠开头。比如: /demo/*
3. 它还支持 * 通配符指定的后缀名匹配 ,必须不能以斜杠开头。比如 :
整个项目中如果没有任何匹配的url-pattern时:
4. 其实被Tomcat默认的Servlet所匹配
因为它的url-pattern 被设置为/

关于路径配置的优先级 1>2>3>4

比如:

​ /demo/abc.html Servlet1

​ /demo/* Servlet2

​ *.html Servlet3

​ / default(最后)

即 当用户访问的地址是 /demo/abc.html 时, 一定被 Servlet1 处理。

代码演示:

前端配置 param-name=count param-value=20:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <servlet>
        <servlet-name>DomoServlet</servlet-name>类名
        <servlet-class>com.example.servlet.DomoServlet</servlet-class>//包名+类名
        <init-param>
            <param-name>count</param-name>
            <param-value>20</param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>//显示在后端控制台
    </servlet>
    <servlet-mapping>
        <servlet-name>DomoServlet</servlet-name>
        <url-pattern>/demo</url-pattern>
    </servlet-mapping>
</web-app>

后端接收:

猜你喜欢

转载自blog.csdn.net/weixin_47371330/article/details/107554121