Maison Java javaDidacticiel Série d'apprentissage SpringMVC (3) Règles de mappage de la demande d'URL à l'action

Série d'apprentissage SpringMVC (3) Règles de mappage de la demande d'URL à l'action

Mar 03, 2017 am 10:49 AM
springmvc

Dans la série (Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à laction), nous avons montré une simple requête get et renvoyé une simple page helloworld. Dans cet article, nous allons apprendre comment configurer les règles de mappage d'URL d'une action.

Dans la série (Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à laction), nous avons configuré un @RequestMapping(value = "/helloworld") sur HelloWorldController, ce qui signifie que toutes les demandes d'action adressées au contrôleur doivent commencer par "/helloworld".

Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à laction. Mappage du chemin d'URL

Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à laction.Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à laction. Configurez plusieurs mappages d'URL pour une action :

Nous avons mis @ dans la méthode d'action index() de HelloWorldController dans l'article précédent RequestMapping. est remplacé par @RequestMapping(value={"/index", "/hello"}, method = {RequestMethod.GET}), ce qui signifie que l'action est configurée avec deux mappages de /index et /hello. Exécutez le test comme suit :

Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à laction

Vous pouvez voir que la requête /helloworld/hello correspond également avec succès.

Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à laction.Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à laction. Mappage des paramètres de requête d'URL :

Ceci est souvent utilisé lors d'une requête, par exemple, nous obtenons un certain enregistrement basé sur un identifiant ou un numéro.

Ajoutez une action getDetail dans HelloWorldController, le code est le suivant :

@RequestMapping(value="/detail/{id}", method = {RequestMethod.GET})public ModelAndView getDetail(@PathVariable(value="id") Integer id){
    
    ModelAndView modelAndView = new ModelAndView();  
    modelAndView.addObject("id", id);  
    modelAndView.setViewName("detail");  
    return modelAndView;
}
Copier après la connexion


where value="/detail/{id}", dans { id} est un espace réservé indiquant que la demande d'URL peut être mappée vers /detail/xxxx, tel que : /detail/Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à lactionSérie dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à lactionSérie dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction, etc.

Le paramètre @PathVariable(value="id") de la méthode Integer id est utilisé pour mapper la variable correspondant à l'espace réservé dans l'URL au paramètre id La valeur de value dans @PathVariable(value=. "id") Doit être cohérent avec la valeur entre les accolades /{id}.

Ajoutez la vue detail.jsp dans les vues pour afficher la valeur d'identification obtenue. Le contenu de la vue est le suivant :

<%@ page language="java" contentType="text/html; charset=UTF-Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction"
    pageEncoding="UTF-Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction"%><!DOCTYPE html PUBLIC "-//WSérie dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à lactionC//DTD HTML Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction.0Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à laction Transitional//EN" "http://www.wSérie dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction.org/TR/htmlSérie dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction"><title>Insert title here</title></head><body>
    ${id}</body></html>
Copier après la connexion


Exécutez le test, Demander l'adresse URLhttp://localhost:Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction0Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction0/SpringMVCLesson/helloworld/ detail/Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à lactionSérie dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à lactionSérie dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction, Les résultats sont les suivants :

Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à laction

Vous pouvez voir que l'identifiant que nous avons demandé a été correctement affiché.

Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à laction.Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction.Mappage de caractères génériques d'URL :

Nous pouvons également configurer le mappage d'URL via des caractères génériques. Les caractères génériques incluent "?" et "*". Parmi eux, "?" signifie Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à laction caractère, "*" signifie correspondre à plusieurs caractères et "**" signifie correspondre à 0 chemin ou plus.

Par exemple :

"/helloworld/index?" peut correspondre à "/helloworld/indexA", "/helloworld/indexB", mais ne peut pas correspondre à "/helloworld/index" ni à " / helloworld/indexAA";

"/helloworld/index*" peut correspondre à "/helloworld/index", "/helloworld/indexA", "/helloworld/indexAA" mais pas à "/helloworld/index/" A ";

"/helloworld/index/*" peut correspondre à "/helloworld/index/", "/helloworld/index/A", "/helloworld/index/AA", "/helloworld/index" /AB" mais ne peut pas correspondre à "/helloworld/index", "/helloworld/index/A/B" ;

