Tomcat启动Struts2.3.16+Spring3.2+Hibernate4项目时启动超级慢,请教

问题描述

启动的时候,发现Tomcat7.0.50用了大量的时间去加载mime,而且每次执行一个action请求,它就疯狂的再来加载mime,服务器加载日志Initializing Spring root WebApplicationContext定在这里,打印信息如下:<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="2.4" metadata-complete="true"> <display-name>Struts 2 - Maven Archetype - Starter</display-name> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:applicationContext*.xml</param-value> </context-param> <filter> <filter-name>struts2-prepare</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</filter-class> <async-supported>false</async-supported> </filter> <filter> <filter-name>sitemesh</filter-name> <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class> <async-supported>false</async-supported> </filter> <filter> <filter-name>struts2-execute</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter</filter-class> <async-supported>false</async-supported> </filter> <filter-mapping> <filter-name>struts2-prepare</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>sitemesh</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>struts2-execute</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>jsp</servlet-name> <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> <init-param> <param-name>fork</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>xpoweredBy</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>classdebuginfo</param-name> <param-value>true</param-value> </init-param> <load-on-startup>3</load-on-startup> </servlet> <servlet> <servlet-name>default</servlet-name> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>jsp</servlet-name> <url-pattern>*.jsp</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>jsp</servlet-name> <url-pattern>*.jspx</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <session-config> <session-timeout>30</session-timeout> <cookie-config> </cookie-config> </session-config> <mime-mapping> <extension>fh7</extension> <mime-type>image/x-freehand</mime-type> </mime-mapping> <mime-mapping> <extension>fh5</extension> <mime-type>image/x-freehand</mime-type> </mime-mapping>...这里省略N多的mime加载 <welcome-file-list> <welcome-file>index.jsp</welcome-file> <welcome-file>default.jsp</welcome-file> <welcome-file>index.html</welcome-file> </welcome-file-list>我只部署了一个项目,我想不明白这个mime加载时设置在哪里的,我有什么办法避免这个问题。

解决方案

楼主你好,这类MIME的信息,是配置在tomcat的conf目录下的web.xml文件中,<!-- ===================== Default MIME Type Mappings =================== --> <!-- When serving static resources, Tomcat will automatically generate --> <!-- a "Content-Type" header based on the resource's filename extension, --> <!-- based on these mappings. Additional mappings can be added here (to --> <!-- apply to all web applications), or in your own application's web.xml --> <!-- deployment descriptor. --> <mime-mapping> <extension>123</extension> <mime-type>application/vnd.lotus-1-2-3</mime-type> </mime-mapping> <mime-mapping> <extension>3dml</extension> <mime-type>text/vnd.in3d.3dml</mime-type> </mime-mapping> <mime-mapping> <extension>3g2</extension> <mime-type>video/3gpp2</mime-type> </mime-mapping>这类配置主要用来影响静态资源时生成Content-Type的。所以你看到的都是这里配置的。每个部署在Tomcat中的Java Web应用,其配置最终是WEB-INF/web.xml和tomcat自带的这个web.xml合并起来生成具体的配置信息的。你可以手动修改它。
解决方案二:
好像有一个配置文件,配置一个监听器
解决方案三:
看你的spring配置文件是否配置在启动时候检查表了,更新表结构之类的如:<prop key="hibernate.hbm2ddl.auto">update</prop>

时间: 2024-10-05 19:04:02

Tomcat启动Struts2.3.16+Spring3.2+Hibernate4项目时启动超级慢,请教的相关文章

spring4.0.2+hibernate4.3.5+struts2.3.16.1+c3p0集成SSH入门精简official

之前写过一篇类似的文章,现在回过头来看很糟糕. 很多人在第一次大框架的时候感到很迷茫,包括本人.尤其是jar包的问题,那么多,到底哪些该加,哪些不该加.网上虽然有很多教程和文章,但都是把一堆jar包垒上,然后给出一个demo.诺,照这样做,框架就搭好了.看,我还加了cglib,aspectj呢. 其实,新手应该从搭一个SSH的最小系统开始,以后熟练了,再玩点高大上的,用aspectj,cglib之类的. 什么是最小系统? 计算机或计算机相关专业都学过单片机,单片机有个最小系统,它由三个部分组成:

