webentwicklung-frage-antwort-db.com.de

Die angeforderte Ressource ist im Frühjahr-MVC nicht verfügbar

Ich bin neu bei Spring MVC, ich versuche, eine Hallo-Welt-Anwendung darin bereitzustellen. Aber ich erhalte immer einen angeforderten Fehler, der nicht auf der jsp-Seite verfügbar ist ..

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>

spring-servlet.xml

 <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-3.0.xsd">


<context:component-scan
    base-package="net.viralpatel.spring3.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/" />
    <property name="suffix" value=".jsp" />
</bean>
</beans>

Controller der Anwendung

package net.viralpatel.spring3.controller;

import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class HelloWorldController {

    @RequestMapping("/hello")
    public ModelAndView helloWorld() {
        String message = "Hello World, Spring 3.0!";
        System.out.println(message);
        return new ModelAndView("hello", "message", message);
    }

}

hallo.jsp

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

index.jsp

<html>
<head>

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

dies ist meine Anwendung und ich füge auch einen Screenshot meiner Projektstruktur hinzu.enter image description here

14
Subho

Das Hauptproblem war mit <url-pattern>*.html</url-pattern>
Ich habe folgende Änderungen in Ihrem Code vorgenommen und kann denselben Code auf meinem Computer ausführen:

1) <url-pattern>*.html</url-pattern> in <url-pattern>/</url-pattern> geändert
2) kopierte jstl-1.2.jar im lib-Ordner.

9
Rohan

Ändern Sie einfach Ihren Controller wie folgt

@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";
    }
    }

ich hoffe, das löst dein Problem

2
Ashish Jagtap

Ich fühlte das gleiche Problem. Ich habe die jstl 1.2.jar hinzugefügt und es hat für mich funktioniert.

0

Nun, auch ich stand vor diesem Problem, während ich dieses - Tutorial und den obigen Code folgte, auch aus diesem Tutorial zu stammen, so dass das Hinzufügen von spring-webmvc-xyz.RELEASE.jar und das Entfernen der "asm" - und "web.servlet" -Jargläser funktionierte für mich . Ich hoffe, das würde jemandem helfen, den Frühling zu lernen. 

0
Ajay

Ich hatte ein ähnliches Problem und glaube, dass es mit Maven zu tun hatte. Was ich getan habe, ist, dass ich die Abhängigkeit von JSTL von JSTL: JSTL: 1.2 in JAVAX. Ich glaube nicht, dass dies der Grund war, aber nachdem Maven seine Abhängigkeiten aktualisiert hatte, fing es an zu arbeiten. Dann machte es keinen Unterschied, welchen ich benutzte. Ich denke es hatte damit zu tun, dass libs nicht am richtigen Ort waren ...

 enter image description here

0
Witold Kaczurba

Ändern Sie Folgendes in der Datei 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>
0
Lakshmi Murali

Sobald Sie Ihre Ordnerstruktur überprüft haben, sollten alle Frühjahrsgläser in den lib-Ordner kopiert werden, der sich in Web-INF befindet, und von dort importieren

0
Fenil