做了那么久的web项目都没有花心思了充分解下这个文件有什么用,看项目配制是否都差不多呢

========================================================================

本文主要是给自己做个笔记,如果说错了或者写的不好,请多包涵或指正(看了别人参考的文献,,只能把自己写的定义为笔记了)

参考大神博客:

http://blog.csdn.net/netdevgirl/article/details/51483273

http://blog.csdn.net/chyohn/article/details/54925124

http://blog.csdn.net/u012562943/article/details/53301334

web.xml主要是用来初始化web的一些东西,比如定制的spring 容器(准确的说是刷新替换默认的容器),初始化参数等

主要有三个标签(常用) 他们随容器初始化好(仅仅初始化一次),和容器一起销毁(同生共死)

1、servlet;  2、filter;  3、listener;    web.xml 的加载顺序是:context- param -> listener -> filter -> servlet

一.第一部分

参考tomcat 启动

https://www.cnblogs.com/goody9807/p/4227296.html

参考servlet 和tomcat的关系

http://blog.csdn.net/snarlfuture/article/details/18473761

关于 introspectorcleanuplistener  是为了解决内存泄漏问题(初始化级别高,公司使用了分布式定时器Quartz)

https://www.cnblogs.com/qiankun-site/p/5886673.htm

http://blog.csdn.net/z69183787/article/details/28402649

日志文件配置初始化:

https://www.cnblogs.com/CloverSH/p/4531492.html

//这边的话初始化有公司特定的需求具体的类源码只是为了得到上下文的容器,目的是获取ioc 注入的bean;

==================================================================================================================

