Wie erhalte ich Anforderungsdaten in SpringMVC?
1. Anforderungsparameter abrufen
Das Format der Client-Anforderungsparameter ist: Name=Wert&Name=Wert... Die Serverseite muss die angeforderten Parameter abrufen und manchmal muss SpringMVC Folgendes empfangen Parametertypen:
1) Grundlegende Typparameter: Der Parametername der Geschäftsmethode in
Controller muss mit dem Namen des Anforderungsparameters übereinstimmen, und der Parameterwert wird automatisch zugeordnet und abgeglichen.
//http://localhost:8080/project/quick9?username=zhangsan&age=12 @RequestMapping("/quick9") @ResponseBody public void quickMethod9(String username,int age) throws IOException { System.out.println(username); System.out.println(age); }
2) POJO-Typparameter: Der Attributname des POJO-Parameters der Geschäftsmethode in
Controller stimmt mit dem Namen des Anforderungsparameters überein, und der Parameterwert wird automatisch zugeordnet und abgeglichen.
//http://localhost:8080/itheima_springmvc1/quick9?username=zhangsan&age=12 public class User { private String username; private int age; getter/setter… } @RequestMapping("/quick10") @ResponseBody public void quickMethod10(User user) throws IOException { System.out.println(user); }
3) Array-Typ-Parameter
Der Name des Geschäftsmethoden-Arrays im Controller stimmt mit dem Namen des Anforderungsparameters überein, und die Parameterwerte werden automatisch zugeordnet und abgeglichen.
//http://localhost:8080/project/quick11?strs=111&strs=222&strs=333 @RequestMapping("/quick11") @ResponseBody public void quickMethod11(String[] strs) throws IOException { System.out.println(Arrays.asList(strs)); }
4) Parameter des Sammlungstyps
Beim Abrufen der Sammlungsparameter müssen Sie die Sammlungsparameter in ein POJO einbinden.
<form action="${pageContext.request.contextPath}/quick12" method="post"> <input type="text" name="userList[0].username"><br> <input type="text" name="userList[0].age"><br> <input type="text" name="userList[1].username"><br> <input type="text" name="userList[1].age"><br> <input type="submit" value="提交"><br> </form>
@RequestMapping("/quick12") @ResponseBody public void quickMethod12(Vo vo) throws IOException { System.out.println(vo.getUserList()); }
Beim Senden mit Ajax können Sie den contentType als json angeben und dann @RequestBody an der Position des Methodenparameters verwenden, um die Sammlungsdaten direkt zu empfangen, ohne POJO zum Verpacken zu verwenden.
<script> //模拟数据 var userList = new Array(); userList.push({username: "zhangsan",age: "20"}); userList.push({username: "lisi",age: "20"}); $.ajax({ type: "POST", url: "/itheima_springmvc1/quick13", data: JSON.stringify(userList), contentType : 'application/json;charset=utf-8' }); </script>
@RequestMapping("/quick13") @ResponseBody public void quickMethod13(@RequestBody List<User> userList) throws IOException { System.out.println(userList); }
Hinweis: Durch die Paketerfassung des Google-Entwicklertools wurde festgestellt, dass die JQuery-Datei nicht geladen wurde. Der Grund dafür ist, dass das URL-Muster des SpringMVC-Front-End-Controllers DispatcherServlet mit / konfiguriert ist, was bedeutet, dass alle Ressourcen werden gefiltert. Die folgenden zwei Methoden werden verwendet, um die Freigabe statischer Ressourcen anzugeben: • Geben Sie die freigegebenen Ressourcen im Spring-MVC an.
Beim Posten werden die Daten verstümmelt web.xml, um die Kodierung zu filtern.<mvc:resources mapping="/js/**" location="/js/"/>
<!--资源过滤器-->
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Nach dem Login kopieren
3. Die Parameterbindungsannotation @RequestParamannotation @RequestParam verfügt außerdem über die folgenden Parameter, die verwendet werden können: <!--资源过滤器--> <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
Wert:
erforderlich: | Ob die angegebene Anforderung Parameter ist erforderlich oder nicht Einschließen, der Standardwert ist wahr. Wenn beim Senden kein solcher Parameter vorhanden ist, wird ein Fehler gemeldet |
Standardwert: | Wenn keine Anforderungsparameter angegeben sind, wird der angegebene Standardwert für die Zuweisung verwendet |
4. Restful-Stilparameter erhalten |
GET:
LÖSCHEN: | Ressource löschen |
PUT: | Ressource aktualisieren |
POST: | Neue Ressource |
/Benutzer/1 LÖSCHEN: |
Aber nicht alle Datentypen bieten Konverter. Wenn nicht, müssen Sie den Konverter anpassen. Für Datumstypdaten ist beispielsweise ein benutzerdefinierter Konverter erforderlich. | |
Entwicklungsschritte des benutzerdefinierten Typkonverters: | ① Definieren Sie die Konverterklasse, um die Konverterschnittstelle zu implementieren |
③ In | 6. Rufen Sie den Anforderungsheader ab |
Verwenden Sie @RequestHeader, um die Anforderungsheaderinformationen abzurufen, die dem in der Webphase gelernten request.getHeader(name) entsprechen lauten wie folgt: |
Der Name des Anforderungsheaders
- erforderlich
Ob dieser Anforderungsheader übertragen werden muss
@RequestMapping("/quick17") @ResponseBody public void quickMethod17(@RequestHeader(value = "User-Agent",required = false) String headerValue){ System.out.println(headerValue); }
Nach dem Login kopieren@CookieValue
使用@CookieValue可以获得指定Cookie的值 @CookieValue注解的属性如下:
value 指定cookie的名称 required 是否必须携带此cookie @RequestMapping("/quick18") @ResponseBody public void quickMethod18(@CookieValue(value = "JSESSIONID",required = false) String jsessionid){ System.out.println(jsessionid); }
Nach dem Login kopieren7.文件上传
文件上传客户端三要素:
表单项type=“file”
表单的提交方式是post
表单的enctype属性是多部分表单形式,及enctype=“multipart/form-data”
<form action="${pageContext.request.contextPath}/quick20" method="post" enctype="multipart/form-data"> 名称:<input type="text" name="name"><br> 文件:<input type="file" name="file"><br> <input type="submit" value="提交"><br> </form>
Nach dem Login kopieren文件上传步骤
① 在pom.xml导入fileupload和io坐标
<!--文件下载--> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency>
Nach dem Login kopieren② 配置文件上传解析器
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="UTF-8"/> <property name="maxUploadSize" value="500000"/> </bean>
Nach dem Login kopieren③ 编写文件上传代码
@RequestMapping("/quick8") @ResponseBody public void save8(String name, MultipartFile uploadfile) { System.out.println("save8 running..."); System.out.println(name); String filename = uploadfile.getOriginalFilename(); try { uploadfile.transferTo(new File("D:\\upload\\"+filename)); } catch (IOException e) { e.printStackTrace(); } }
Nach dem Login kopierenDas obige ist der detaillierte Inhalt vonWie erhalte ich Anforderungsdaten in SpringMVC?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Leitfaden zur perfekten Zahl in Java. Hier besprechen wir die Definition, Wie prüft man die perfekte Zahl in Java?, Beispiele mit Code-Implementierung.