【项目启动】 tomcat启动,项目无法启动,无法正常访问/项目可以启动,报错:java.lang.ClassNotFoundException: ContextLoaderListener

使用maven搭建项目(这个错误和是不是使用maven搭建项目没有关系),然后部署到tomcat中运行.   出现问题1: tomcat跑起来了,但是启动时间很短,没有报错,项目不能正常访问 项目启动时间很短,并且没有报错 并且项目无法正常访问   发现问题过程: 查看tomcat下,发现这个项目在tomcat的webapps下部署的仅仅是项目的部分文件,有好多的东西并没有部署进来 我们发现tomcat下部署的本项目中 并没有lib依赖包库 等目录.   解决途径: 因此我们需要通过  使用de

activiti自定义流程之Spring整合activiti-modeler5.16实例(六):启动流程

注:(1)环境搭建:activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建        (2)创建流程模型:activiti自定义流程之Spring整合activiti-modeler5.16实例(二):创建流程模型         (3)流程模型列表展示:activiti自定义流程之Spring整合activiti-modeler5.16实例(三):流程模型列表展示        (4)部署流程定义:activiti自定义流程之Spring整

tomcat启动c3p0出现如下代码,项目不能启动

问题描述 tomcat启动c3p0出现如下代码,项目不能启动 2016-3-29 20:31:28 com.mchange.v2.c3p0.C3P0Registry banner 信息: Initializing c3p0-0.9.1 [built 16-January-2007 14:46:42; debug? true; trace: 10] 2016-3-29 20:31:30 org.springframework.orm.hibernate3.LocalSessionFactoryBe

ssh整合-使用spring3.X+Hibernate4.X来做项目,报异常 No Session found for current thread

问题描述 使用spring3.X+Hibernate4.X来做项目,报异常 No Session found for current thread org.hibernate.HibernateException: No Session found for current thread at org.springframework.orm.hibernate4.SpringSessionContext.currentSession(SpringSessionContext.java:97) at

服务器端-tomcat和struts2+hiberbate有什么区别?

问题描述 tomcat和struts2+hiberbate有什么区别? tomcat和struts2+hiberbate有什么区别? 对于android客户端程序通用吗 解决方案 tomcate是Servlet容器,也就是我们通常说的web服务器. struts2是控制层框架,是基于MVC模式的框架,它依赖于tomcate容器的,因为struts2的本质就是Servlet的. 而hibernate是持久化层框架,是独立的框架,可以单独使用的,即可以在非Web工程中使用hibernate的,这个主

java struts2-不知道为什么今天启动struts2练习项目都出错了,都是同一个错误。

问题描述 不知道为什么今天启动struts2练习项目都出错了,都是同一个错误. Unable to load configuration. - file:/D:/Program%20Files/Java/apache-tomcat-6.0.32/webapps/strutsdemo3/WEB-INF/classes/struts.xml:17:10 at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:502) at o

tomcat-Eclipse中Tomcat能正常启动,但是在debug模式中不能正常启动。

问题描述 Eclipse中Tomcat能正常启动,但是在debug模式中不能正常启动. 解决方案 症状: tomcat在eclipse里面能正常启动,而在浏览器中访问http://localhost:8080/不能访问,且报404错误.同时其他项目页面也不能访问. 关闭eclipse里面的tomcat,在tomcat安装目录下双击startup.bat手动启动tomcat服务器.访问htt://localhost:8080/能正常访问tomcat管理页面. 症状原因: ?????? e.....

web.xml-在线等,在eclipse中引入其他项目,启动tomcat报错

问题描述 在线等,在eclipse中引入其他项目,启动tomcat报错 SEVERE: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardCon