tomcat http status 500错误

MagicLuobo 2008-02-23 02:39:11
type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.NullPointerException
java.lang.String.indexOf(Unknown Source)
java.lang.String.indexOf(Unknown Source)
org.apache.struts.taglib.logic.MatchTag.condition(MatchTag.java:158)
org.apache.struts.taglib.logic.MatchTag.condition(MatchTag.java:100)
org.apache.struts.taglib.logic.ConditionalTagBase.doStartTag(ConditionalTagBase.java:174)
admin.host.hosts_jsp._jspService(hosts_jsp.java:178)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.webapp.admin.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:123)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.26 logs.

快帮我看看啊,头疼到现在了
...全文
1446 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
LaoBai_2006 2008-08-28
  • 打赏
  • 举报
回复
我认为问题得到了解决,但仍然对问题的产生感到疑惑。
简单来说,是一对双引号的问题。参见源文件:
apache-tomcat-5.5.26-src.tar.gz\apache-tomcat-5.5.26-src\container\webapps\admin\WEB-INF\classes\org\apache\webapp\admin\host\DeleteHostAction.java
...
String adminHost = null;
// Get the host name the admin app runs on
// this host cannot be deleted from the admin tool
try {
adminHost = Lists.getAdminAppHost(
mBServer, "domain" ,request);
} catch (Exception e) {
String message =
resources.getMessage(locale, "error.hostName.bad",
adminHost);
getServlet().log(message);
response.sendError(HttpServletResponse.SC_BAD_REQUEST, message);
return (null);
}
request.setAttribute("adminAppHost", adminHost);
...

之所以在 hosts.jsp 中 (String)request.getAttribute("adminAppHost") 得到的是空引用,因为 setAttribute("adminAppHost", adminHost) 这里的 adminHost 就是 null。也就是 Lists.getAdminAppHost(mBServer, "domain", request) 这次静态方法调用返回的是 null。
极其偶然地,我发现,上述代码的作用域内有个变量叫 domain,最后的事实也证明,将第二个参数的双引号去掉后,该功能可以正常使用了。
简单来说,临时解决该问题的方法就是:获得源代码,按照上述方式删除一对双引号,重新编译部署。
我仍然不敢相信问题是这样被自己解决的,尽管 Tomcat Admin Tool 现在能正常工作了……
LaoBai_2006 2008-08-27
  • 打赏
  • 举报
回复
那个,环境是 Windows 2000 SP4 下的 Tomcat 5.5.26,我倒是通过 Google 到的信息和记事本完成了配置工作,不过仍然想探究一下官方的东西为什么不好使……
LaoBai_2006 2008-08-27
  • 打赏
  • 举报
回复
有过则改:源代码其实就在官方的提供的 apache-tomcat-5.5.26-src.tar.gz 里。
apache-tomcat-5.5.26-src.tar.gz\apache-tomcat-5.5.26-src\container\webapps\admin 之下就是 Tomcat Web Server Administration Tool 的全部源代码了。
在 hosts.jsp 中发现如下一段:
<logic:match name="host"
value='<%= (String)request.getAttribute("adminAppHost") %>'>
<font color='red'>*</font>
</logic:match>
<logic:notMatch name="host"
value='<%= (String)request.getAttribute("adminAppHost") %>'>
<label for="hosts"></label>
<html:multibox property="hosts"
value="<%= host.toString() %>" styleId="hosts"/>
</logic:notMatch>
个人感觉和 stack trace 比较搭调,可是这方面我完全不了解,向大家学习了。
另外,偶然发现 %CATALINA_HOME%\logs\catalina.2008-08-27.log 会出现:
2008-8-27 21:35:34 org.apache.struts.action.RequestProcessor processMapping
严重: Invalid path was requested /login
2008-8-27 21:35:42 org.apache.struts.action.RequestProcessor processMapping
严重: Invalid path was requested /frameset
而我个人认为她实际上 request 的应该是 /login.jsp 和 /frameset.jsp,最后页面也的确显示出来了,可这异常的截断是怎么回事就不知道了……
snakejinx 2008-08-22
  • 打赏
  • 举报
回复
代码编写的有问题
LaoBai_2006 2008-08-22
  • 打赏
  • 举报
回复
我最近也遇到同样的问题了,重装 Tomcat ,然后重新解压 admin 的 zip 包,但问题依旧……我没有通过官方途径找到 admin application 的源代码,但是本着学习精神反编译了一下 admin.host.hosts_jsp.class,看得我那个头疼啊,最后也只知道是试图生成 Host 列表的时候解析 Tag 出错……可这不用看源码也知道……
w39509027 2008-02-25
  • 打赏
  • 举报
回复
只有一个空指针异常,没有源文件,没有办法啊!要不就传源文件上来!
cookiespower 2008-02-25
  • 打赏
  • 举报
回复
建议重新安装吧
MagicLuobo 2008-02-25
  • 打赏
  • 举报
回复
我没有项目啊,该怎么办
睿音 2008-02-23
  • 打赏
  • 举报
回复
要是没有项目部署在上边出的问题,最简单的解决方法。删掉。重新解压一个。
MagicLuobo 2008-02-23
  • 打赏
  • 举报
回复
我完全按照安装方法来的,就是进入tomcat界面后,选delete exsiting hosts时出来的错误,我还什么都没编呢
dracularking 2008-02-23
  • 打赏
  • 举报
回复
java.lang.String.indexOf(Unknown   Source) 


检查看看是不是前面的java.lang.String对象或者方法参数为null
睿音 2008-02-23
  • 打赏
  • 举报
回复
信息不够。仅知道是java.lang.NullPointerException,空指针溢出。
lz详细描述下吧,不然没法回答

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