Spring MVC - Exemple de mappage de gestionnaire d'URL de nom de bean
L'exemple suivant montre comment utiliser le mappage de gestionnaire d'URL de nom de bean à l'aide de Spring Web MVC Framework. leBeanNameUrlHandlerMapping class est la classe de mappage du gestionnaire par défaut, qui mappe la ou les requêtes d'URL au nom des beans mentionnés dans la configuration.
<beans>
<bean class = "org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name = "prefix" value = "/WEB-INF/jsp/"/>
<property name = "suffix" value = ".jsp"/>
</bean>
<bean class = "org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<bean name = "/helloWorld.htm"
class = "com.tutorialspoint.HelloController" />
<bean name = "/hello*"
class = "com.tutorialspoint.HelloController" />
<bean name = "/welcome.htm"
class = "com.tutorialspoint.WelcomeController"/>
</beans>
Par exemple, en utilisant la configuration ci-dessus, si URI
/helloWorld.htm ou / bonjour {toute lettre} .htm est demandée, DispatcherServlet transmettra la requête au HelloController.
/welcome.htm est demandé, DispatcherServlet transmettra la demande au WelcomeController.
/welcome1.htm est demandé, DispatcherServlet ne trouvera aucun contrôleur et le serveur lancera une erreur d'état 404.
Pour commencer, mettons en place un IDE Eclipse fonctionnel et considérons les étapes suivantes pour développer une application Web basée sur un formulaire dynamique à l'aide de Spring Web Framework.
Étape | La description |
---|---|
1 | Créez un projet avec un nom TestWeb sous un package com.tutorialspoint comme expliqué dans le chapitre Spring MVC - Hello World. |
2 | Créez des classes Java HelloController, WelcomeController sous le package com.tutorialspoint. |
3 | Créez des fichiers de vue hello.jsp, welcome.jsp dans le sous-dossier jsp. |
4 | La dernière étape consiste à créer le contenu de tous les fichiers source et de configuration et à exporter l'application comme expliqué ci-dessous. |
HelloController.java
package com.tutorialspoint;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
public class HelloController extends AbstractController{
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelAndView model = new ModelAndView("hello");
model.addObject("message", "Hello World!");
return model;
}
}
WelcomeController.java
package com.tutorialspoint;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
public class WelcomeController extends AbstractController{
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelAndView model = new ModelAndView("welcome");
model.addObject("message", "Welcome!");
return model;
}
}
TestWeb-servlet.xml
<beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:context = "http://www.springframework.org/schema/context"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
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">
<bean class = "org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name = "prefix" value = "/WEB-INF/jsp/"/>
<property name = "suffix" value = ".jsp"/>
</bean>
<bean class = "org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<bean name = "/helloWorld.htm"
class = "com.tutorialspoint.HelloController" />
<bean name = "/hello*"
class = "com.tutorialspoint.HelloController" />
<bean name = "/welcome.htm"
class = "com.tutorialspoint.WelcomeController"/>
</beans>
bonjour.jsp
<%@ page contentType = "text/html; charset = UTF-8" %>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<h2>${message}</h2>
</body>
</html>
welcome.jsp
<%@ page contentType = "text/html; charset = UTF-8" %>
<html>
<head>
<title>Welcome</title>
</head>
<body>
<h2>${message}</h2>
</body>
</html>
Une fois que vous avez terminé la création des fichiers source et de configuration, exportez votre application. Faites un clic droit sur votre application, utilisezExport → WAR File option et enregistrez le TestWeb.war dans le dossier webapps de Tomcat.
Maintenant, démarrez votre serveur Tomcat et assurez-vous que vous pouvez accéder à d'autres pages Web à partir du dossier Webapps à l'aide d'un navigateur standard. Essayez une URL -http://localhost:8080/TestWeb/helloWorld.htm et nous verrons l'écran suivant, si tout va bien avec l'application Web Spring.
Essayez une URL - http://localhost:8080/TestWeb/hello.htm et nous verrons l'écran suivant, si tout va bien avec l'application Web Spring.
Essayez une URL http://localhost:8080/TestWeb/welcome.htm et nous verrons l'écran suivant, si tout va bien avec l'application Web Spring.
Essayez une URL http://localhost:8080/TestWeb/welcome1.htm et nous verrons l'écran suivant, si tout va bien avec l'application Web Spring.