Heim Java javaLernprogramm Detaillierte Einführung in die SpringMVC-Grundkonfiguration

Detaillierte Einführung in die SpringMVC-Grundkonfiguration

Sep 30, 2018 pm 04:04 PM
springmvc

Dieser Artikel bietet Ihnen eine detaillierte Einführung in die Grundkonfiguration von SpringMVC. Ich hoffe, dass er für Freunde hilfreich ist.

Heute werden wir über die Grundkonfiguration von SpringMVC sprechen. Derzeit unterstützen immer mehr Mainstream-Frameworks Annotationen, und unser unbesiegbarer Spring unterstützt auch eine „Nullkonfiguration“ basierend auf Annotationen.

Vorteile von Annotationen im Vergleich zu XML: Es kann den Reflexionsmechanismus von Java vollständig nutzen, um Strukturinformationen in einer Klasse zu erhalten. Diese Informationen können den Konfigurationsaufwand effektiv reduzieren bequemer für die Wartung.

Hinweis: Anmerkungen können erst nach der Spring 2.5-Version verwendet werden.

Die Annotationsmethode kombiniert die Definitionsinformationen der Bean und die Implementierungsklasse der Bean. Die von Spring bereitgestellten Annotationen sind:

@Component: Deklarieren Sie eine gemeinsame Bean-Klasse

@Repository: Deklarieren Sie eine Persistenzschicht-Dao-Klasse

@Service: Deklarieren Sie eine Business-Schicht-Klasse

@Controller: Deklarieren Sie eine Controller-Klasse

Ich glaube, Sie sind mit diesen vier Anmerkungen bereits sehr vertraut, es besteht also kein Grund, Unsinn zu reden. Wenn wir Anmerkungen verwenden, vergessen Sie nicht, diese im Unterricht zu scannen! ! !

@RequestMapping (eine sehr wichtige Annotation). Diese Annotation wird verwendet, um die Anforderungs-URL des Controllers anzugeben.

Klassendefinition im Controller: Stellen Sie vorläufige Zuordnungsinformationen bereit und fügen Sie allen Anforderungsmethoden unter der Klasse ein Präfix hinzu.

Methodendefinition in der Controller-Klasse: Geben Sie weitere Zuordnungsinformationen und den Anforderungspfad der Methode an

Bestätigen Sie, nachdem DispacherServlet die Anforderung abgefangen hat die der Anforderung entsprechende Verarbeitungsmethode anhand der von @RequestMapping auf dem Controller bereitgestellten Zuordnungsinformationen.

@Controller
@RequestMapping("user")
public class UserController {
    @RequestMapping("/hello")
    public String hello(){
        return "hello";
    }
}
Nach dem Login kopieren

Zu diesem Zeitpunkt ist der von uns angeforderte Pfad http://localhost:8080/SpringMvcDemo2/user/hello

@RequestMapping Zusätzlich zu Zuordnungsanfrage-URL-Anfragen können Sie dies tun Verwenden Sie auch Anforderungsmethoden. Für Anforderungsparameter und Anforderungsheader gibt es mehrere Parameter in der Annotation:

1) Wert: Gibt die URL der Anforderung an

2) Methode: Gibt die Anforderungsmethode an (GET/POST)

3) params: Stellt die Parameter der Anforderung dar

4) header: Anforderungsheader

Die Beziehung zwischen ihnen ist und Durch mehrere Anfragen kann die Anfrage genauer werden.

@RequestMapping(value="hello2",method=RequestMethod.POST,params={"username","userpass"},headers="contentType=text/*") 
   public String hello2(){
           return "hello";
    }
Nach dem Login kopieren

Dieser Code gibt an, dass die angeforderte Adresse „Hallo“ ist. Die Anforderungsmethode ist „Post“ und muss zwei Parameter haben: Benutzername und Benutzerpass. Der Anforderungsheader „ContentType“ muss mit „text/“ beginnen. Wir können zwei URLs mit derselben Methode schreiben, eine POST und die andere GET, die streng nach den Einstellungen aufgerufen werden.