"/helloworld/index/**" peut correspondre à "/helloworld/index/" Il y a de nombreux sous-chemins, tels que : "/helloworld/index/A/B/C/D";

S'il y a maintenant "/helloworld/index" et "/helloworld/*", si la requête l'adresse est « /helloworld/index ». Alors, comment va-t-elle correspondre ? Spring MVC correspondra en fonction du principe de correspondance la plus longue en premier (c'est-à-dire celui qui correspond le plus dans la configuration de mappage), il correspondra donc à "/helloworld/index". Faisons le test :

Ajoutez un urlTest. dans l'action HelloWorldController, le contenu est le suivant :

@RequestMapping(value="/*", method = {RequestMethod.GET})public ModelAndView urlTest(){
    
    ModelAndView modelAndView = new ModelAndView();   
    modelAndView.setViewName("urltest");  
    return modelAndView;
}
Copier après la connexion


Ajoutez une nouvelle vue urltest.jsp dans le dossier vues Afin de la distinguer de index.jsp, le contenu de urltest.jsp est le suivant :

<%@ page language="java" contentType="text/html; charset=UTF-Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction"
    pageEncoding="UTF-Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction"%><!DOCTYPE html PUBLIC "-//WSérie dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à lactionC//DTD HTML Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction.0Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à laction Transitional//EN" 
    "http://www.wSérie dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction.org/TR/htmlSérie dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction">
    <title>Insert title here</title>
    </head>
    <body>
    urlTest!</body></html>
Copier après la connexion


Demandez http://localhost:Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction0Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction0/SpringMVCLesson/helloworld/index pour voir les résultats :

Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction

On voit que ce qui est cartographié est l'action correspondant à l'index.

Demande http://localhost:Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction0Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction0/SpringMVCLesson/helloworld/AAA pour visualiser les résultats :

Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction

On voit que l'action correspondant à urlTest est cartographié.

Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à laction.Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction.Mappage d'expression régulière d'URL :

Spring MVC还支持正则表达式方式的映射配置,我们通过一个测试来展示:

在HelloWorldController添加一个regUrlTest的action,内容如下:

@RequestMapping(value="/reg/{name:\\w+}-{age:\\d+}", 
method = {RequestMethod.GET})public ModelAndView regUrlTest(@PathVariable(value="name") String name, 
@PathVariable(value="age") Integer age){
    
    ModelAndView modelAndView = new ModelAndView();   
    modelAndView.addObject("name", name); 
    modelAndView.addObject("age", age); 
    modelAndView.setViewName("regurltest");  
    return modelAndView;
}
Copier après la connexion


在views文件夹中新加一个视图regurltest.jsp内容如下:

<%@ page language="java" contentType="text/html; charset=UTF-Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction"
    pageEncoding="UTF-Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction"%><!DOCTYPE html PUBLIC "-//WSérie dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à lactionC//DTD HTML Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction.0Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à laction Transitional//EN" 
    "http://www.wSérie dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction.org/TR/htmlSérie dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction/loose.dtd"><html>
    <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction">
    <title>Insert title here</title></head><body>
    ${name}-${age}</body></html>
Copier après la connexion


请求http://www.php.cn/:Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction0Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction0/SpringMVCLesson/helloworld/reg/Hanmeimei-Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à lactionSérie dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction查看结果:

Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction

请求http://www.php.cn/:Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction0Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction0/SpringMVCLesson/helloworld/reg/Hanmeimei-Lilei查看结果(会发现找不到对应的action返回Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction0Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction):

Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction

Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à laction.限制action所接受的请求方式(get或post):

之前我们在HelloWorldController的index() action方法上配置的为@RequestMapping(value="/*", method = {RequestMethod.GET})我们把它改为@RequestMapping(value="/*", method = {RequestMethod.POST})再次请求http://www.php.cn/:Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction0Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction0/SpringMVCLesson/helloworld/index试一下:

Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction

这里可以看到结果映射到了urlTest这个action,这是因为我们在urlTest上配置的为@RequestMapping(value="/*", method = {RequestMethod.GET}),当index这个action映射不在符合时便映射到了urlTest。

我们也可以这样配置@RequestMapping(value="/*", method = {RequestMethod.GET, RequestMethod.POST})表示该action可以接受get或post请求,不过更简单的是不对method做配置则默认支持所有请求方式。

Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction.限制action所接受请求的参数:

我们可以为某个action指定映射的请求中必须包含某参数,或必须不包含某参数,或者某参数必须等于某个值,或者某参数必须不等于某个值这些限制。

Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction.Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à laction.指定映射请求必须包含某参数:

在HelloWorldController添加一个paramsTest的action,内容如下:

@RequestMapping(value="/paramstest", params="example", 
method = {RequestMethod.GET})public ModelAndView paramsTest(){
    
    ModelAndView modelAndView = new ModelAndView();   
    modelAndView.setViewName("paramstest");  
    return modelAndView;
}
Copier après la connexion


在views文件夹中新加一个视图paramstest.jsp内容如下:

<%@ page language="java" contentType="text/html; charset=UTF-Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction"
    pageEncoding="UTF-Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction"%><!DOCTYPE html PUBLIC "-//WSérie dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à lactionC//DTD HTML Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction.0Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à laction Transitional//EN" 
    "http://www.wSérie dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction.org/TR/htmlSérie dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; 
    charset=UTF-Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction"><title>Insert title here</title></head><body>
    paramstest!</body></html>
Copier après la connexion


请求http://www.php.cn/:Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction0Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction0/SpringMVCLesson/helloworld/paramstest查看结果:

Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction

这里可以看到没有找到paramsTest这个action结果还是映射到了urlTest这个action。

请求http://www.php.cn/:Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction0Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction0/SpringMVCLesson/helloworld/paramstest?example查看结果:

Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction

这次可以看到请求映射到了paramsTest这个action。

Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction.Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à laction.指定映射请求必须包含某参数:

把刚才添加的paramsTest的@RequestMapping(value="/paramstest", params="example", method = {RequestMethod.GET}) 改为@RequestMapping(value="/paramstest", params="!example", method = {RequestMethod.GET})

重新请求http://www.php.cn/:Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction0Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction0/SpringMVCLesson/helloworld/paramstest?example查看结果:

Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à laction0

可以看到又没有找到paramsTest这个action而映射到了urlTest这个action。

Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction.Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction.指定映射请求中或者某参数必须等于某个值:

把刚才添加的paramsTest的@RequestMapping(value="/paramstest", params="example", method = {RequestMethod.GET}) 改为@RequestMapping(value="/paramstest", params="example=AAA", method = {RequestMethod.GET})

Demande http://www.php.cn/:Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction0Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction0/SpringMVCLesson/helloworld/paramstest?example=BBB Voir les résultats :

Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à lactionSérie dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à laction

Vous pouvez voir que paramsTest était introuvable Cette action est mappée à l'action urlTest.

Demande http://localhost:Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction0Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction0/SpringMVCLesson/helloworld/paramstest?example=BBB Voir les résultats :

Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à lactionSérie dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à laction

Cette fois, vous pouvez voir que le La requête est mappée à paramsTest cette action.

Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction.Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction. Spécifiez qu'un certain paramètre dans la requête de mappage ne doit pas être égal à une certaine valeur :

Modifiez le @RequestMapping(value="/paramstest", params="example", method = {RequestMethod.GET}) remplacé par @RequestMapping(value="/paramstest", params="example!=AAA", method = {RequestMethod.GET})

Demande http://localhost:Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction0Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction0/SpringMVCLesson/helloworld/paramstest?example=AAA Voir les résultats :

Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à lactionSérie dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction

Vous pouvez voir La demande est mappée à l'action paramsTest.

Demande http://localhost:Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction0Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction0/SpringMVCLesson/helloworld/paramstest?example=AAA Voir les résultats :

Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à lactionSérie dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction

Vous pouvez voir que l'action paramsTest n'a pas été trouvé Et il est mappé à l'action urlTest.

Remarque : lorsque nous spécifions plusieurs paramètres pour les paramètres, tels que : params={"exampleSérie dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à laction", "exampleSérie dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à laction"}, cela représente une relation et, c'est-à-dire que les deux restrictions de paramètres doivent être respectées en même temps.

Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction. Limiter les paramètres d'en-tête de requête acceptés par l'action :

De la même manière que limiter les paramètres de requête acceptés par l'action, nous pouvons également spécifier un mappage pour une action L'en-tête de la requête doit contenir un certain paramètre, ou ne doit pas contenir un certain paramètre, ou un certain paramètre doit être égal à une certaine valeur, ou un certain paramètre ne doit pas être égal à une certaine valeur.

Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction.Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à laction. Spécifiez que l'en-tête de la requête de mappage doit contenir certains paramètres :

@RequestMapping(value="/headerTest", headers = "example"). Cela revient à limiter les paramètres de requête. Vous pouvez vous référer à l'exemple ci-dessus pour les tests.

Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction.Série dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à laction. L'en-tête de requête de mappage spécifié ne doit pas contenir un certain paramètre :

@RequestMapping(value="/headerTest", headers = "!example"). Cela revient à limiter les paramètres de requête. Vous pouvez vous référer à l'exemple ci-dessus pour les tests.

Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction.Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction. Spécifiez qu'un certain paramètre dans l'en-tête de la requête de mappage doit être égal à une certaine valeur :

@RequestMapping(value="/headerTest", headers = "Accept=text/html "). Cela revient à limiter les paramètres de requête. Vous pouvez vous référer à l'exemple ci-dessus pour les tests.

Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction.Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction. Spécifiez qu'un certain paramètre dans l'en-tête de la requête de mappage ne doit pas être égal à une certaine valeur :

@RequestMapping(value="/headerTest", headers = "Accepter ! =text/html"). Cela revient à limiter les paramètres de requête. Vous pouvez vous référer à l'exemple ci-dessus pour les tests.

Remarque : lorsque nous spécifions plusieurs paramètres pour les en-têtes, tels que : headers={"exampleSérie dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à laction", "exampleSérie dapprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction) Règles de mappage de la demande dURL à laction"}, cela représente une relation et, c'est-à-dire que les restrictions des deux paramètres doivent être respectées. en même temps.

Ce qui précède est le contenu des règles de mappage des requêtes URL aux actions de la série d'apprentissage SpringMVC (Série dapprentissage SpringMVC (3) Règles de mappage de la demande dURL à laction), et plus de contenu connexe Veuillez faire attention au site Web PHP chinois (www.php.cn) !


Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comparaison et analyse des différences entre SpringBoot et SpringMVC Comparaison et analyse des différences entre SpringBoot et SpringMVC Dec 29, 2023 am 11:02 AM

SpringBoot et SpringMVC sont tous deux des frameworks couramment utilisés dans le développement Java, mais il existe des différences évidentes entre eux. Cet article explorera les fonctionnalités et les utilisations de ces deux frameworks et comparera leurs différences. Tout d’abord, découvrons SpringBoot. SpringBoot a été développé par l'équipe Pivotal pour simplifier la création et le déploiement d'applications basées sur le framework Spring. Il fournit un moyen rapide et léger de créer des fichiers exécutables autonomes.

Quelles sont les différences entre SpringBoot et SpringMVC ? Quelles sont les différences entre SpringBoot et SpringMVC ? Dec 29, 2023 am 10:46 AM

Quelle est la différence entre SpringBoot et SpringMVC ? SpringBoot et SpringMVC sont deux frameworks de développement Java très populaires pour la création d'applications Web. Bien qu’ils soient souvent utilisés séparément, les différences entre eux sont évidentes. Tout d’abord, SpringBoot peut être considéré comme une extension ou une version améliorée du framework Spring. Il est conçu pour simplifier le processus d'initialisation et de configuration des applications Spring afin d'aider les développeurs

Quelle est la différence entre SpringBoot et SpringMVC ? Quelle est la différence entre SpringBoot et SpringMVC ? Dec 29, 2023 pm 05:19 PM

SpringBoot et SpringMVC sont deux frameworks couramment utilisés dans le développement Java. Ils sont tous deux fournis par le framework Spring, mais ils présentent certaines différences dans leurs fonctions et leur utilisation. Cet article présentera respectivement les caractéristiques et les différences de SpringBoot et SpringMVC. 1. Caractéristiques de SpringBoot : Configuration simplifiée : SpringBoot simplifie considérablement le processus de configuration du projet grâce au principe de convention sur la configuration. Il peut configurer automatiquement les paramètres requis par le projet et les développeurs

Quelles sont les différences entre springboot et springmvc Quelles sont les différences entre springboot et springmvc Jun 07, 2023 am 10:10 AM

Les différences entre springboot et springmvc sont les suivantes : 1. Différentes significations ; 2. Différentes configurations ; 3. Différentes dépendances ; 4. Différentes périodes de développement 6. Différentes façons d'implémenter la fonction d'empaquetage JAR ; Fonction fournie ; 8. Différentes fonctions ; 9. Différents supports de communauté et de documentation ;

Quelles sont les différences entre spring et springmvc Quelles sont les différences entre spring et springmvc Dec 29, 2023 pm 05:02 PM

La différence entre spring et springmvc : 1. Positionnement et fonctions ; 2. Fonctions de base 3. Champs d'application ; Introduction détaillée : 1. Positionnement et fonctions. Spring est un cadre de développement d'applications complet qui fournit l'injection de dépendances, la programmation orientée aspect, la gestion des transactions et d'autres fonctions. Il est conçu pour simplifier le développement d'applications au niveau de l'entreprise, et Spring MVC est le meilleur. Framework Spring. Un module qu'il contient est utilisé pour le développement d'applications Web et implémente le modèle MVC 2. Fonctions de base, etc.

Utilisation de SpringMVC pour le traitement des services Web dans le développement d'API Java Utilisation de SpringMVC pour le traitement des services Web dans le développement d'API Java Jun 17, 2023 pm 11:38 PM

Avec le développement d’Internet, les services Web deviennent de plus en plus courants. En tant qu'interface de programmation d'applications, JavaAPI lance constamment de nouvelles versions pour s'adapter aux différents scénarios d'application. En tant que framework open source populaire, SpringMVC peut nous aider à créer facilement des applications Web. Cet article explique en détail comment utiliser SpringMVC pour le traitement des services Web dans le développement JavaAPI, y compris la configuration de SpringMVC, l'écriture de contrôleurs et l'utilisation de

Comment utiliser l'intercepteur SpringMVC de Java Comment utiliser l'intercepteur SpringMVC de Java May 13, 2023 pm 02:55 PM

Le rôle de l'intercepteur L'intercepteur de SpringMVC est similaire au filtre dans le développement de servlets, qui est utilisé pour pré-traiter et post-traiter le processeur. Les intercepteurs sont connectés en une chaîne dans un certain ordre, et cette chaîne est appelée chaîne d'intercepteurs (InterceptorChain). Lors de l'accès à une méthode ou à un champ intercepté, les intercepteurs de la chaîne d'intercepteurs seront appelés dans l'ordre dans lequel ils ont été précédemment définis. Les intercepteurs sont également la mise en œuvre spécifique des idées AOP. La différence entre les intercepteurs et les filtres : Filtre (Filter) Le domaine d'utilisation de l'intercepteur (Intercepter) fait partie de la spécification du servlet et peut être utilisé par n'importe quel projet JavaWeb.

Comparez les similitudes et les différences entre SpringBoot et SpringMVC Comparez les similitudes et les différences entre SpringBoot et SpringMVC Dec 29, 2023 am 08:30 AM

Analyser les similitudes et les différences entre SpringBoot et SpringMVC SpringBoot et SpringMVC sont des frameworks de développement très importants dans le domaine Java. Bien qu'ils fassent tous deux partie du framework Spring, il existe des différences évidentes en termes d'utilisation et de fonctionnalité. Cet article comparera SpringBoot et SpringMVC et analysera les similitudes et les différences entre eux. Tout d’abord, découvrons SpringBoot. PrintempsBo

See all articles