gpt4 book ai didi

java - Spring - 请求的资源不可用

转载 作者:太空宇宙 更新时间:2023-11-04 12:07:55 25 4
gpt4 key购买 nike

我正在尝试使用 Spring MVC 构建一个基本的 Java 应用程序,但是,我在应用程序内的链接方面遇到了问题。

这是我的web.xml

<servlet>
<servlet-name>test</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/test-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/</url-pattern>
<url-pattern>/welcome.jsp</url-pattern>
<url-pattern>/welcome.html</url-pattern>
</servlet-mapping>

我的test-servlet.xml

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

<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/</value>
</property>
<property name="suffix">
<value>.jsp </value>
</property>

</bean>

运行应用程序时显示的第一页如下:

<html>
<head>
<title>Spring MVC Tutorial</title>
</head>
<body>
<br>
<div style="text-align:center">
<h3>
<a href="welcome">Click to say hello </a>
</h3>
</div>
</body>
</html>

welcome.jsp 是这样的:

<html>
<head>
<title>Hello World MVC</title>

</head>
<body>${message}

</body>
</html>

由于这是我第一次使用 Spring(而且我知道这里有很多问题询问/回答这个问题 - 因此我无法找到对我有帮助的答案),我遵循了 online tutorial .

我的文件夹结构与教程中的类似,但是,每次我单击链接转到第二页时,我都会收到 404 错误,指出:

/SpringTutorial-1.0-SNAPSHOT/WEB-INF/jsp/welcome.jsp - is not available

最佳答案

  1. 基本上/<url-pattern>标签就足够了。它将需要 /welcome.jsp/welcome.html .

    <servlet-mapping>
    <servlet-name>test</servlet-name>
    <url-pattern>/</url-pattern>
    </servlet-mapping>
  2. 无需在 value 中给出相对路径prefix的属性(property).

    <property name="prefix">
    <value>/WEB-INF/jsp/</value>
    </property>

还有一件事是您也可以尝试使用 InternalResourceViewResolver代替UrlBasedViewResolver .

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

关于java - Spring - 请求的资源不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40174355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com