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配置 ...
随机推荐
- python数据类型之String(字符串)
String(字符串) 1.概述 字符串是以单引号或双引号括起来的任意文本,比如"abc",'xy'等等,请注意''或者""本身只是一种表示方式,并不是字符 ...
- python获取汉字首字母
获取汉字首字母 关注公众号"轻松学编程"了解更多. 应用场景之一:可用于获取名字首字母,在数据库中查询记录时,可以用它来排序输出. from pytz import unicode ...
- mysql 两主一从环境搭建(5.7.24)
搭建说明 两主一从,从本质上说,只不过是机器 master-a 和 master-b 互为主从机(热备),然后通过 keepalived 进行高可用配置,使得在同一时间内只会有一台对外提供服务,实现单 ...
- How to use vscode to build a springboot project
How to use vscode to build a springboot project 首先截图一个springboot官网的一个教程说明截图.可以根据这里的指南去创建一个HelloWorld ...
- Python专题之详解enumerate和zip
enumerate 第一个是枚举函数. 在我们的日常编程过程中,我们经常遇到一个问题. 在C语言和一些古老的语言中没有迭代器的概念,所以当我们想要遍历数组或容器时,我们只能使用下标.使用迭代器,我们的 ...
- layui常用的公共属性
这个是今天看官网是觉得应该很有用的东西,记录在此.位置位于官网页面元素下的HTML规范:常用公共属性中.解释如下: lay-skin=" " 定义相同元素的不同风格,如checkb ...
- 前端性能优化之 gzip+cache-control
刚刚在Node.js环境下使用gzippo模块进行了测试. 使用gzip的压缩率惊人的好,达到了50%以上. 再加上express的staticCache,配合cache-control max-ag ...
- SPA 路由三部曲之核心原理
为了配合单页面 Web 应用快速发展的节奏,近几年,各类前端组件化技术栈层出不穷.通过不断的版本迭代 React.Vue 脱颖而出,成为当下最受欢迎的两大技术栈. 仅 7 个月的时间,两个技术栈的下载 ...
- mysql一些好的问题
一."N叉树"的N值在MySQL中是可以被人工调整吗? 1, 通过改变key值来调整N叉树中非叶子节点存放的是索引信息,索引包含Key和Point指针.Point指针固定为6个字节 ...
- explain命令---查看mysql执行计划
引言: 实际项目开发中,由于我们不知道实际查询的时候数据库里发生了什么事情,数据库软件是怎样扫描表.怎样使用索引的,因此,我们能感知到的就只有 sql语句运行的时间,在数据规模不大时,查询是瞬间的,因 ...