Dieser Artikel untersucht hauptsächlich den relevanten Inhalt der Unterstützung von SpringMVC für RESTFUL, wie folgt.
RESTful Architecture ist eine beliebte Internet -Softwarearchitektur. Es ist eindeutig strukturiert, konform mit Standards, leicht zu verstehen und leicht zu erweitern. Daher wird es von immer mehr Websites übernommen. Die erholsame Architektur gibt URLs an. Wie sieht URLs im erholsamen Format aus? Die URL, die wir beantragen, sieht im Allgemeinen so aus:
http: // ..../xxx.action? id = 001 & type = aaa
Und wie sieht der URL -Stil von Ruhe aus? Im Allgemeinen ähnelt es:
http: //..../xxx/001
REST hat daher eine sehr offensichtliche Funktion: Machen Sie die URL präzise und übergeben Sie die Parameter über die URL an den Server. SpringMVC unterstützt auch diese REST-URL im Stil. Definieren wir einen Controller, um ihn zu testen:
// Produktinformationen abfragen, JSON ausgeben, restful@requestmapPing ("/itemsView/{id}") public @ResponseBody itemsCustom itemsView (@PathVariable ("id") Integer ID) aus der Ausnahme {itemsCustom itemsCustom = idsservice.finditemsByid (ID) ausgelöst; RECHTEN @ResponseBody ist eine Annotation, mit der itemsCustom in JSON umgewandelt wird, während @PathVariable Annotation mit der Ruhe zusammenhängt. Die {id} in @RequestMapping(value=”/ itemsView/{id}”) repräsentiert einen Platzhalter. Dann wird der hier übergebene Wert an den von @PathVariable gekennzeichneten formalen Parameter übergeben. Wenn der formale Parameter der Variablen im Platzhalter übereinstimmt, können Sie ihn in der Annotation nicht mehr angeben, ansonsten sollte die Variable (d. H. ID) in diesem Platzhalter in der Annotation angegeben werden. Auf diese Weise können die Parameter durch die URL an die formalen Parameter weitergegeben werden.
Dies funktioniert jedoch nicht und Sie müssen immer noch wie folgt die Ruhe im Front-End-Controller konfigurieren:
<!-- Configure springmvc's front-end controller DispatcherServlet, REST configuration --><servlet> <servlet-name>springmvc_rest</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <PARAM-VALUE> CLASSPATH: FRINDE/SPRINGMVC.xml </param-value> </init-param> </servlet> <Servlet-Mapping> <Servlet-name> SpringMVC_REST </Servlet-Name> <urlpattern>/</url-pufter> </servlet-mapping>
Diese Konfiguration hat bei der Abnahme aller URLs (/) keinen Konflikt mit den zuvor konfigurierten Front-End-Controllern und kann koexistieren. Nach dieser Konfiguration können Sie http: // localhost: 8080/springmvc_study/itemsView/1 im Browser eingeben, um die an den Browser zurückgegebenen Daten zu testen. Sie können sehen, dass eine Reihe von JSON -Daten zurückgegeben wird.
Aber es gibt ein Problem. Nach Verwendung der obigen Konfiguration werden alle URLs abgefangen und statische Ressourcen werden abgefangen. Daher wird der DispatcherServlet auch statische Ressourcen analysieren, dies verursacht jedoch einen Fehler. Daher müssen wir ihn festlegen, um statische Ressourcen nicht zu analysieren. wie:
<!-Analyse der statischen Ressourcen, einschließlich JS, CSS, IMG ...-> <MVC: Ressourcen Standort = "/js/" maping = "/js/**"> </mvc: ressourcen> <mvc: ressourcen location = "/img/" maping = "/img/**"> </mvc: Ressourcen> Ressourcen> Ressourcen> Ressourcen> Ressourcen> Ressourcen>
Wenn es andere statische Ressourcen gibt, sollten Sie sie auch so einrichten, dass Sie die statischen Ressourcen nicht analysieren. Sie können direkt auf sie zugreifen, wenn Sie auf die statischen Ressourcen zugreifen.
Der oben genannte ist der Inhalt dieses Artikels über die kurze Diskussion über die Unterstützung von SpringMVC für Rastfull, und ich hoffe, dass es für alle hilfreich sein wird. Interessierte Freunde können weiterhin auf andere verwandte Themen auf dieser Website verweisen. Wenn es Mängel gibt, hinterlassen Sie bitte eine Nachricht, um darauf hinzuweisen. Vielen Dank an Freunde für Ihre Unterstützung für diese Seite!