<!-- Web侧登入的配置 -->
<servlet>
<servlet-name>spring-mvc-web-login</servlet-name>
<servlet-class>com.fjhb.surveyor.gateway.interceptor.AllowCrossDomainDispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:config/spring/mvc/spring-mvc-web-login.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring-mvc-web-login</servlet-name>
<url-pattern>/web/login/*</url-pattern>
</servlet-mapping>
<!-- Web侧管理端 -->
<servlet>
<servlet-name>spring-mvc-web-admin</servlet-name>
<servlet-class>com.fjhb.surveyor.gateway.interceptor.AllowCrossDomainDispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:config/spring/mvc/spring-mvc-web-admin.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring-mvc-web-admin</servlet-name>
<url-pattern>/web/admin/*</url-pattern>
</servlet-mapping>
...
更具不同的请求,初始化配制..登录/未登录,app登录/未登录
=======================================================================================================================
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/web/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/mobile/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>DruidWebStatFilter</filter-name>
<filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>
<init-param>
<param-name>exclusions</param-name>
<param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value>
</init-param>
<init-param>
<param-name>sessionStatMaxCount</param-name>
<param-value>5000</param-value>
</init-param>
<init-param>
<param-name>principalSessionName</param-name>
<param-value>USER</param-value>
</init-param>
<init-param>
<param-name>principalCookieName</param-name>
<param-value>uid</param-value>
</init-param>
<init-param>
<param-name>profileEnable</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<!-- 数据库连接池监控 -->
<servlet>
<servlet-name>DruidStatView</servlet-name>
<servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DruidStatView</servlet-name>
<url-pattern>/druid/*</url-pattern>
</servlet-mapping> <filter-mapping>
<filter-name>DruidWebStatFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> <session-config>
<session-timeout>120</session-timeout>
</session-config>
<welcome-file-list>
<!--<welcome-file>/index_student.html</welcome-file>-->
<welcome-file>/index.jsp</welcome-file>
</welcome-file-list>
阿里巴巴 数据库连接池监控 可以更具配制访问
http://blog.csdn.net/pk490525/article/details/12621649

==========================================================================

我复制了admin的配置

spring-mvc-web-admin.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"> <!-- spring mvc -->
<context:annotation-config />
<!-- 指定搜索自动装配组件的路径 -->
<context:component-scan base-package="com.fjhb.surveyor.gateway.web.admin" />
<mvc:annotation-driven validator="validator">
<!-- Action参数支持Query特性 -->
<mvc:argument-resolvers>
<bean class="com.fjhb.surveyor.gateway.interceptor.QueryHandlerMethodArgumentResolver"/>
<bean class="com.fjhb.surveyor.gateway.interceptor.BeanPropertyMethodArgumentResolver"/>
</mvc:argument-resolvers> <!-- 增加使用@ResponseBody进行内容输出字符串时的编码为utf-8,以及如果输出javaBean使用FastJson -->
<mvc:message-converters>
<bean class="com.fjhb.surveyor.gateway.interceptor.WrappedFastJsonHttpMessageConverter"/>
</mvc:message-converters>
</mvc:annotation-driven>
<!-- 全局的拦截器用于响应头增加跨域和编码支持 -->
<mvc:interceptors>
<bean class="com.fjhb.surveyor.gateway.interceptor.UserLoginInterceptor"/>
<bean class="com.fjhb.surveyor.gateway.interceptor.GlobalInterceptor" />
</mvc:interceptors>
<mvc:default-servlet-handler />
<!-- 全局的异常拦截器 -->
<bean class="com.fjhb.surveyor.gateway.interceptor.WrappedHandlerExceptionResolver"/>
<!-- spring mvc的文件上传解析,这里的bean的id必须是multipartResolver否则无法使用MultipartHttpServletRequest -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="UTF-8" />
</bean> <bean id="defaultMethodKeyGenerator" class="com.fjhb.surveyor.utils.shell.DefaultMethodKeyGenerator"/>
<bean class="com.fjhb.shell.spring.ShellBeanPostProcessor">
<property name="basePackages" value="com.fjhb.sgk"/>
<property name="shellMethodKeyGenerator" ref="defaultMethodKeyGenerator"/>
</bean>
</beans>

主要是想搞清楚怎么拦截全局异常,以及全局返回值的格式

初识web.xml文件的更多相关文章

  1. web.xml文件加载顺序

    1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Servl ...

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

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

  3. web.xml文件详解

      web.xml文件详解 Table of Contents 1 listener. filter.servlet 加载顺序 2 web.xml文件详解 3 相应元素配置 1 listener. f ...

  4. web.xml 文件配置01

    web.xml 文件配置01   前言:一般的web工程中都会用到web.xml,方便开发web工程.web.xml主要用来配置Filter.Listener.Servlet等.但是要说明的是web. ...

  5. web.xml文件中的web-app元素 部署

    [转载]web.xml文件中的web-app元素 (2012-05-24 13:35:57) 转载▼ 标签: 转载 分类: java 挺全 的 呵呵呵 转了 原文地址:web.xml文件中的web-a ...

  6. WEB项目web.xml文件中classpath: 跟classpath*:使用的区别

    引用一篇很不错的文章:http://blog.csdn.net/wxwzy738/article/details/16983935 首先 classpath是指 WEB-INF文件夹下的classes ...

  7. web.xml文件中加载顺序的优先级

    在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰. 首先可以肯定的是 ...

  8. web.xml文件的作用

    每个javaEE工程中都有web.xml文件,那么它的作用是什么呢?它是每个web.xml工程都必须的吗? 一个web中可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的. ...

  9. web.xml文件中配置ShallowEtagHeaderFilter需注意的问题

    问题现象及解决方法 今天在Spring MVC应用中加入ShallowEtagHeaderFilter时,发现返回的响应中没有etag头,上网查了很多相关资料,也试了很多方法依然不起作用.在查看web ...

随机推荐

  1. [ZZ]39条更好的软件开发方法

    1.重构是程序员的主力技能. 2.工作日志能提升脑容量. 3.先用profiler调查,才有脸谈优化. 4.注释贵精不贵多.杜绝大姨妈般的“例注”.漫山遍野的碎碎念注释,实际就是背景噪音. 5.普通程 ...

  2. [转][html5]网页横屏

    @@media screen and (orientation:portrait){ body{ transform: rotate(90deg); } } 将以上 CSS 加入网页,可以发现手机上查 ...

  3. spring 定时任务 scheduled Cron表达式

    转载:https://blog.csdn.net/u011789653/article/details/51153536 可以借鉴:https://www.cnblogs.com/softidea/p ...

  4. Java常用的线程池

    Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程.newFixe ...

  5. 如何查看yum 安装的软件路径

    1.首先安装一个redis [root@iZbp1eem925ojwyx17ao9kZ ~]# yum install redis 2.查找redis的安装包 [root@iZbp1eem925ojw ...

  6. (转)C# WebApi 身份认证解决方案:Basic基础认证

    原文地址:http://www.cnblogs.com/landeanfen/p/5287064.html 阅读目录 一.为什么需要身份认证 二.Basic基础认证的原理解析 1.常见的认证方式 2. ...

  7. python文件相关

    文件操作基本流程初探 f = open('chenli.txt') #打开文件 first_line = f.readline() print('first line:',first_line) #读 ...

  8. Spark Streaming实时数据分析

    [kfk@bigdata-pro01 softwares]$ sudo rpm -ivh nc-.el6.x86_64.rpm Preparing... ####################### ...

  9. 「NOI2018」屠龙勇士(CRT)

    /* 首先杀每条龙用到的刀是能够确定的, 然后我们便得到了许多形如 ai - x * atki | pi的方程 而且限制了x的最小值 那么exgcd解出来就好了 之后就是扩展crt合并了 因为全T调了 ...

  10. 查看计算机CPU、内存使用情况

    Shift + Ctrl + Esc,打开Windows任务管理器,点击性能,如图: 可以清楚的看到整台机子的CPU.内存使用情况,其中CPU使用记录下有8个小窗口,因为博主的CPU是8核的,讲讲CP ...