HTTP 状态 404 - 未找到 - JAVA MVC

Posted

技术标签:

【中文标题】HTTP 状态 404 - 未找到 - JAVA MVC【英文标题】:HTTP Status 404 – Not Found - 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");
        

【问题讨论】:

【参考方案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

【讨论】:

以上是关于HTTP 状态 404 - 未找到 - JAVA MVC的主要内容,如果未能解决你的问题,请参考以下文章

JSP/JDBC:HTTP 状态 404 - 未找到

HTTP 状态 404 – 未找到!!!!或有时 Http 500 [重复]

Tomcat错误HTTP状态[404] - [未找到] [重复]

HTTP 状态 404 - 未找到 Servlet

HTTP状态404 - 创建springBoot应用程序时未找到

为啥 Spring Boot 中的 REST 控制器返回 HTTP 状态 404 – 未找到