web.xml之servlet与filter配置
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配置的更多相关文章
- JavaWeb项目中web.xml有关servlet的基本配置
JavaWeb项目中web.xml有关servlet的基本配置: 我们注意到,tomcat下的conf中也有一个web.xml文件,没错的,所有的JavaWeb项目中web.xml都继承自服务器下的w ...
- java web.xml listener servlet 和filter加载顺序
在该项目中总会遇到一些关于加载的优先问题.最近遇到了同样的类别似的,所以,如果你发现信息汇总下,以下是转载其他一些人,毕竟,人们写的不错.它不重复创建的轮.只是略作修改自己的观点. 首先能够肯定的是, ...
- web.xml中servlet, bean, filter, listenr 加载顺序汇总
最终得出结果:先 listener >> filter >> servlet >> spring 所以,如果过滤器中要使用到 bean,可以将spring 的加载 ...
- Spring-web中的web.xml为Servlet提供的配置选项说明
配置Servlet时可以设置的一些初始化参数,总结如下: ContextAttribute: 在ServletContext的属性中,要用作WebApplicationContext的属性名称. Co ...
- 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& ...
- Java Web的web.xml文件作用及基本配置(转)
其实web.xml就是asp.net的web.config一个道理. 说明: 一个web中完全可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的. web.xml文件是用来 ...
- web.xml的加载过程配置详解
一:web.xml加载过程 简单说一下,web.xml的加载过程.当我们启动一个WEB项目容器时,容器包括(JBoss,Tomcat等).首先会去读取web.xml配置文件里的配置,当这一步骤没有 ...
- 【转载】Java Web的web.xml文件作用及基本配置
其实web.xml就是asp.net的web.config一个道理. 说明: 一个web中完全可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的. web.xml文件是用来 ...
- 第7章—SpringMVC高级技术—不用web.xml,而使用java类配置SpringMVC
不用web.xml,而使用java类配置SpringMVC DispatcherServlet是Spring MVC的核心,按照传统方式, 需要把它配置到web.xml中. 我个人比较不喜欢XML配置 ...
随机推荐
- Java学习的第十九天
1.今天学了接口只能有抽象的常量和方法,接口为interface 承接接口是implements 接口的使用 接口中的方法必须是抽象的,没有构造方法 2.今天没有问题 3.明天学习第六章综合实例 ...
- Hash 哈希(上)
Hash 哈希(上) 目录 Hash 哈希(上) 简介 Hash函数的构造 取余法 乘积取整法 其他方法 冲突的处理 挂链法 开放定址法 线性探查法 二次探查法 双哈希法 结语 简介 Hash,又称散 ...
- Redis 和 Memcached 有什么区别?Redis 的线程模型是什么?为什么单线程的 Redis 比多线程的 Memcached 效率要高得多?
面试题 redis 和 memcached 有什么区别?redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发? 面试官心理分析 这个是问 redis 的时候,最基本的问题吧,redi ...
- 理解Task和和async await
本文将详解C#类当中的Task,以及异步函数async await和Task的关系 一.Task的前世今生 1.Thread 一开始我们需要创建线程的时候一般是通过Thread创建线程,一般常用创建线 ...
- Android基础——项目的文件结构(三)
Android基础--项目的文件结构(三) 代码源文件夹与资源文件夹 [注]此项目文件结构仅限于Android Studio下的Android项目!!! 在一个Android项目中,代码源文件夹有4个 ...
- Flutter 开发从 0 到 1(五)源码
Flutter 开发从 0 到 1 明天开始又要上班了,你的假期任务完成如何啊?由于平时加班太多了,实在挤不出更多时间,从开始想用 Flutter <Flutter 开发从 0 到 1(一)需求 ...
- Spring Boot 2.4.0 正式发布!全新的配置处理机制,拥抱云原生!
2020年11月12日,Spring官方发布了Spring Boot 2.4.0 GA的公告. 在这个版本中增加了大量的新特性和改进,下面我们一起看看在这个重要版本中都有哪些值得关注的内容! 更新内容 ...
- 了解TypeScript
TypeScript :是 JavaScript 的一个超集,支持 ECMAScript 6 标准 1.TypeScript 和 JavaScript的区别?TypeScript 是 JavaScri ...
- maven 笔记2
maven 中央工厂的位置:D:\dubbo\apache-maven-3.2.5\lib D:\dubbo\apache-maven-3.2.5\lib pom-4.0.0.xml reposito ...
- centos7单独编译nbd内核模块
前言 centos7默认内核没有带nbd的模块,可以通过下载跟当前版本匹配的内核源码,编译源码指定的模块,然后加载到系统 步骤 判断版本 [root@lab201 linux-3.10.0-957.e ...