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 执行shell命令及日志收集避坑指南

    有时候我们需要调用系统命令执行一些东西,可能是为了方便,也可能是没有办法必须要调用.涉及执行系统命令的东西,则就不能做跨平台了,这和java语言的初衷是相背的. 废话不多说,java如何执行shell ...

  2. Ubuntu 16.04升级18.04

    原文:https://blog.csdn.net/sean_8180/article/details/81075659 1.更新资源$ sudo apt-get update$ sudo apt-ge ...

  3. 通过JS判断当前浏览器的类型

    通过JS判断当前浏览器的类型,对主流浏览器Chrome.Edge.Firefox.UC浏览器.QQ浏览器.360浏览器.搜狗浏览器的userAgent属性值来判断用户使用的是什么浏览器. 不同浏览器的 ...

  4. Vue3.0初体验

    最近看了Vue3.0的相关信息,相比Vue2.0有以下优点: Performance:性能更比Vue 2.0强. Tree shaking support:可以将无用模块"剪辑", ...

  5. 451. Sort Characters By Frequency(桶排序)

    Given a string, sort it in decreasing order based on the frequency of characters. Example 1: Input: ...

  6. 异常记录-Gradle依赖掉坑之旅

    前言 最近在项目中遇到了一个问题,死活拉不下来依赖,耗费了一整天,感觉自己真是菜的抠脚. 没想到今天脑子一清醒,刷刷的问题逐个击破了. 问题描述: 项目成员添加了新的依赖,然后我这边项目拉下来,bui ...

  7. Docker安装Oracle11g

    为什么使用docker安装oracle,因为自己搭建配置的话可能时间太久太繁琐等等原因,也因为docker实在太方便了 本文主要是使用docker-compose安装Oracle 11g,因为使用do ...

  8. Markdown文档示例

    目录 我是大标题,和一级标题长得一样 我是次级标题,和二级标题长得一样 这是一级标题 这是二级标题 一直到六级标题 列表 表格 分割线 字体 超链接 插入图片 引用 代码块 注意下面每一个标记如果和内 ...

  9. 【java从入门到精通】day-07-逻辑运算符-位运算符-条件运算符-扩展赋值运算符

    逻辑与(&&).或(||).非(!) 示例: package operator;​public class Demo05 {    public static void main(St ...

  10. HashMap 链表插入方式 → 头插为何改成尾插 ?

    开心一刻 一天,楼主在路上碰到了一个很久没见的朋友,找了个餐馆,坐下聊了起来 楼主:在哪上班了 ? 朋友:火葬场啊 楼主:在那上班,一个月多少钱啊 ? 朋友:两万多啊 楼主(不可思议):多少 ? 朋友 ...