@RequestMapping unterstützt auch URLs im Ant-Stil und unterstützt 3 Platzhalter in Ant .

? : Zeigt die Konfiguration eines Zeichens an.

*: Übereinstimmung mit jedem Zeichen

**: Übereinstimmung mit mehrschichtigen Pfaden

Parameterverarbeitung in SpringMVC:

@pathVariable: URL-Vorlagenmethode

Wird zum Zuordnen von Platzhaltern in URLs verwendet. Die zugeordneten Variablennamen müssen mit den Namen in den Platzhaltern übereinstimmen, wie bei uns. Die Anforderungsadresse lautet http: //localhost:8080/SpringMvcDemo2/user/testPathVariable/Miya ist der Parameter, den wir in der traditionellen URL testPathVariable? username=miya, aber dies ist der Aufnahme von Baidu nicht förderlich.

@RequestMapping("/testPathVariable/{username}")
    public String hello3(@PathVariable("username")String username){
        System.out.println("username :  " + username);        
        return "hello";
    }
Nach dem Login kopieren

@RequestParam: Rufen Sie die Anforderungsparameter ab. Wenn der Name des Anforderungsparameters mit dem Namen des Typs übereinstimmt, können wir diese Annotation weglassen und der Wert kann trotzdem empfangen werden .

@RequestMapping("/textParam")
    public String hello4(@RequestParam("username")String username,@RequestParam("userpass")String userpass){
        System.out.println("userpass :  " + userpass);        
        return "hello";
    }
Nach dem Login kopieren

@RequestHeader: Rufen Sie die Parameter des Anforderungsheaders ab

Hier gibt es drei Parameter, Wert: der Name des angegebenen Parameters, Erforderlich: Der angegebene Parameter Ob erforderlich, defaultValue: Gibt den Standardwert des Parameters an.

@RequestMapping("/testRequestHeader")
    public String hello5(@RequestHeader("Accept-Language") String language){
        System.out.println("language=" + language);       
        return "hello";
    }
Nach dem Login kopieren

@CookieValue: Wird verwendet, um Client-Cookie-Informationen zu erhalten.

@RequestMapping("/testCookieValue")    
public String hello6(@CookieValue("JSESSIONID")String sessionid){
        System.out.println("sessionid=" + sessionid);        
        return "hello";
    }
Nach dem Login kopieren

SpringMVC kann ServletAPI als Parameter der Anforderungsmethode verwenden

@RequestMapping("/testServletAPI")    
public String hello7(HttpServletRequest request,HttpServletResponse response,HttpSession session){        
//我们可以在这里使用
        return "hello";
    }
Nach dem Login kopieren

SpringMVC bietet die folgenden Möglichkeiten zur Verarbeitung von Modelldaten.

1) ModelAndView: Legen Sie den Rückgabetyp der Verarbeitungsmethode auf den ModelAndView-Methodenkörper fest, um Modelldaten über das Modellobjekt hinzuzufügen. Enthält sowohl Ansichten als auch Modellinformationen

@RequestMapping("/testModelAndView")
    public ModelAndView hello8(){
        ModelAndView modelAndView = new ModelAndView("hello");
        //添加单个值
        modelAndView.addObject("h","Hello Spring MVC");        
        return modelAndView;
    }
Nach dem Login kopieren

2) Karte und formale Parameter: Wenn die formalen Parameter Map, Model und ModelMap sind und die Verarbeitungsmethode zurückkehrt, Die Daten in der Karte werden automatisch zum Modell hinzugefügt.

Spring MVC verwendet intern eine Modellschnittstelle zum Speichern von Daten und erstellt ein implizites Modellobjekt, das als Speichercontainer dient für das Datenmodell. Wenn die übergebenen Parameter Map, Model, ModelMap sind, speichert SpringMVC sie automatisch im Container

@RequestMapping("/testMap")    
public String hello9(Map<String,Object> map){
        map.put("mapdata", "map data");       
        return "hello";
    }
