servlet配置

一个完整的servlet配置分为两块,< servlet >块和< servlet-mapping >块

< servlet >

<servlet>
<servlet-name>NameIsServletTest</servlet-name> <!-- 该servlet标识名,与servlet-mapping中的标识名对应 组成配对 -->
<servlet-class>com.qq.web.servlet.ServletTest</servlet-class> <!-- 该servlet全类名 -->
<init-param> <!-- 初始化参数 -->
<param-name>paramName</param-name> <!-- 初始化参数 键-->
<param-value>paramValue</param-value> <!-- 初始化参数 值-->
</init-param>
<init-param> <!-- 初始化参数 可配置多个-->
<param-name>paramName2</param-name>
<param-value>paramValue2</param-value>
</init-param>
</servlet>

< servlet-mapping >

<servlet-mapping>
<servlet-name>NameIsServletTest</servlet-name> <!-- 与上面<servlet>下的<servlet-name>一致组成配对 -->
<url-pattern>/test</url-pattern> <!-- 该servlet路由配置 -->
</servlet-mapping>

InitParameter获取初始化参数

    Enumeration<String> en1 = getInitParameterNames();      // getInitParameterNames()获取初始化参数的key枚举
while (en1.hasMoreElements()) {
String key = en1.nextElement();
System.out.println("en1-----value:"+getInitParameter(key)); // getInitParameter(key)通过key获取初始化参数的值
} // 其实和上面是一样的
Enumeration<String> en2 = getServletConfig().getInitParameterNames(); // 使用getServletConfig().getInitParameterNames()获取初始化参数的key枚举
while (en2.hasMoreElements()) {
String key2 = en2.nextElement();
System.out.println("en2-----value:"+getInitParameter(key2));
}

filter配置

同servlet完整的filter配置也分为两块,< filter >与< filter-mapping >

< filter >

<filter>
<filter-name>FilterTest</filter-name> <!-- filter标识名 -->
<filter-class>com.qq.web.filter.FilterTest</filter-class> <!--filter全类名-->
<init-param> <!--初始化参数-->
<param-name>filterName</param-name>
<param-value>filterValue</param-value>
</init-param>
</filter>

< filter-mapping >

 <filter-mapping>
