स्प्रिंग एमवीसी - पैरामीटर विधि नाम रिज़ॉल्वर उदाहरण
निम्न उदाहरण दिखाता है कि स्प्रिंग वेब एमवीसी ढांचे का उपयोग करके मल्टी एक्शन कंट्रोलर के पैरामीटर विधि नाम रिज़ॉल्वर का उपयोग कैसे करें। MultiActionController क्लास एक ही कंट्रोलर में उनके तरीकों के साथ कई यूआरएल को मैप करने में मदद करता है।
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.multiaction.MultiActionController;
public class UserController extends MultiActionController{
public ModelAndView home(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelAndView model = new ModelAndView("user");
model.addObject("message", "Home");
return model;
}
public ModelAndView add(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelAndView model = new ModelAndView("user");
model.addObject("message", "Add");
return model;
}
public ModelAndView remove(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelAndView model = new ModelAndView("user");
model.addObject("message", "Remove");
return model;
}
}
<bean class = "com.tutorialspoint.UserController">
<property name = "methodNameResolver">
<bean class = "org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
<property name = "paramName" value = "action"/>
</bean>
</property>
</bean>
उदाहरण के लिए, उपरोक्त कॉन्फ़िगरेशन का उपयोग करते हुए, यदि यूआरआई -
/user/*.htm?action=home से अनुरोध किया गया है, DispatcherServlet उपयोगकर्ता अनुरोध को आगे बढ़ाएगा home() तरीका।
/user/*.htm?action=add अनुरोध किया गया है, DispatcherServlet उपयोगकर्ता अनुरोध को आगे बढ़ाएगा add() तरीका।
/user/*.htm?action=remove से अनुरोध किया गया है, डिस्पैचर सेलेट उपयोगकर्ता-पत्र के लिए अनुरोध भेजेगा remove() तरीका।
आरंभ करने के लिए, हमारे पास एक काम करने वाली ग्रहण आईडीई है और स्प्रिंग वेब फ्रेमवर्क का उपयोग करके डायनामिक फॉर्म आधारित वेब एप्लिकेशन विकसित करने के लिए निम्न चरणों का पालन करें।
कदम | विवरण |
---|---|
1 | स्प्रिंग एमवीसी - हैलो वर्ल्ड चैप्टर में बताए गए एक पैकेज com.tutorialspoint के तहत TestWeb नाम से एक प्रोजेक्ट बनाएं। |
2 | Com.tutorialspoint पैकेज के तहत एक जावा क्लास यूजर कंट्रोलर बनाएं। |
3 | Jsp उप-फ़ोल्डर के तहत एक व्यू फ़ाइल user.jsp बनाएँ। |
4 | अंतिम चरण स्रोत और कॉन्फ़िगरेशन फ़ाइलों की सामग्री बनाना और नीचे बताए अनुसार एप्लिकेशन को निर्यात करना है। |
UserController.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.multiaction.MultiActionController;
public class UserController extends MultiActionController{
public ModelAndView home(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelAndView model = new ModelAndView("user");
model.addObject("message", "Home");
return model;
}
public ModelAndView add(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelAndView model = new ModelAndView("user");
model.addObject("message", "Add");
return model;
}
public ModelAndView remove(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelAndView model = new ModelAndView("user");
model.addObject("message", "Remove");
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.mvc.support.ControllerClassNameHandlerMapping">
<property name = "caseSensitive" value = "true" />
</bean>
<bean class = "com.tutorialspoint.UserController">
<property name = "methodNameResolver">
<bean class = "org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
<property name = "paramName" value = "action"/>
</bean>
</property>
</bean>
</beans>
user.jsp
<%@ page contentType="text/html; charset=UTF-8" %>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<h2>${message}</h2>
</body>
</html>
एक बार जब आप स्रोत और कॉन्फ़िगरेशन फ़ाइल बनाने के साथ हो जाते हैं, तो अपने एप्लिकेशन को निर्यात करें। अपने आवेदन पर राइट क्लिक करें, उपयोग करेंExport → WAR File विकल्प और सहेजें TestWeb.war टॉमकैट के वेबैप फ़ोल्डर में फ़ाइल।
अब, अपना टॉमकैट सर्वर शुरू करें और सुनिश्चित करें कि आप मानक ब्राउज़र का उपयोग करके वेबैप फ़ोल्डर से अन्य वेबपृष्ठों तक पहुँचने में सक्षम हैं। अब, एक URL आज़माएँ -http://localhost:8080/TestWeb/user/test.htm?action=home और हम निम्न स्क्रीन देखेंगे, यदि स्प्रिंग वेब एप्लिकेशन के साथ सब कुछ ठीक है।