zoukankan      html  css  js  c++  java
  • struts2-3-登录校验

    一:登录页面:login.jsp

     1 <%@ page language="java" contentType="text/html; charset=utf-8"
     2     pageEncoding="utf-8"%>
     3 <%@ taglib prefix="s" uri="/struts-tags"%>
     4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     5 <html>
     6 <head>
     7 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
     8 <title>登录页面</title>
     9 </head>
    10 <body>
    11  <s:fielderror escape="false"></s:fielderror>
    12  <font color="red">${requestScope.error}</font>
    13  <form action="loginReg" method="post" >
    14   用户名:<input type="text" name="username"><br>
    15   密码:<input type="text" name="password"><br>
    16  <input type="submit" value="登录">
    17  </form>
    18 </body>
    19 </html>

    二:跳转到action   nuc.sw.action-->LoginRegAction

     1 package nuc.sw.action;
     2 
     3 import com.opensymphony.xwork2.ActionContext;
     4 import com.opensymphony.xwork2.ActionSupport;
     5 
     6 public class LoginRegAction extends ActionSupport{
     7     private String username;
     8     private String password;
     9     
    10     public String getUsername() {
    11         return username;
    12     }
    13 
    14     public void setUsername(String username) {
    15         this.username = username;
    16     }
    17 
    18     public String getPassword() {
    19         return password;
    20     }
    21 
    22     public void setPassword(String password) {
    23         this.password = password;
    24     }
    25 
    26     @Override
    27     public String execute() throws Exception {
    28 //    public String LoginMethod() throws Exception {
    29         // TODO Auto-generated method stub
    30         //登录逻辑
    31         if(username.equals("zd")&&password.equals("123")){
    32             ActionContext.getContext().getSession().put("user", username);
    33             ActionContext.getContext().getSession().put("pass", password);
    34             return SUCCESS;
    35         }
    36         else{
    37             
    38             ActionContext.getContext().put("error", "用户名或者密码错误");
    39             return ERROR;
    40         }
    41         
    42     }
    43     @Override
    44     public void validate() {
    45         // TODO Auto-generated method stub
    46         if(username==null||username.trim().equals(""))
    47             this.addFieldError("usernameError",  "<font color='red'>用户名不能为空</font>");
    48         if(password==null||password.trim().equals(""))
    49             this.addFieldError("passwordError",  "<font color='red'>密码不能为空</font>");
    50         
    51     }
    52 }

    三:修改配置文件struts.xml

     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <!DOCTYPE struts PUBLIC
     3     "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
     4     "http://struts.apache.org/dtds/struts-2.3.dtd">
     5 
     6 <struts>
     7  <constant name="struts.devMode" value="true" />
     8  <package name="default" namespace="/" extends="struts-default">
     9     <action name="loginReg" class="nuc.sw.action.LoginRegAction">
    10          <result name="success">/welcome.jsp</result>
    11          <result name="error">/login.jsp</result>
    12          <result name="input">/login.jsp</result>
    13      </action>
    14  </package>
    15     <!-- Add packages here -->
    16 </struts>

    四:登录成功页面   welcome.jsp

     1 <%@ page language="java" contentType="text/html; charset=utf-8"
     2     pageEncoding="utf-8"%>
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     4 <html>
     5 <head>
     6 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
     7 <title>Insert title here</title>
     8 </head>
     9 <body>
    10 欢迎${sessionScope.user}登录;
    11 </body>
    12 </html>

    五:action标签的method属性的取值

     1 public String LoginMethod() throws Exception  去@override 

    1 <action name="loginReg" class="nuc.sw.action.LoginRegAction" method="LoginMethod">

    六:使用ActionSupport所提供的方法

    1 @Override
    2     public void validate() {
    3         // TODO Auto-generated method stub
    4         if(username==null||username.trim().equals(""))
    5             this.addFieldError("usernameError", "用户名不能为空");
    6         if(password==null||password.trim().equals(""))
    7             this.addFieldError("passwordError", "密码不能为空");
    8         
    9     }

    七:修改struts.xml  获取校验的数据

     1 <result name="input">/login.jsp</result> 

    八:修改login.jsp 在登录页面显示错误信息

    1  <%@ taglib prefix="s" uri="/struts-tags"%>
    2 <s:fielderror escape="false"></s:fielderror>

    九:项目结构:

    十:运行结果:

     

    正确:

    错误:

     

    数据校验:

     

  • 相关阅读:
    poj 1113 Wall 凸包的应用
    NYOJ 78 圈水池 (入门级凸包)
    Monotone Chain Convex Hull(单调链凸包)
    poj Sudoku(数独) DFS
    poj 3009 Curling 2.0(dfs)
    poj 3083 Children of the Candy Corn
    Python join()方法
    通过FISH和下一代测序检测肺腺癌ALK基因融合比较
    华大病原微生物检测
    NGS检测ALK融合大起底--转载
  • 原文地址:https://www.cnblogs.com/Z-D-/p/5914936.html
Copyright © 2011-2022 走看看