Nach dem Login kopieren

3)@SessionAttributes:将这个模型中的某个属性存储到Session中,以便多个请求之间共享这个属性,只能用来修饰类。在里面的方法如果参数容器中如map里卖弄保存一个与定义的属性名字相同会保存到容器中共享

4)@ModelAttribute:方法形参标记该注解后,形参对象就会放到模型中。

  SpringMVC在调用方法之前会逐个调用方法上标注了这个注解的方法。将@ModelAttribute中的属性保存到map中,可在执行表单提交生成对象之前,替换执行方法名相同的参数。

@ModelAttribute
public User getUser(){
    User user = new User();
    System.out.println("调用 getUser 方法");
    //默认保存名字为类名首字母小写的user对象到Request中
    return user;
}
@ModelAttribute
public void getUserById(Integer id,Map<String,Object> map){
    User myuser = new User();
    map.put("myuser", myuser);
    //手动指定user对象的名称,到Request中
    System.out.println("调用 getUser 方法");
}
Nach dem Login kopieren

由@SessionAttributs会引发一个很容易轻视的错误当类使用@SessionAttributes修饰,而方法中使用了和SessionAttributes修饰同名的映射参数,确没有添加@ModelAttribute修饰时,则会报错。

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die SpringMVC-Grundkonfiguration. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Vergleich und Differenzanalyse zwischen SpringBoot und SpringMVC Vergleich und Differenzanalyse zwischen SpringBoot und SpringMVC Dec 29, 2023 am 11:02 AM

SpringBoot und SpringMVC sind beide häufig verwendete Frameworks in der Java-Entwicklung, es gibt jedoch einige offensichtliche Unterschiede zwischen ihnen. In diesem Artikel werden die Funktionen und Verwendungsmöglichkeiten dieser beiden Frameworks untersucht und ihre Unterschiede verglichen. Lassen Sie uns zunächst etwas über SpringBoot lernen. SpringBoot wurde vom Pivotal-Team entwickelt, um die Erstellung und Bereitstellung von Anwendungen auf Basis des Spring-Frameworks zu vereinfachen. Es bietet eine schnelle und einfache Möglichkeit, eigenständige, ausführbare Dateien zu erstellen

Was sind die Unterschiede zwischen SpringBoot und SpringMVC? Was sind die Unterschiede zwischen SpringBoot und SpringMVC? Dec 29, 2023 am 10:46 AM

Was ist der Unterschied zwischen SpringBoot und SpringMVC? SpringBoot und SpringMVC sind zwei sehr beliebte Java-Entwicklungsframeworks zum Erstellen von Webanwendungen. Obwohl sie häufig separat verwendet werden, sind die Unterschiede zwischen ihnen offensichtlich. Zunächst einmal kann SpringBoot als Erweiterung oder erweiterte Version des Spring-Frameworks betrachtet werden. Es soll den Initialisierungs- und Konfigurationsprozess von Spring-Anwendungen vereinfachen und Entwicklern helfen

Was ist der Unterschied zwischen SpringBoot und SpringMVC? Was ist der Unterschied zwischen SpringBoot und SpringMVC? Dec 29, 2023 pm 05:19 PM

SpringBoot und SpringMVC sind zwei Frameworks, die häufig in der Java-Entwicklung verwendet werden. Sie werden beide vom Spring-Framework bereitgestellt, weisen jedoch einige Unterschiede in Funktionen und Verwendung auf. In diesem Artikel werden die Merkmale und Unterschiede von SpringBoot bzw. SpringMVC vorgestellt. 1. Funktionen von SpringBoot: Vereinfachte Konfiguration: SpringBoot vereinfacht den Projektkonfigurationsprozess erheblich durch das Prinzip der Konvention vor der Konfiguration. Es kann die für das Projekt und die Entwickler erforderlichen Parameter automatisch konfigurieren

Was sind die Unterschiede zwischen Spring und SpringMVC? Was sind die Unterschiede zwischen Spring und SpringMVC? Dec 29, 2023 pm 05:02 PM

