English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Un pequeño caso de ejemplo de inicio de sesión de SpringMVC
Preparativos
La estructura de directorio es la siguiente
Para los principiantes, tener una estructura de directorio completa de un proyecto es una cosa muy afortunada.
Estructura de directorio
Recomendación personal: preste atención a springMVC-ubicación del archivo servlet.xml y el nombre del paquete de código fuente.
práctica de código
Primero es el administrador, web.xml:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-_app_3_1.xsd" id="WebApp_ID" version="3.1> <display-name>SpringTest</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>*.spring</url-pattern> </servlet-mapping> </web-app>
Luego viene el administrador de tareas springMVC-servlet.xml:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd"> <!-- La configuración más simple, deja que Spring explore por sí mismo--> <context:component-scan base-package="controller"></context:component-scan> </beans>
Es una interfaz de inicio de sesión, login.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> !DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html <head <meta http-equiv="Content-Type" content="text/html; charset=UTF-8> <title>Interfaz de inicio de sesión</>title </>head <body <form action="login.spring" method="post"> nombre de usuario:<input type="text" name="username"><br /> Contraseña:<input type="password" name="password"><br /> <input type="submit" value="ingresar"> </form> </body> </html>
la acción correspondiente a login.jsp es la página de backend que se debe procesar, es decir, nuestro Login.Java:
package controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @Controller // @Controller representa que esta clase Java es una capa de controlador public class Login { /** * La función de la anotación @RequestParam es: obtener el valor del parámetro desde la URL según el nombre del parámetro * @param username * El nombre de usuario, debe coincidir con el nombre del formulario * @param password * La contraseña del usuario, también debe coincidir con el elemento de datos del formulario * @param model * Un objeto de dominio, que se puede usar para almacenar valores de datos * @return */ @RequestMapping("/login") // @RequestMapping 注解可以用指定的URL路径访问本控制层 public String login(@RequestParam("username") String username, @RequestParam("password") String password, Model model) { if (username.equals("admin") && password.equals("admin")) { model.addAttribute("username", username); return "ok.jsp"; } else { model.addAttribute("username", username); return "no.jsp"; } } }
Lo último es ok.jsp y no.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> !DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html <head <meta http-equiv="Content-Type" content="text/html; charset=UTF-8> <title>Inserta un título aquí</>title </>head <body <font color="green">${username } </font>¡Bienvenido!]} </body> </html> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> !DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html <head <meta http-equiv="Content-Type" content="text/html; charset=UTF-8> <title>Inserta un título aquí</>title </>head <body <font color="red">Lo siento</font>¡No hay un usuario ${username }! <br /> <a href="login.jsp" rel="external nofollow" >Inténtalo de nuevo! </a> </body> </html>
Pruebas
Escribe http: en tu navegador//localhost:8080/SpringTest/login.jsp
Luego se puede probar el código. He probado personalmente y funciona bien, aquí no se adjuntan imágenes.
Resumen
Aquí van algunos consejos sobre la utilización de anotaciones:
@Controller es equivalente a springMVC-en servlet.xml
Gracias por leer, espero que pueda ayudar a todos, gracias por el apoyo a este sitio!