我的Tomcat启动正常,但当我在IE中对"http://127.0.0.1:8080/HQ/myportal/HQ/theme/login.jsp?canlogin=true"进行访问时,老是报以下错误:
javax.servlet.ServletException: Cannot find message resources under key page
at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:846)
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
at org.apache.jsp.theme.login_jsp._jspService(login_jsp.java:278)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:696)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:474)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
at com.mdcl.mocha.bpm.portal.container.config.VirtualServerManager.D(Unknown Source)
at com.mdcl.mocha.bpm.portal.container.config.VirtualServerManager.service(Unknown Source)
at com.mdcl.mocha.bpm.portal.container.servlet.ServletController.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.mdcl.mocha.bpm.webcommons.filter.UserinfoFilter.doFilter(UserinfoFilter.java:140)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:534)
我已经检查了,所有的资源文件都在tomcat下啊。
javax.servlet.ServletException: Cannot find message resources under key page
at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:846)
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
at org.apache.jsp.theme.login_jsp._jspService(login_jsp.java:278)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:696)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:474)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
at com.mdcl.mocha.bpm.portal.container.config.VirtualServerManager.D(Unknown Source)
at com.mdcl.mocha.bpm.portal.container.config.VirtualServerManager.service(Unknown Source)
at com.mdcl.mocha.bpm.portal.container.servlet.ServletController.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.mdcl.mocha.bpm.webcommons.filter.UserinfoFilter.doFilter(UserinfoFilter.java:140)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:534)
我已经检查了,所有的资源文件都在tomcat下啊。
at com.mdcl.mocha.bpm.portal.container.config.VirtualServerManager.service(Unknown Source)
at com.mdcl.mocha.bpm.portal.container.servlet.ServletController.service(Unknown Source) at com.mdcl.mocha.bpm.webcommons.filter.UserinfoFilter.doFilter(UserinfoFilter.java:140)
这是你的程序吗?
看看相关的行,贴你的jsp看看
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="com.mdcl.mocha.bpm.webcommons.constant.ISessionAttributeConstant"%>
<%@ taglib prefix="bpm-tags"
uri="http://www.mdcl.com.cn/taglibs/bpm-mvc-tags"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%
String path = request.getContextPath();
%>
<%
/*********************add by taojiang at 2009-03-05****begin********/
//普通用户需通过portal登录后才能访问BPM,否则重定向至portal登陆页
String portalLoginUrl = "http://emisdev.hq.cmcc";
String canlogin=(String)request.getParameter("canlogin");
if("".equals(canlogin)||canlogin==null){
response.sendRedirect(portalLoginUrl);
}
/*********************add by taojiang at 2009-03-05*****end********/
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<HTML xmlns="http://www.w3.org/1999/xhtml">
<bean:message key='admin.page.title' bundle='page'/>
<HEAD><%
javax.servlet.http.Cookie[] t_cookies = request.getCookies();
String t_jsessionid = "";
if(t_cookies != null){
for(int i = 0; i < t_cookies.length; i++) {
javax.servlet.http.Cookie t_cookie = t_cookies[i];
if("JSESSIONID".equals(t_cookie.getName())) {
t_jsessionid = t_cookie.getValue();
break;
}
}
}
%>
<META HTTP-EQUIV="Set-Cookie" CONTENT="JSESSIONID=<%=t_jsessionid%>;expires=Fri, 31 Dec 1999 23:59:59 GMT;path=/">
<LINK href="<%=path%>/css/css.css" type=text/css rel=stylesheet>
<script src="<%=path%>/js/tools.js"></script>
<script src="<%=path%>/js/MD5.js"></script>
<script language="javascript">
function login(){
var password = document.getElementById('ssopassword');
password.value = MD5(password.value,32);
document.loginForm.submit();
return false;
}
function reset(){
document.loginForm.reset();
return false;
}
window.onload = function () {
if(top.location != self.location) {
top.location=self.location;
}
}
</script>
</HEAD>
<BODY class="loginpage">
<form name="loginForm" id="loginForm"
action="<bpm-tags:actionUrl url="/login" windowModel="false"/>"
method="post" AutoComplete="off">
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="520" align="center" valign="middle">
<table width="641" height="365" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="119" colspan="2"><img src="<%=path%>/images/common/login_01.gif" width="641" height="119" /></td>
</tr>
<tr>
<td height="47" colspan="2"><img src="<%=path%>/images/common/login_02.jpg" width="641" height="47" /></td>
</tr>
<tr>
<td width="406" height="110" valign="top"><img src="<%=path%>/images/common/login_03.jpg" width="406" height="110" /></td>
<td width="235" height="110" align="left" background="<%=path%>/images/common/login_04.jpg">
<table width="200" border="0" cellpadding="4" cellspacing="0">
<tr>
<td width="30%" height="26" align="left" class="txt-indigo">用户名:</td>
<td width="70%" align="left" class="txt-indigo"><input id="ssousername" name="ssousername" type="text" size="17" class="login" maxlength="64"
<%
String ssousername = request.getParameter("ssousername");
if(ssousername != null && !"".equals(ssousername)){
%> value="<%=ssousername%>"
<%
}
%>
/></td>
</tr>
<tr>
<td width="30%" height="26" align="left" class="txt-indigo">密 码:</td>
<td width="70%" height="26" align="left" class="txt-indigo"><input id="ssopassword" name="ssopassword" type="password" size="17" class="login" maxlength="16" value="mccbpm"/></td>
</tr>
<tr>
<td height="34" colspan="2" valign="top"><a href="#" onclick="login()"><img src="<%=path%>/images/button/b-login-login.gif" width="75" height="23" border="0" /></a> <a href="#" onclick="reset()"><img src="<%=path%>/images/button/b-login-reset.gif" width="75" height="23" border="0"/></a></td>
</tr>
</table>
</td>
</tr>
<tr valign="top">
<td height="89" colspan="2"><img src="<%=path%>/images/common/login_05.gif" width="641" height="89" /></td>
</tr>
</table> </td>
</tr>
</table>
</form>
<script language="javascript">
window.document.onkeydown = function (){
if (event.keyCode == 13)
{
event.returnValue=false;
event.cancel = true;
login();
}
}
window.onload = function (){
document.getElementById("ssousername").focus();
}
var g_login_tools = new Tools();
<%
String errorCode = null;
errorCode = (String)request.getAttribute("errorCode");
if("0".equals(errorCode)) {
%>
g_login_tools.showAlert('mocha.bpm.login.error');
<%
} else if("1".equals(errorCode)) {
%>
g_login_tools.showAlert('mocha.bpm.login.invalidate');
<%
} else if("2".equals(errorCode)) {
Exception ex = (Exception)request.getAttribute("PORTAL_LOGIN_ERROR");
request.getSession().setAttribute(ISessionAttributeConstant.LICENSE_EXCEPTION_KEY, ex);
%>
g_login_tools.showError('mocha.bpm.common.licenseover','','','<%=path%>/jsp/commons/error.jsp');
<%
} else if("3".equals(errorCode)) {
Exception ex = (Exception)request.getAttribute("PORTAL_LOGIN_ERROR");
request.getSession().setAttribute(ISessionAttributeConstant.LICENSE_EXCEPTION_KEY, ex);
%>
g_login_tools.showError('mocha.bpm.common.licenseNotFound','','','<%=path%>/jsp/commons/error.jsp');
<%
} else if("4".equals(errorCode)) {
Exception ex = (Exception)request.getAttribute("PORTAL_LOGIN_ERROR");
request.getSession().setAttribute(ISessionAttributeConstant.LICENSE_EXCEPTION_KEY, ex);
%>
g_login_tools.showError('mocha.bpm.login.system.error','','','<%=path%>/jsp/commons/error.jsp');
<%
} else if("5".equals(errorCode)) {
Exception ex = (Exception)request.getAttribute("PORTAL_LOGIN_ERROR");
request.getSession().setAttribute(ISessionAttributeConstant.LICENSE_EXCEPTION_KEY, ex);
%>
g_login_tools.showError('mocha.bpm.login.accountdisable.error','','','<%=path%>/jsp/commons/error.jsp');
<%
}
%>
</script>
</BODY>
</HTML>
1、通过检查发现没有编译,也就是在tomcat下没有.class文件;
2、在检查过程中,发现资源文件没有被加载,每次重新加载的时候都加载的是旧的文件;
3、我把所有的项目通过SVN还原,然后再从SVN上更新,在本地重新搭建了开发环境,问题解决.
再次感谢各位的帮助。谢谢!!!