Je suis nouveau au printemps MVC, j'essaie de déployer une application Hello World en elle.Mais je reçois toujours une erreur demandée de la ressource demandée sur la page jsp.J'utilise Tomcat 7. Ici, je colle mon code n'importe qui s'il vous plaît aidez ..
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>
Contrôleur de l'application
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);
}
}
hello.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>
ceci est mon application et j'ajoute également une capture d'écran de la structure de mon projet.
Le problème principal était avec <url-pattern>*.html</url-pattern>
.
J'ai fait les changements suivants dans votre code et je peux exécuter le même code sur ma machine
1) changé <url-pattern>*.html</url-pattern>
en <url-pattern>/</url-pattern>
2) copié jstl-1.2.jar
dans le dossier lib
.
Il suffit de changer votre contrôleur comme suit
@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";
}
}
espérons que cela résoudra votre problème
J'ai ressenti le même problème. J'ai ajouté le jstl 1.2.jar et cela a fonctionné pour moi.
Eh bien, j’ai aussi fait face à ce problème en suivant this le tutoriel et le code ci-dessus semblent également provenir de ce tutoriel. L’ajout de spring-webmvc-xyz.RELEASE.jar et la suppression des fichiers "asm" et "web.servlet" fonctionnaient pour moi . J'espère que cela aiderait quelqu'un à apprendre le printemps.
J'ai eu un problème similaire et je crois que c'était lié à Maven . Ce que j'ai fait est de changer la dépendance de jstl de jstl: jstl: 1.2 à javax.servlet: jstl: 1.2 Je ne crois pas que ce soit la raison, mais après que Maven a mis à jour ses dépendances, cela a commencé à fonctionner. Ensuite, cela n'a fait aucune différence que celui que j'ai utilisé. Je pense que cela a à voir avec les bibliothèques n'étant pas au bon endroit ...
Modifier les éléments suivants dans le fichier 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>
Une fois que vous avez vérifié la structure de vos dossiers, tous les fichiers printemps doivent être copiés dans le dossier lib situé dans Web-INF et importés à partir de là.