Primero, publicamos el entorno correspondiente:
Configuración:
Eclipse4.3.2
JDK1.7_45
Mysql 5.0+
Entonces llega al punto:
1. Login.jsp
Principalmente, puede usar la etiqueta OGNL o usar el formulario HTML para llamar a LoginAction.action, y transmitirla en Post.
Después del juicio en LoginaAction, habrá un mensaje de inmediato, que debe mostrarse utilizando <S: Fielderror/>.
<%@ taglib uri = "/struts-tags" prefix = "s"%> <! Doctype html public "-// w3c // dtd html 4.01 transitional // en" "http://www.w3.org/tr/html4/loose.dtd"> <html> <fared> <fared> <fared> http-equiv = "content-type" content = "text/html; charset = utf-8"> <title> login </title> </head> <body> <center> por favor inicie sesión <!-this.AddActionError ("Nombre de usuario o contraseña es incorrecta!"); Acción La información de visualización establecida en el HTML debe hacer referencia a la expresión de OGNL-> <S: ActionError /> <%-<S: Fielderror />-%> <S: Form Action = "LoginAction.Action" Method = "Post"> <s: Labor Value = "Username:" /> <S: Textield Name = "Username" /> <r /> <S: Label Value = "Password" /> /> /> " name = "UserPwd" /> <Br /> <s: enviar value = "LoginAction" /> </s: Form> < /Center> < /Body> 2. Struts.xml
Configuración <Br /> El espacio de nombres es " /", heredar "Struts-default"
Inicie sesión con éxito, salte a index.jsp
Iniciar sesión fallido, login.jsp se devolverá
<preame = "código"> <? xml versión = "1.0" encoding = "utf-8"?> <! DocType Struts public "-// Apache Software Foundation // Dtd Struts Configuration 2.3 // en" "http://struts.apache.org/dtds/dtuts-2.3.dtd"> <<rtuts> <!-The Struts2. por defecto. Struts2 será procesado y estará más formateado. Si no se refiere a ella, puede agregar esta propiedad-> <constant name = "struts.ui.theme" value = "simple"/> <paquete name = "default" namespace = "/" extends = "struts-default"> <Action name = "loginaction"> <resultado name = "éxito">/índice.jsp </resultado> <resultado name = "Enumer </truts>
3. LoginAction.java
Loginaccion
Heredar el método ActionSupport y anular los métodos Execute () y validate ():
Ejecutar el método llame al valor de la base de datos llamado desde el fondo
El método Validate se utiliza para determinar si el nombre de usuario y la entrada de contraseña están vacías y le recuerdan que el método se llama en Login.jsp. Puede llamar a la información de configuración directamente de forma predeterminada sin configurarla, a menos que la establezca en strtus.xml.
paquete com.tikitoo.action; import com.opensymphony.xwork2.ActionSupport; import com.tikitoo.service.userinfoservice; import com.tikitoo.service.userinfoserviceImpl; / ** * @author tikitoo1 * @see com.opensymphony.xwork2.Actionsupport * @see com.opensymphony.xwork2.Actionsupport * */ public class Loginaction extiende ActionSupport {private static final Long serialversionUid = -476056160215454441l; / *** Struts2 Método de llamada predeterminado* @return Struts2 Valor de retorno de resultados*/ @Override public String Execute () lanza la excepción {UserInfoservice UserInfoservice = new UserInfoserviceImpl (); Boolean Flag = userInfoservice.loginByUsernameSeanDUserPWD (nombre de usuario, userpwd); Cadena msg = ""; if (flag == true) {this.addfielderror ("true", "Iniciar sesión con éxito"); msg = "éxito"; } else {this.addfieldnergor ("¡El nombre de usuario o la contraseña es incorrecto!"); msg = "entrada"; } return msg; } // ejecute () end/ *** Verificación de inicio de sesión* Reescribir el método de ActionSupport*/ @Override public void validate () {// Determine si el nombre de usuario está vacío if (getUsername () == null || ".equals (getUsername (). Trim ())) {this.addfielderror (" username "," no puede ser vacío "); } // Determine si la contraseña está vacía si (getUserPwd () == null || "" .equals (getUserPwd (). Trim ())) {this.addfielderror ("userpwd", "contraseña no puede estar vacía"); }} // validate () End private String Tip; public String gettip () {return tip; } nombre de usuario de cadena privada; Cadena privada userpwd; public String getUsername () {return UserName; } public void setUsername (String UserName) {this.Username = username; } public String getUserPwd () {return userPwd; } public void setUSerPWD (String UserPwd) {this.userpwd = userPwd; }}El nombre de usuario y la contraseña se ingresan incorrectamente:
Si el nombre de usuario se ingresa correctamente, el inicio de sesión tendrá éxito:
Lo anterior se trata de este artículo, espero que sea útil para el aprendizaje de todos.