【问题标题】:Unable to find a <servlet-name> element which map找不到映射的 <servlet-name> 元素
【发布时间】:2015-10-27 02:29:53
【问题描述】:

我继承了一个在 Glassfish 下运行的巨大的本土 MVC Java Web 应用程序,我正在尝试向它添加一个新的 servlet,但出现错误

“无法找到映射:/VSDHosts/app/LegacyBulkLookup&lt;servlet-name&gt; 元素”

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


【解决方案1】:

对于旧版 servlet,您应该在 web.xml 文件中包含如下内容:

<servlet>
<servlet-name>LegacyBulkLookup</servlet-name>
<jsp-file>/WEB-INF/legacy/legacyBulkLookup.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>LegacyBulkLookup</servlet-name>
<url-pattern>/LegacyBulkLookup/*<url-pattern>
</servlet-mapping>

【讨论】:

  • 第一行可能应该有 吗?复制粘贴错误?
  • @kg_sYy 是的,添加了&lt;servlet&gt; 以打开标签。
  • 我的理解是 东西是由 AppController 类处理的,作为调用它的表单操作以 /app/LegacyBulkLookup 结尾。还有另一个以 app/LegacyLookupSearch 结尾的表单按钮操作,由 AppController 处理(也没有 ),效果很好。我正在模仿它。
  • Servlet 映射是每个 servlet 配置。如果您有另一个具有自己映射的 sevlet,那么您应该使用调度程序将请求转发到另一个 servlet。
  • 我相信这就是我正在做的事情
猜你喜欢
  • 2011-12-27
  • 2018-08-24
  • 2012-06-23
  • 1970-01-01
  • 2023-03-29
  • 2010-12-04
  • 2015-07-17
  • 2016-06-30
  • 1970-01-01
相关资源
最近更新 更多