【问题标题】:HTTP Status 404 – Not Found - JAVA MVCHTTP 状态 404 - 未找到 - JAVA MVC
【发布时间】:2021-08-29 00:21:30
【问题描述】:

为什么我在 WEB-INF/view//admin 上得到双斜杠。我是 Java MVC 的新手,所以请任何建议,我做错了什么?

这是我的代码`

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

web.xml

 <servlet-mapping>
    <servlet-name>webapp-dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping

控制器 -

@Controller
    public class ControllerClass {
@RequestMapping(value = "/deck", method = RequestMethod.GET)
        public ModelAndView viewDeckPage(ModelMap model, HttpServletRequest request) {
            System.out.println("in get method..");
            
                return new ModelAndView("/admin/deck");
        }
}

【问题讨论】:

    标签: java spring-mvc http-status-code-404


    【解决方案1】:

    有 2 个斜杠,因为第一个来自视图解析器,即 /WEB-INF/view/,第二个作为视图名称返回,即 /admin/deck(管理员前的斜杠)。

    要解决这个问题,您必须只返回不带前缀斜杠的视图名称,即admin/deck

    【讨论】:

    • 我确实从 admin/deck 中删除了斜线。并且双斜杠问题解决了。它的请求是获取方法并打印“在获取方法中......”但在浏览器上它仍然给出 HTTP 状态 404 - 未找到。
    • Ok..deck.jsp 是否位于 WEB-INF 的 admin 文件夹中?请给出页面位置
    • 是的,它就像 WEB-INF/view/admin/deck.jsp
    • 没错,但是如果是打印语句,找不到页面,那么错误应该是无法解析视图名称,但实际上不是404。
    • 你好。下一个问题现已解决,感谢您的支持。这对我有用:右键单击项目->属性->部署程序集->>添加->>添加您的视图文件夹,然后->>应用并关闭。
    【解决方案2】:

    删除尾部斜杠,使您的前缀为 /WEB-INF/view

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-06-12
      • 2020-07-21
      • 1970-01-01
      • 2019-07-30
      • 2019-03-25
      • 1970-01-01
      • 2019-07-30
      相关资源
      最近更新 更多