当前位置: 首页 > 编程日记 > 正文

tomcat报 Context [] startup failed due toprevious errors

今天同事在实施项目中,遇到一个问题,就是项目布到tomcat服务器上了,却总是找不到访问路径.tomcat报 Context [] startup failed due toprevious errors

当时就觉的很郁闷,项目是本机测试完整打包的.按以前的项目实施也很少出现这样的问题.在网上搜索以下解决方案:

------解决方法-------------------------------------------------
Tomcat缓存清下试试

------解决方法------------------------------------------------
这种情况,很有可能是你的应用中,class是脏的。或者有些java文件根本没

有通过编译器检查。
请clean之后再编译看看。

------解决方法-------------------------------------------------

框架搭建好后,启动服务器出现如下的信息:

log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester).

log4j:WARN Please initialize the log4j system properly.

2009-11-6 21:39:17 org.apache.catalina.core.StandardContext start

严重: Error listenerStart

2009-11-6 21:39:17 org.apache.catalina.core.StandardContext start

严重: Context startup failed due to previous errors

2009-11-6 21:39:17 org.apache.catalina.core.StandardHostDeployer install

信息: Installing web application at context path /tomcat-docs from URL file:D:/server/Tomcat 5.0/webapps/tomcat-docs

2009-11-6 21:39:17 org.apache.catalina.core.StandardHostDeployer install

信息: Installing web application at context path /webdav from URL file:D:/server/Tomcat 5.0/webapps/webdav

。。。。

 

可能出错的地方:

1.web.xml文件   web应用部署描述符,里面的部署的xml文件或者类,如果这些找不到就会发生startup failed due to previous errors错误。

2.如果在应用spring的话,在配置文件applicationContext.xml中定义的类、xml文件找不到也会报这个错误。

3.在web.xml,struts.xml,applicationContext.xml文件中自身有任何一点错误都可能引起上面的这个问题,而不仅仅是附带的文件错误导致。

4.如果使用ibatis的话,在SqlMapConfig.xml中定义的xml文件找不到也会报这个错误。(hibernate的配置在整合spring的时候使用spring的配置文件)

5.JDK的版本问题,最好使用JDK5.0 或者更高的版本。

6.Eclipse和tomcat的版本兼容问题

7.框架整合的过程中在导入到lib下的jar包冲突也可能产生该错误。

8.jar包的缺少以及jar包的版本也可产生该错误。

9.其他的原因

解决该问题的途径:

由于上面问题可能已经是web服务器内部产生了错误,而且IDE中的Log信息较少,问题的解决很难入手。

而该问题的产生经常会导致页面跳转寻找不到文件的 Http 404 错误。。。。。

可以通过在tomcat中添加log文件来让log信息提示的更精确一些,即设置log输出的等级。

/usr/local/tomcat2/webapps/digital/WEB-INF/classes/log4j.properties

log4j.properties配置如下(配置是转载):

log4j.rootLogger=info,Console,R

log4j.appender.Console=org.apache.log4j.ConsoleAppender

log4j.appender.Console.layout=org.apache.log4j.PatternLayout

#log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

log4j.appender.Console.layout.ConversionPattern=%d{yy-MM-dd HH:mm:ss} %5p %c{1}:%L - %m%n

log4j.appender.R=org.apache.log4j.DailyRollingFileAppender

log4j.appender.R.File=${catalina.home}/logs/tomcat.log

log4j.appender.R.layout=org.apache.log4j.PatternLayout

log4j.appender.R.layout.ConversionPattern=%d{yyyy.MM.dd HH:mm:ss} %5p %c{1}(%L):? %m%n

log4j.logger.org.apache=info,R

log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=DEBUG, R

log4j.logger.org.apache.catalina.core=info,R

log4j.logger.org.apache.catalina.session=info,R

这么改完日志信息老全了,就是怕太全了,以后把硬盘空间点没,所以我保留了下旧版的配置信息:

