Java 请求的资源在spring MVC中不可用

Java 请求的资源在spring MVC中不可用,java,spring,jsp,spring-mvc,Java,Spring,Jsp,Spring Mvc,我是SpringMVC的新手,我正在尝试在其中部署HelloWorld应用程序。但我总是在jsp页面上收到请求的资源不可用错误。我使用的是Tomcat7。在这里我粘贴我的代码任何人请帮助 web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/ja

我是SpringMVC的新手,我正在尝试在其中部署HelloWorld应用程序。但我总是在jsp页面上收到请求的资源不可用错误。我使用的是Tomcat7。在这里我粘贴我的代码任何人请帮助

web.xml

<?xml version="1.0" encoding="UTF-8"?>
 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee       
      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">

<display-name>HelloWorldSpring</display-name>
<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

<servlet>
    <servlet-name>spring</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
hello.jsp

<html>
<head>
<title>Spring 3.0 MVC </title>
</head>
<body>
${message}
</body>
</html>

Spring3.0MVC
${message}
index.jsp

<html>
<head>

</head>
<body>
<a href="hello">Say Hello</a>
</body>
</html>


这是我的应用程序,我还在添加项目结构的屏幕截图。

主要问题是
*.html

我对您的代码做了以下更改,并且我能够在我的计算机上运行相同的代码:

1) 将
*.html
更改为
/


2) 在
lib
文件夹中复制了
jstl-1.2.jar

只需按如下方式更改控制器

@Controller
    @RequestMapping("/hello")
    public class HelloWorldController {

    @RequestMapping(method = RequestMethod.GET)
    public String helloWorld(ModelMap model, HttpServletRequest request) {
        String message = "Hello World, Spring 3.0!";
        System.out.println(message);
        model.addAttribute("message", message);
        return "hello";
    }
    }

希望在检查文件夹结构后,这将解决您的问题。。所有SpringJAR都应该复制到Web INF中的lib文件夹中,并从那里导入。
这应该可以解决你的问题

我也有类似的问题,我相信这与Maven有关。 我所做的是将jstl依赖项从jstl:jstl:1.2更改为javax.servlet:jstl:1.2。我不相信这是原因,但是在Maven更新了它的依赖项之后——它开始工作了。那我用哪一个也没什么区别。我认为这与LIB不在正确的位置有关


在web.xml中更改以下内容

<servlet>

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

   <servlet-mapping>
      <servlet-name>HelloWeb</servlet-name>
      <url-pattern>/</url-pattern>
   </servlet-mapping>

你好
org.springframework.web.servlet.DispatcherServlet
上下文配置位置
/WEB-INF/HelloWeb-servlet.xml
1.
你好
/

我也遇到了这个问题,因为我遵循了本教程,上面的代码似乎也来自本教程,所以添加spring-webmvc-x-y-z.RELEASE.jar并删除“asm”和“web.servlet”jar对我来说很有效。
希望这能对学习春天的人有所帮助

我也有同样的感受。我添加了jstl 1.2.jar,它对我起了作用。

@Subho你确定这个包中的HelloWorldController在net.viralpatel.spring3.controlleryah中已经发布了我的应用程序的屏幕截图,请参见there@R.s我仍然知道我正在再次发布我的更新代码,完全查看您是否运行了此代码。@Subho…我正在使用相同的代码更新了代码。您仍然面临同样的问题吗?
DispatcherServlet
侦听“*.html”,但URL“hello”以“.html”结尾。您的意思是我更改了它???然后您必须相应地更改请求映射。或者您只需将url模式更改为
/
to@Subho,你是怎么得到帮助的?我也面临同样的问题。需要帮助。这没用。为什么会有帮助?请详细说明。
@Controller
    @RequestMapping("/hello")
    public class HelloWorldController {

    @RequestMapping(method = RequestMethod.GET)
    public String helloWorld(ModelMap model, HttpServletRequest request) {
        String message = "Hello World, Spring 3.0!";
        System.out.println(message);
        model.addAttribute("message", message);
        return "hello";
    }
    }
<servlet>

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

   <servlet-mapping>
      <servlet-name>HelloWeb</servlet-name>
      <url-pattern>/</url-pattern>
   </servlet-mapping>