Leitfaden zum Zufallszahlengenerator in Java. Hier besprechen wir Funktionen in Java anhand von Beispielen und zwei verschiedene Generatoren anhand ihrer Beispiele.

Leitfaden für Weka in Java. Hier besprechen wir die Einführung, die Verwendung von Weka Java, die Art der Plattform und die Vorteile anhand von Beispielen.

Leitfaden zur Smith-Zahl in Java. Hier besprechen wir die Definition: Wie überprüft man die Smith-Nummer in Java? Beispiel mit Code-Implementierung.

In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können.

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

Anleitung zum TimeStamp to Date in Java. Hier diskutieren wir auch die Einführung und wie man Zeitstempel in Java in ein Datum konvertiert, zusammen mit Beispielen.

Kapseln sind dreidimensionale geometrische Figuren, die aus einem Zylinder und einer Hemisphäre an beiden Enden bestehen. Das Volumen der Kapsel kann berechnet werden, indem das Volumen des Zylinders und das Volumen der Hemisphäre an beiden Enden hinzugefügt werden. In diesem Tutorial wird erörtert, wie das Volumen einer bestimmten Kapsel in Java mit verschiedenen Methoden berechnet wird. Kapselvolumenformel Die Formel für das Kapselvolumen lautet wie folgt: Kapselvolumen = zylindrisches Volumenvolumen Zwei Hemisphäre Volumen In, R: Der Radius der Hemisphäre. H: Die Höhe des Zylinders (ohne die Hemisphäre). Beispiel 1 eingeben Radius = 5 Einheiten Höhe = 10 Einheiten Ausgabe Volumen = 1570,8 Kubikeinheiten erklären Berechnen Sie das Volumen mithilfe der Formel: Volumen = π × R2 × H (4
