Spring MVC: RequestMapping à la fois la classe et la méthode
Est-ce possible?
@Controller
@RequestMapping("/login")
public class LoginController {
@RequestMapping("/")
public String loginRoot() {
return "login";
}
@RequestMapping(value="/error", method=RequestMethod.GET)
public String loginError() {
return "login-error";
}
}
J'ai une erreur 404 lors de l'accès à localhost:8080/projectname/login
mais pas dans localhost:8080/projectname/login/error
.
Voici mon web.xml
nom du projet
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<servlet>
<description></description>
<servlet-name>projectname</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>projectname</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
source d'informationauteur Orvyl
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas besoin de la
/
de la méthode de cartographie. Juste la carte à""
.Vous n'avez pas besoin de "/" et vous devez également ajouter la méthode de la requête.
Envisager l'utilisation de spring mvc tests afin de rendre le processus de test de ces scénarios de plus facile:
https://spring.io/blog/2012/11/12/spring-framework-3-2-rc1-spring-mvc-test-framework
Oui, c'est possible. Le chemin d'accès dans
@RequestMapping
sur la méthode par rapport à la trajectoire de la classe d'annotation.Avec votre configuration actuelle,
loginRoot()
va gérer les demandes deEn supposant que vous n'avez rien d'autre dans votre configuration de la prévention de ce.