java - 如何修复 404 错误,源服务器未找到目标资源的当前表示或不愿意透露该表示存在

标签 java spring spring-mvc

当我尝试执行@RequestMapping("/showForm")时,我遇到错误。

我认为我的代码看起来不错,我只是返回带有 JSP 文件名称的新字符串 - “mainmenu.jsp”。我将此文件夹 JSP 放在正确的位置。 错误:

Description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.

问题可能出在哪里?

<mvc:annotation-driven />
<context:component-scan
    base-package="com.crunchify.controller" />
<mvc:default-servlet-handler />

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

  <servlet>
    <servlet-name>crunchify</servlet-name>
    <servlet-class>
        org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>crunchify</servlet-name>
    <url-pattern>/welcome.jsp</url-pattern>
    <url-pattern>/mainmenu.jsp</url-pattern>
    <url-pattern>/mainmenu.html</url-pattern>
    <url-pattern>/processForm.jsp</url-pattern>
    <url-pattern>/processForm.html</url-pattern>
    <url-pattern>/index.jsp</url-pattern>
    <url-pattern>/main-menu.jsp</url-pattern>
    <url-pattern>/welcome.html</url-pattern>
    <url-pattern>*.html</url-pattern>
</servlet-mapping>

实际请求:

@RequestMapping("/showForm")
public String helloWorld() {        
    return "mainmenu";
}

最佳答案

您的部署描述符 (web.xml) 没有您尝试访问的 URL 的映射。在调度程序 servlet 的 url 映射中添加“/showForm”,或者在调度程序 servlet 的 url 映射中使用通配符“/”。就像,

<servlet>
    <servlet-name>crunchify</servlet-name>
    <servlet-class>
        org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>crunchify</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

由于web.xml是入口点,所以应该有url映射。
(您还可以为不同的调度程序 servlet 映射不同的 url。在其他调度程序 servlet 中,您可以使用另一个 View 解析器。)

希望<url-pattern>/</url-pattern>它会对你有用。

关于java - 如何修复 404 错误,源服务器未找到目标资源的当前表示或不愿意透露该表示存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57631930/

相关文章:

java - 如何检查二维文件

java - 将多个字符串组装成一个

java - Spring Security - 显示特定于登录用户的内容

带有 ROLE_ANONYMOUS 的 AngularJS 和 Spring Security 仍然返回 401

java - 查看 SPRING BOOT 中的解析器设置问题

java - 为什么要创建抽象类和接口(interface)?

java - 如何在 libGDX 中测量触摸压力

java - 启动时未找到 Spring MVC 资源

java - MyBatis SqlSession autoCommit = false 与 ExecutorType.BATCH

java - Spring MVC "No converter found capable of converting from type java.lang.String to type org.springframework.core.io.Resource"