一 1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文. 3.容器将<context-param>转换为键值对,并交给servletContext. 4.容器创建<listener>中的类实例,创建监听器. 二  Load-on-startup Lo…
一 1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文. 3.容器将<context-param>转换为键值对,并交给servletContext. 4.容器创建<listener>中的类实例,创建监听器. 二  Load-on-startup Lo…
一.背景 最近在项目中遇到了启动时出现加载service注解注入失败的问题,后来经过不懈努力发现了是因为web.xml配置文件中的元素加载顺序导致的,那么就抽空研究了以下tomcat在启动时web.xml文件中元素的加载顺序,现在和大家分享. 二.问题剖析和研究结果 遇到这种问题的时候,一般看源码是最直接和最权威的获取答案的方式,根据tomcat架构设计Context的实现类是StandardContext,全称org.apache.catalina.core.StandardContext.看…
一web.xml加载过程(步骤): 1.启动WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: <listener></listener> 和 <context-param></context-param> 2.紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文. 3.容器将<context-param></context-param>转化为键值对…
顺序为: context-param --> listeners --> filters --> servlets(如DispatcherServlet等) 详见<https://www.cnblogs.com/hafiz/p/5715349.html>…
当一个项目启动时,首先是web.xml: 这里面的配置: 为什么要在web.xml中配置struts的过滤器? 因为一个web项目运行的时需要加载的,或者默认的部分配置都会在web.xml中配置,中间件在加载web项目的时候会根据web.xml的配置加载项目需要加载的东西,如过滤器,默认首页,缓存时间等.所以项目运行时候需要通过web.xml的加载,struts的过滤器才能在你项目中使用,action的请求才能被struts拦截到. strut2的工作原理 一个请求在Struts2框架中的处理大…
关于servlet的拦截设置,之前看了好多,说的都不太清除,明白. 最近明白了一些,总的来说就是保证拦截所有用户请求的同时,放行静态资源. 现整理如下: 一.我们都知道在基于Spring的Application中,需要在web.xml中增加下面类似的配置信息: <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </l…
web.xml中配置启动时加载的servlet,load-on-starup 使用servlet来初始化配置文件数据: 在servlet的配置当中,<load-on-startup>1</load-on-startup>的含义是: 标记容器是否在启动的时候就加载这个servlet. 当值为0或者大于0时,表示容器在应用启动时就加载这个servlet: 当是一个负数时或者没有指定时,则指示容器在该servlet被选择时才加载. 即如果你想让一个servlet在系统启动的时候就加载,则…
在web.xml中配置error-page 在web.xml中有两种配置error-page的方法,一是通过错误码来配置,而是通过异常的类型来配置,分别举例如下: 一.   通过错误码来配置error-page <error-page> <error-code>500</error-code> <location>/error.jsp</location> </error-page> 上面配置了当系统发生500错误(即服务器内部错误)…
2011-11-08 16:29 web.xml中配置Spring中applicationContext.xml的方式 使用web.xml方式加载Spring时,获取Spring applicationContext.xml的方式 1.servlet方式加载: [web.xml] <servlet>    <servlet-name>dispatcherServlet</servlet-name>    <servlet-class>org.springfr…
问题: 在web.xml 中配置了 error-page,但是好像不起作用,就是跳转不到指定的页面. 配置信息如下: <!-- 400错误 --> <error-page> <error-code>400</error-code> <location>/WEB-INF/deploy/pms/jsp/error.jsp</location> </error-page> <!-- 404 页面不存在错误 --> &…
5.整合关键-在web.xml中配置监听器来控制ioc容器生命周期 原因: 1.配置的组件太多,需保障单实例 2.项目停止后,ioc容器也需要关掉,降低对内存资源的占用. 项目启动创建容器,项目停止销毁容器. 利用ServletContextListener监控项目来控制. Spring提供了了这样的监控器: 在web.xml配置监听器: <!-- 监听项目的创建和销毁,依据此来创建和销毁ioc容器 --> <!-- needed for ContextLoaderListener --…
代码如下 <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-va…
1.将 commons-logging.jar和 log4j.jar加入你的项目中:2.在src/下创建log4j.properties|log4j.xml文件:3.在web.xml中配置log4j的信息,如下:<context-param>   <param-name>log4jConfigLocation</param-name>   <param-value>/WEB-INF/classes/log4j.properties</param-val…
最近为了改一个问题,想加一个控制开关,就在web.xml 中配置了一个 <context-param> 参数,并在 Action 或 Interceptor 中获取参数值. 1.在 web.xml 中添加配置项: <context-param> <param-name>test</param-name> <param-value>true</param-value></context-param> 2.获取配置参数值的代码…
是在tomcat的web.xml中配置,而不是在你的%web-project-root%/WEB-INF/web.xml中! 示例 <welcome-file-list> <welcome-file>Login.jsp</welcome-file> <welcome-file>User/Index.jsp</welcome-file> <welcome-file>Manage.jsp</welcome-file> <…
一 1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文. 3.容器将<context-param>转换为键值对,并交给servletContext. 4.容器创建<listener>中的类实例,创建监听器. 二  Load-on-startup Lo…
BIMFACE二次开发系列目录     [已更新最新开发文章,点击查看详细] 在前一篇博客<C#开发BIMFACE系列49 Web网页集成BIMFACE应用的技术方案>中介绍了目前市场主流的Web开发技术与应用框架,其中前端脚本的应用在国内分2大派系 jQuery 与 Vue.js. 本篇博客主要介绍Web网页中使用jQuery加载模型与图纸以及其他的应用开发. 步骤1:下载并引用 jQuery.js jQuery 官方目前发布的版本已经到3.X 但是jQuery从2.0开始不兼容IE8,最低…
1.为什么需要控制加载顺序 springboot遵从约定大于配置的原则,极大程度的解决了配置繁琐的问题.在此基础上,又提供了spi机制,用spring.factories可以完成一个小组件的自动装配功能. 在一般业务场景,可能你不大关心一个bean是如何被注册进spring容器的.只需要把需要注册进容器的bean声明为@Component即可,spring会自动扫描到这个Bean完成初始化并加载到spring上下文容器. 而当你在项目启动时需要提前做一个业务的初始化工作时,或者你正在开发某个中间…
这次是手工建立的web工程目录,在配置webapp/WEB-INF/web.xml的Spring MVC的DispatcherServlet时,在servlet-name上报错:Servlet should have a mapping 解决:File-->Project Structure-->Modules-->Web-->Deployment Descriptors-->右边加号,新添加一个,像下面这样 参考:http://www.cnblogs.com/thinkin…
Tomcat启动过程原理详解 发表于: Tomcat, Web Server, 旧文存档 | 作者: 谋万世全局者 标签: Tomcat,原理,启动过程,详解 基于Java的Web 应用程序是 servlet.JSP 页面.静态页面.类和其他资源的集合,它们可以用标准方式打包,并运行在来自多个供应商的多个容器(诸如tomcat).Web 应用程序存在于结构化层次结构的目录中,该层次结构是由 Java Servlet 规范定义的.Web 应用程序的根目录包含直接存储或存储在子文件夹中的所有公共资源…
我们知道spring在web.xml中可以有三种方式来配置其xml路径:org.springframework.web.servlet.DispatcherServletorg.springframework.web.context.ContextLoaderListenerorg.springframework.web.context.ContextLoaderServlet当 使用第一种方式配置时,spring载入的WebApplicationContext是隶属于此Servlet的(所以s…
1.两个servlet或者两个servlet-mapping,其中的servlet-name名称不能存在相同. 2.所有的servlet-mapping标签下,url-pattern中包含的文本不能相同. 3.两个或者多个servlet执行先后顺序的问题(以三个为例) 无论三个servlet标签的顺序如何,首先执行的一定是url-pattern中文本与浏览器地址栏路径最接近的那个相对应的servlet. 上图说话 <?xml version="1.0" encoding=&quo…
在web.xml单个servlet中配置的数据的存取 存: <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>CreateServletConte…
web.xml是web应用中载入有关servlet信息的重要配置文件,起着初始化servlet,filter等web程序的作用. 通常,全部的MVC框架都须要Web应用载入一个核心控制器.那採取什么方法载入这种核心控制器呢,servlet或filter成为了非常好的选择. 由于它们会随着web服务的启用而自己主动的载入. 对于Struts 2框架而言.须要载入FilterDispatcher, 仅仅要Web应用负责载入FilterDispatcher,FilterDispatcher将会载入应用…
首先可以肯定 加载顺序与他们在web.xml 文件中的先后顺序无关. web.xml 中 listener 和 serverlet 的加载顺序为 先 listener 后serverlet最终得出结果:先 listener >> filter >> servlet >> spring…
15:34:42 <servlet> <description></description> <display-name>ListMusicServlet</display-name> <servlet-name>ListMusicServlet</servlet-name> <servlet-class>com.wlc.ListMusicServlet</servlet-class> </s…
<servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 指定加载的配置文件 ,通过参数contextConfigLocation加载--> <init-param> <param-name>conte…
问题的产生: <!--springMVC前端控制器加载--> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!--contextConfigLocation配置SpringMVC加载的配置文件(配置处理器,映射器等等…
通常我们在开发完成一个SpringBoot项目时,总是要打包部署的. 在启动SpringBoot应用时,我们常常会使用命令java -jar xxx.jar来启动这个服务. 命令java -jar 除了启动应用之外,还可以在命令中指定应用的参数,比如一下带参数的命令: (1)java -jar xxx.jar --server.port=8081,直接以命令的方式来设置服务的访问端口server.port属性,将端口设置为8081; (2)java -jar -Xms1024m -Xmx1024…