#log4j.rootLogger=info,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.conversionPattern=%5p [%t] - %m%n
#
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=c:/subject.log
log4j.appender.file.MaxFileSize=100KB
log4j.appender.file.MaxBackupIndex=0
log4j.appender.file.layout=org.apache.log4j.SimpleLayout
log4j.appender.file.layout.ConversionPattern=[ssh] %p %t %c - %m%n
#
log4j.logger.com.ibatis=debug,ibatis
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug,ibatis
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug,ibatis
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug,ibatis
#
log4j.logger.java.sql.Connection=debug,ibatis
log4j.logger.java.sql.Statement=debug,ibatis
log4j.logger.java.sql.PreparedStatement=debug,stdout,ibatis
log4j.logger.java.lang.Exception=debug,ibatis
#
log4j.appender.ibatis=org.apache.log4j.RollingFileAppender
log4j.appender.ibatis.File=c:/ibatis.log
log4j.appender.ibatis.MaxFileSize=100KB
log4j.appender.ibatis.MaxBackupIndex=0
log4j.appender.ibatis.layout=org.apache.log4j.SimpleLayout
log4j.appender.ibatis.layout.ConversionPattern=[ssh] %p %t %c - %m%n

log4j.logger.com.opensymphony.xwork2=ERROR

2.将log4j-1.2.15.jar和commons-logging.jar包拷贝到。。。Apache Software Foundation/Tomcat 5.5/common/lib下即可。

做好上面两步,启动服务器的时候,会在tomcat的安装路径下的。。Apache Software Foundation/Tomcat 5.5/logs下自动的

生成tomcat.log文件以记录日志信息。

注:tomcat.log文件中的日志信息会记载很多,如果过大就可能产生磁盘空间不足的问题,建议定时的清除日志信息。

通过上面的日志文件信息可以定位到比较具体的问题根源,在仔细的查看问题一一攻破即可解决。

我在搭建框架之后,在web.xml文件中配置的欢迎页面显示的时候报404的错误,通过上面的途径找到了两个错误,虽然花了两天的时间,最终还是解决了。


------解决方法-------------------------------------------------
看看tomcat的log看看是什么问题

按上面的,我都操作了,最后查看了tomcat的log,服务器报了
严重: Error listenerStart,然后跟踪搜索,才明白,是自己的是applicationContext.xml 的 dataSource  问题,数据库地址写错了.呵呵,一个细节问题.忙了一个上午

附一下李同事犯的错误:

2-02-14 23:17:38  INFO DriverManagerConnectionProvider:170 - cleaning up connection pool: jdbc:jtds:sqlserver://192.168.88.138:1433;DatabaseName=szhxy_db
12-02-14 23:17:38 ERROR ContextLoader:215 - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlMapClient' defined in file [/usr/local/tomcat1/webappsital/WEB-INF/classes/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.RuntimeException: Error occurred.  Cause: com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'.  Cause: com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMap/resultMap/result'.  Cause: com.ibatis.common.beans.ProbeException: There is no WRITEABLE property named 'lx' in class 'com.dsideal.xspj.bean.XspjPytype'
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1336)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:471)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:220)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
        at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)


相关文章:

DataGrid中自带的分页功能的使用

作者:木子 http://blog.csdn.net/derny/1、把AllowPaging属性设置为true 并设置PageSize的大小 2、在html页面中设置datagrid的属性OnPageIndexChanged"DataGrid_Page" // //DataGrid_Page 为点击页数的时候激发的事件 3、在程序中加入代码如下&…

34补1-2_3 HA Cluster基础及heartbeat实现HA

HA Cluster基础及heartbeat实现HA配置环境node1:192.168.1.121CentOS6.7node2:192.168.1.122CentOS6.7node3:192.168.1.123CentOS6.7vip 192.168.1.80配置前准备# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 loc…

关于SSL配置的报告

作者:网际浪子专栏(曾用名littlehb) http://blog.csdn.net/littlehb/一,服务器上装有CA(Certificate Server) 1,服务器上安装CA Win2000中带有CA的安装程序。单击Start,Control Pannel Add/Remove Prog…

认知智能,AI的下一个十年 | AI Procon 2020

整理 | 屠敏 出品 | AI科技大本营(ID:rgznai100) 60 年间的「三起两落」 ,人工智能的沉浮变迁。 在 1956 年的夏天,人工智能在美国达特茅斯大学召开的学术会议之上蹒跚学步,吸引无数研究学者对其智能化的探索以及未来美…

STL 队列queue

q.front() 返回队头元素 q.push(a) 将元素a入队 q.pop() 队头元素出队 q.empty() 如果队列为空 返回ture 否则返回false转载于:https://www.cnblogs.com/xujian9502/archive/2012/02/19/2358055.html

OpenCV——使用ROI进行图像切割

ROI(region of interest)——感兴趣区域。 1.用途 这个区域是图像分析所关注的重点。圈定这个区域,以便进行进一步的处理。而且,使用ROI指定 想读入的目标,可以减少处理时间,增加精度,给图像处理…

