[英]Spring - The requested resource is not available
我正在尝试使用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(我知道这里有很多问题要求/回答这个问题 - 因此我找不到能帮助我的答案),我遵循了一个在线教程 。
我的文件夹结构类似于他们在教程中的内容,但是,每次单击链接转到第二页时,我都会收到404错误说:
/SpringTutorial-1.0-SNAPSHOT/WEB-INF/jsp/welcome.jsp - is not available
基本上/
在<url-pattern>
标签中就/welcome.html
。它将采用/welcome.jsp
或/welcome.html
。
<servlet-mapping> <servlet-name>test</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
无需在prefix
value
属性中给出相对路径。
<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>
将表单操作更改为welcome.html
<html>
<head>
<title>Spring MVC Tutorial</title>
</head>
<body>
<br>
<div style="text-align:center">
<h3>
<a href="welcome.html">Click to say hello </a>
</h3>
</div>
</body>
</html>
also change url pattern to / or *.html
<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>*.html</url-pattern>
</servlet-mapping>
also view resolver to internal resource view resolver and avoid giving relative url in it.
还要确保您已经给出@controller注释。 和URL映射为@requestmapping(“/ welcome”)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.