Der Unterschied zwischen Spring und SpringMVC: 1. Positionierung und Funktionen; 3. Anwendungsfelder; Detaillierte Einführung: 1. Positionierung und Funktionen. Spring ist ein umfassendes Anwendungsentwicklungs-Framework, das Abhängigkeitsinjektion, aspektorientierte Programmierung, Transaktionsverwaltung und andere Funktionen bietet. Es soll die Entwicklung von Anwendungen auf Unternehmensebene vereinfachen Ein darin enthaltenes Modul wird für die Entwicklung von Webanwendungen verwendet und implementiert das MVC-Muster 2. Kernfunktionen und so weiter.

Was sind die Unterschiede zwischen Springboot und SpringMVC? Was sind die Unterschiede zwischen Springboot und SpringMVC? Jun 07, 2023 am 10:10 AM

Die Unterschiede zwischen Springboot und SpringMVC sind: 1. Unterschiedliche Konfigurationen; bereitgestellte Funktion; 8. Verschiedene Funktionen; 9. Unterschiedliche Community- und Dokumentationsunterstützung; 10. Ob Bereitstellungsdeskriptoren erforderlich sind.

Verwendung von SpringMVC für die Webdienstverarbeitung in der Java-API-Entwicklung Verwendung von SpringMVC für die Webdienstverarbeitung in der Java-API-Entwicklung Jun 17, 2023 pm 11:38 PM

Mit der Entwicklung des Internets werden Webdienste immer häufiger eingesetzt. Als Anwendungsprogrammierschnittstelle bringt JavaAPI ständig neue Versionen auf den Markt, um sich an unterschiedliche Anwendungsszenarien anzupassen. Als beliebtes Open-Source-Framework kann SpringMVC uns dabei helfen, auf einfache Weise Webanwendungen zu erstellen. In diesem Artikel wird ausführlich erläutert, wie SpringMVC für die Webdienstverarbeitung in der JavaAPI-Entwicklung verwendet wird, einschließlich der Konfiguration von SpringMVC, dem Schreiben von Controllern und der Verwendung

Vergleichen Sie die Ähnlichkeiten und Unterschiede zwischen SpringBoot und SpringMVC Vergleichen Sie die Ähnlichkeiten und Unterschiede zwischen SpringBoot und SpringMVC Dec 29, 2023 am 08:30 AM

Analyse der Ähnlichkeiten und Unterschiede zwischen SpringBoot und SpringMVC SpringBoot und SpringMVC sind sehr wichtige Entwicklungsframeworks im Java-Bereich. Obwohl beide Teil des Spring-Frameworks sind, gibt es einige offensichtliche Unterschiede in der Verwendung und Funktionalität. In diesem Artikel werden SpringBoot und SpringMVC verglichen und die Ähnlichkeiten und Unterschiede zwischen ihnen analysiert. Lassen Sie uns zunächst etwas über SpringBoot lernen. SpringBo

So verwenden Sie den SpringMVC-Interceptor von Java So verwenden Sie den SpringMVC-Interceptor von Java May 13, 2023 pm 02:55 PM

Die Rolle des Interceptors von SpringMVC ähnelt dem Filter in der Servlet-Entwicklung, der zur Vor- und Nachbearbeitung des Prozessors verwendet wird. Abfangjäger werden in einer bestimmten Reihenfolge zu einer Kette verbunden, und diese Kette wird als Abfangkette (InterceptorChain) bezeichnet. Wenn auf eine abgefangene Methode oder ein abgefangenes Feld zugegriffen wird, werden die Interceptoren in der Interceptor-Kette in der Reihenfolge aufgerufen, in der sie zuvor definiert wurden. Abfangjäger sind auch die konkrete Umsetzung von AOP-Ideen. Der Unterschied zwischen Interceptoren und Filtern: Filter (Filter) Der Verwendungsbereich von Interceptor (Intercepter) ist Teil der Servlet-Spezifikation und kann von jedem JavaWeb-Projekt verwendet werden

See all articles