【问题标题】:No mapping found for HTTP request with URI [/AdminTemplate/] in DispatcherServlet with name 'springapp'在名称为“springapp”的 DispatcherServlet 中找不到具有 URI [/AdminTemplate/] 的 HTTP 请求的映射
【发布时间】:2016-08-05 00:21:17
【问题描述】:

首先,这个错误看起来非常愚蠢且易于修复,但问题是一切似乎都很好,我不知道是什么原因造成的。我尝试使用 java 配置和 xml 配置这个 Web 项目,我得到相同的 404错误代码。

警告:在名称为“springapp”的 DispatcherServlet 中找不到带有 URI [/AdminTemplate/] 的 HTTP 请求的映射

如果有人可以在这里帮助我,我将不胜感激。 这是我的代码:

web.xml

<welcome-file-list>
    <welcome-file>index.htm</welcome-file>
</welcome-file-list>
<servlet>
    <servlet-name>springapp</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/springapp-servlet.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>springapp</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

springapp-servlet.xml

<mvc:annotation-driven />
<context:component-scan base-package="com.admin.controller" />


<mvc:resources mapping="/resources/**" location="resources/" />

<bean id="viewResolver"
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="viewClass"
        value="org.springframework.web.servlet.view.JstlView"></property>
    <property name="prefix" value="/WEB-INF/views/"></property>
    <property name="suffix" value=".jsp"></property>
</bean>

一个简单的控制器

@Controller
public class PageController {

@RequestMapping(value = "/", method = RequestMethod.GET)
public String homePage() {

    return "index";

      }
  }

还有一个不重要的简单jsp。

我的项目结构是这样的:

当然,如果我在 web.xml 中设置

<welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list>

并将 index.jsp 文件从 jsp 文件夹移动到 webapps 它可以工作。 任何人都知道是什么原因造成的?在此先感谢。

更新:

我测试了过去工作的其他项目,现在我得到了相同的 404 错误。

【问题讨论】:

  • 你用的是哪个网址?
  • localhost:8080/AdminTemplate/(应用名称后加一个斜杠)
  • 试试 localhost:8080/springapp/AdminTemplate
  • 它是一样的。在我看来问题不在于链接或配置我认为它应该是一个 tomcat 错误或其他......因为我过去有其他项目但现在我得到了同样的 404 错误
  • 你有没有看到控制器在spring star时启动,你需要在日志中看到类似url:/AdminTemplate的东西,如果没有控制器注释是无法识别的

标签: spring spring-mvc servlets http-status-code-404 servlet-mapping


【解决方案1】:

由于客户端资源问题和拼写错误而发生404错误,它不应该是index.htm,它应该是index.jsp&如果你想在视图文件夹中使用index.jsp,请使用如下所示的完整路径:-

<welcome-file-list>
    <welcome-file>/WEB-INF/views/index.jsp</welcome-file>
</welcome-file-list>

【讨论】:

  • 我在 web.xml 中有 index.htm 并不重要,因为我不想从那里访问它。正如我前面提到的那样。
  • 添加完整路径 /WEB-INF/views/index.hbm 或 jsp 或 html 它会缩短问题,在你的项目层次结构中它是 jsp 那就是我告诉 abt jsp
  • 这与此无关...您可以完全摆脱该部分,如果您像您说的那样添加完整路径仍然行不通。您要解释的是访问 jsp,但是,您怎么说甚至不需要控制器。只需将 index.jsp 移动到 webapp 文件夹即可。这不会解决我的问题。
【解决方案2】:

我设法暂时解决了这个问题,购买将整个 XML 配置更改为基于 Java 的配置,之后我 100% 确定问题不在于代码。我在此处留下链接以解决其他问题,也许有人会面临一样。

Tomcat error? Or something else?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-04
    • 2013-11-19
    • 2014-12-23
    • 2016-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多