Asp.net动态生成html页面

作者:网际浪子专栏(曾用名littlehb) http://blog.csdn.net/littlehb/适用于:Microsoft ASP.NET 摘要:asp.net动态生成html页面,适用 简介 此功能适用于后台数据库功能不强的web站点,即大部分文本不是存放在数据库的…

View 5.1 重装上阵(4—基础架构篇)

从底层架构方面来看,VIEW 5.1最大的改进在于引入了Content-Based Read Cache(CBRC) 技术,大大降低了部署桌面虚拟化所带来的IOPS风暴,同时大大降低了对于存储的压力和成本,可谓桌面虚拟化领域的一大福音。 在以往的桌面虚拟化项目…

再见了,Python!!

结合我最近这些年的 Python 学习、开发经验,发现近90%的程序员在学 Python 时都会遇到下面这3个问题:1.想学Python,但不知从何学起,应用方向太多了也不知道该选择什么方向...2.基础入门看似简单,但是进阶实战就举步维艰…

alert在asp.net中如何使用??

改成这样&#xff1a;string str"<script languagejavascript>alert(省局数据不能进行修改&#xff01;);</script>";Page.RegisterStartupScript("dd",str); 提示成功后转到别的页面Response.Write("<script>window.alert(提示语…

.NET工程师必须掌握的知识点

以下内容是转载的 Microsoft SQL Server 数据库 一、创建和维护数据库 1、数据库 SQL Server 数据库的组成部分&#xff1f;&#xff08;参见联机丛书&#xff09;   如何保证数据库的完整性、安全性、并发性&#xff1f;   数据库设计创建步骤&#xff1f;&#xff08;参见…

@程序员:这些瓜没吃到,可以告别互联网了!

最近&#xff0c;程序员届有一个重大好消息&#xff0c;可能很多人还不知道&#xff0c;那就是&#xff1a;国内某些城市已经开始程序员人才补贴了&#xff01;对于人工智能公司的项目开发、人才引进、科技研发&#xff0c;最高按照国拨经费的30%给予配套支持&#xff0c;单个项…

日志分析工具splunt

实验环境 网关 classroom 172.25.8.254 workstation 172.25.8.9 server a-jeth0 172.25.8.10-外网 eth1 192.168.0.x内网 eth2 192.168.1.x备用 -------------------------------------------- 需求&#xff1a; 设计&#xff1a; 原理&#xff1a;日志的作用&#xff0c;1&a…

正则表达式语法规则收集

turnmissile 的 Blog http://blog.csdn.net/turnmissile/ Microsoft已经把正则表达式的规则收录在了msdn里面了&#xff0c;有兴趣的朋友可以自己去研究一下(ms-help://MS.MSDNQTR.2003OCT.1033/cpgenref/html/cpconRegularExpressionsLanguageElements.htm)&#xff0c;这里罗…

Python实现信息自动配对爬虫排版程序

作者 | 李秋键责编 | 晋兆雨头图 | CSDN付费下载自视觉中国在很多的公司项目中&#xff0c;常常有很多对office项目的比较机械化的操作&#xff0c;在这里就可以借助python实现对office的合理排版。而这里我们就将借助海尔公司的出货表爬取对应图片信息&#xff0c;并重新排版成…

关于2012年度土建工程专业中级专业技术资格考试有关问题的通知

关于2012年度土建工程专业中级专业技术资格考试有关问题的通知 现将2012年度土建工程专业初、中级专业技术资格考试、报名、培训工作有关事项通知如下&#xff1a; 一、考试组织 湖南省住房和城乡建设厅、省人力资源和社会保障厅联合成立领导小组&#xff0c;负责对考试工作进行…

Android自定义控件NumberCircleProgressBar(圆形进度条)的实现

Android自定义控件NumberCircleProgressBar(圆形进度条)的实现

做出的C++选择以及背后的原因

要让出资人明白你做出的C选择以及背后的原因。也许出资人会有更容易操作、更快实现的好主意。3、为你提供的日期说明信心范围。很可能管理层不明白你的估算意味着什么&#xff0c;而且你也有可能不理解他们所要的东西。 2&#xff0e;变量的C使用范围每个变量的使用范围只在定义…

拖放 DataGrid 列--来自MSDN