<filter-name>FilterTest</filter-name> <!-- 标识名与上面的相同组成配对 -->
<url-pattern>/*</url-pattern> <!-- 匹配要过滤的请求url -->
<!--
/* , /login/* 模糊匹配 前面对上了就ok
/index ,/login 全路径匹配 全部对上才行
*.html ,*.js 扩展名匹配,后面对上就ok,注意前面不能与 /
如果一个url能匹配上多个过滤器
过滤器都在xml中配置的话 按配置的前后顺序执行
过滤器都在注解上配置的 按过滤器类名的字母排序执行
都有的话 先执行xml中配置的再执行注解配置的
-->
<!-- 过滤器拦截的请求类型 -->
<dispatcher>REQUEST</dispatcher> <!-- http请求 不写默认时这个 -->
<dispatcher>FORWARD</dispatcher> <!-- 请求转发 -->
<dispatcher>INCLUDE</dispatcher> <!-- jsp包含 -->
<dispatcher>ERROR</dispatcher> <!-- err时跳转 -->
</filter-mapping>

filter获取初始化参数

 public void init(FilterConfig config) throws ServletException {      // 在过滤器的init方法中用config获取初始化参数
Enumeration<String> filterEn1 = config.getInitParameterNames();
while (filterEn1.hasMoreElements()){
System.out.println(config.getInitParameter(filterEn1.nextElement()));
}
}

上下文初始化参数

<context-param>      <!-- 只能有一对键值用作应用的Servlet上下文初始化参数,参数名在整个Web应用中必须是惟一的,任意的Servlet和jsp都可以随时随地访问它 -->
<param-name>contextName</param-name>
<param-value>contextValue</param-value>
</context-param> // 获取上下文初始化参数
Enumeration<String> contextEn = getServletContext().getInitParameterNames(); // 全局的资源都在getServletContext()这里
while (contextEn.hasMoreElements()) {
System.out.println("context-----value:"+getServletContext().getInitParameter(contextEn.nextElement()));
}

web.xml之servlet与filter配置的更多相关文章

  1. JavaWeb项目中web.xml有关servlet的基本配置

    JavaWeb项目中web.xml有关servlet的基本配置: 我们注意到,tomcat下的conf中也有一个web.xml文件,没错的,所有的JavaWeb项目中web.xml都继承自服务器下的w ...

  2. java web.xml listener servlet 和filter加载顺序

    在该项目中总会遇到一些关于加载的优先问题.最近遇到了同样的类别似的,所以,如果你发现信息汇总下,以下是转载其他一些人,毕竟,人们写的不错.它不重复创建的轮.只是略作修改自己的观点. 首先能够肯定的是, ...

  3. web.xml中servlet, bean, filter, listenr 加载顺序汇总

    最终得出结果:先 listener >> filter >> servlet >> spring 所以,如果过滤器中要使用到 bean,可以将spring 的加载 ...

  4. Spring-web中的web.xml为Servlet提供的配置选项说明

    配置Servlet时可以设置的一些初始化参数,总结如下: ContextAttribute: 在ServletContext的属性中,要用作WebApplicationContext的属性名称. Co ...

  5. eclipse环境Dynamic web module version 3.1版本的进步,简化Dynamic web object 中Servlet类的配置,不用web.xml配置<Servlet>

    eclipse环境Dynamic web module version 3.1版本之前,Dynamic web object 中Servlet类的配置,要在web.xml 配置<Servlet& ...

  6. Java Web的web.xml文件作用及基本配置(转)

    其实web.xml就是asp.net的web.config一个道理. 说明: 一个web中完全可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的. web.xml文件是用来 ...

  7. web.xml的加载过程配置详解

      一:web.xml加载过程 简单说一下,web.xml的加载过程.当我们启动一个WEB项目容器时,容器包括(JBoss,Tomcat等).首先会去读取web.xml配置文件里的配置,当这一步骤没有 ...

  8. 【转载】Java Web的web.xml文件作用及基本配置

    其实web.xml就是asp.net的web.config一个道理. 说明: 一个web中完全可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的. web.xml文件是用来 ...

  9. 第7章—SpringMVC高级技术—不用web.xml,而使用java类配置SpringMVC

    不用web.xml,而使用java类配置SpringMVC DispatcherServlet是Spring MVC的核心,按照传统方式, 需要把它配置到web.xml中. 我个人比较不喜欢XML配置 ...

随机推荐

  1. Java学习的第二十三天

    1.今天学习了用log4j记录日志 综合实例 2.不知道日志什么时候用到 3.明天学习12章

  2. go-zero 是如何追踪你的请求链路的

    go-zero 是如何追踪你的请求链路 微服务架构中,调用链可能很漫长,从 http 到 rpc ,又从 rpc 到 http .而开发者想了解每个环节的调用情况及性能,最佳方案就是 全链路跟踪. 追 ...

  3. python框架Django使用xadmin管理后台数据

    Django使用xadmin管理后台数据 关注公众号"轻松学编程"了解更多. 作用:xadmin比Django内置的admin更美观.更方便. 一.导入xadmin(第三方库) 方 ...

  4. 【漏洞复现】Shiro<=1.2.4反序列化漏洞

    0x01 概述 Shiro简介 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码和会话管理.使用Shiro的易于理解的API,您可以快速.轻松地获得任何应用程序,从 ...

  5. 微信小程序——【百景游戏小攻略】

    微信小程序--[百景游戏小攻略] 本次课程小项目中的图片以及文章还未获得授权!请勿商用!未经授权,请勿转载! 博客班级 https://edu.cnblogs.com/campus/zjcsxy/SE ...

  6. LDA与PCA

    参考: https://www.cnblogs.com/pinard/p/6244265.html https://blog.csdn.net/qq_25680531/article/details/ ...

  7. 学习笔记——make项目中克隆GitHub目录失败的解决

    在示例项目中执行make后出现下面的错误 WARNING: Missing submodule components/json/cJSON... WARNING: Missing submodule ...

  8. php正则匹配整数

    <?php if(!preg_match('/^([1-9][0-9]*){1,10}$/',$buy_sku)) { $error['content'] = '请检查库存格式'; echo j ...

  9. TCP数据接收及快速路径和慢速路径

    概述 tcp握手完成后,收到数据包后,调用路径为tcp_v4_rcv->tcp_v4_do_rcv->tcp_rcv_established在tcp_rcv_established中处理T ...

  10. 使用IDEA推送项目至gitee平台或github平台

    IDEA项目推送至gitee平台或github平台 1.首先在gitee平台上创建项目 在gitee平台上创建仓库应该很简单,依据下图所示填写相应信息,即可完成创建. 需要说明的一点是,现在java开 ...