【发布时间】:2015-10-27 02:29:53
【问题描述】:
我继承了一个在 Glassfish 下运行的巨大的本土 MVC Java Web 应用程序,我正在尝试向它添加一个新的 servlet,但出现错误
“无法找到映射:
/VSDHosts/app/LegacyBulkLookup的<servlet-name>元素”
在server.log 文件中。我不明白为什么它找不到它,因为看起来我做的和现有的 servlet 完全一样,而我的 web.xml 有
<servlet-name>LegacyBulkLookup</servlet-name>
<jsp-file>/WEB-INF/legacy/legacyBulkLookup.jsp</jsp-file>
和
<servlet-mapping>
<servlet-name>AppController</servlet-name>
<url-pattern>/app/*</url-pattern>
</servlet-mapping>
在 AppController.class 中有一个名为 processRequest 的方法。它基本上是一个巨大的 if/else if 子句。其中一个句柄legacyBulkLookup 如下:
} else if (resource.equals("LegacyBulkLookup") ) {
forwardToo = resource;
最后还有另一个 if 语句,它大概会将收集到的所有会话数据发送到我创建的视图 (legacyBulkLookup.jsp):
dispatcher = context.getNamedDispatcher(forwardToo);
dispatcher.forward(request, response);
但是视图没有显示出来。只显示一个网页,上面写着
"Internal server error.
The server encountered an internal error and cannot proceed."
有什么想法吗?
【问题讨论】:
-
"Internal server error" 基本上意味着抛出了异常。在服务器日志中找到它及其堆栈跟踪。它代表了您的问题的答案。
-
[#|2015-08-04T22:46:35.791-0600|INFO|sun-appserver2.1|javax.enterprise.system.container.web|_ThreadID=21;_ThreadName=httpSSLWorkerThread-5181 -2;|无法找到映射的
元素:/VSDHosts/app/LegacyBulkLookup|#]
标签: java jsp servlets model-view-controller