发布日期&#xff1a; 09/19/2004| 更新日期&#xff1a; 09/19/2004Chris SanoMicrosoft Corporation 摘要&#xff1a;了解如何利用基本的 GDI 功能&#xff0c;从而通过 DataGrid 控件获得可视化效果。通过跨越托管边界进行调用&#xff0c;可以利用本机 GDI 功能来执行屏幕…

最近很火的最新一代国际视频标准 VVC 到底是什么?阿里专家为你揭秘

作者 | 叶琰&#xff0c;阿里巴巴达摩院XG实验室视频标准团队负责人责编 | 夕颜头图 | CSDN付费下载自视觉中国2020年7月1日晚上&#xff08;日内瓦时间&#xff09;&#xff0c;第十九次JVET会议在线上落下帷幕&#xff0c;新一代国际视频编码标准VVC第一版&#xff08;Versat…

nesC编程入门

1.接口 NesC程序主要由各式组件&#xff08;component&#xff09;构成&#xff0c;组件和组件之间通过特定的接口&#xff08;interface&#xff09;互相沟通。一个接口内声明了提供相关服务的方法&#xff08;C语言函数&#xff09;。例如数据读取接口&#xff08;Read&#…

用asp.net实现的把本文推荐给好友功能

作者&#xff1a; 飞鹰 www.ASPCool.com 时间:2001-11-25 17:39:07 ///<summary> ///<author>飞鹰ASPCool.com</author> ///<description>本文用asp.net实现把此文推荐给好友的功能。</desciption> ///<copyright>ASP酷技术资讯…

Access sql语句创建表及字段类型

创建一张空表&#xff1a; Sql"Create TABLE [表名]" 创建一张有字段的表&#xff1a; Sql"Create TABLE [表名]([字段名1] MEMO NOT NULL, [字段名2] MEMO, [字段名3] COUNTER NOT NULL, [字段名4] DATETIME, [字段名5] TEXT(200), [字段名6] TEXT(200)) 字段类…

“刚毕业1年,做Python能挣多少?”网友:吹的不多..

01现状揭秘&#xff1a;Python的火持续燃烧程序员&#xff1a;心态崩了&#xff01;2020年转眼已经大半&#xff0c;在近几个月的榜单中&#xff0c;Python已经连续走上卫冕的道路&#xff0c;并且与Java的差距拉得更远了一些。以往与Java常呈现你追我赶之势&#xff0c;而这一…

Java编程的逻辑 (39) - 剖析LinkedList

本系列文章经补充和完善&#xff0c;已修订整理成书《Java编程的逻辑》&#xff0c;由机械工业出版社华章分社出版&#xff0c;于2018年1月上市热销&#xff0c;读者好评如潮&#xff01;各大网店和书店有售&#xff0c;欢迎购买&#xff0c;京东自营链接&#xff1a;http://it…

运用.NET读写Windows注册编辑表

作者&#xff1a; 冉林仓 www.ASPCool.com 时间:2001-11-9 如果你曾经使用过RegOpenKeyEx、RegCreateKeyEx、RegCloseKey等Win32 API函数读写过注册编辑表&#xff0c;你肯定非常熟悉这些复杂的Registry函数。相反&#xff0c;在.NET框架中&#xff0c;Registry和RegistryK…

使用正则表达式抽取新闻/BBS网页发表时间

package org.apache.nutch.parse.html; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 分析时间戳 * * author xum * */ public class Publish…

为什么Python没有main函数?

作者 | 豌豆花下猫来源 | Python猫&#xff08;ID:python_cat&#xff09;众所周知&#xff0c;Python中没有所谓的main函数&#xff0c;但是网上经常有文章提到“ Python的main函数”和“建议编写main函数”。其实&#xff0c;可能他们是想模仿真正的main函数&#xff0c;但是…

HTTP访问服务的相关解释

一、访问网站的基本流程第一步&#xff1a;客户端用户在浏览器输入www.51cto.com网站&#xff0c;回车后&#xff0c;系统首先会查找系统本地的DNS缓存及hosts文件信息&#xff0c;确定是否存在www.51cto.com余名对应的IP解析记录&#xff0c;如果有就直接获取IP地址&#xff0…

关于ASP.Net中的时间处理

作者&#xff1a; 飞刀 www.ASPCool.com 时间:2001-8-8 这里我想谈谈ASP.Net中对时间的处理 在ASP.Net中&#xff0c;M$为我们提供一种名为DateTime的对象&#xff0c;我们用这个对象来取得当前的时间。比如&#xff1a; DateTime dtDateTime.Now; 在上面…