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>

 

 

九:项目结构:

 

 

十:运行结果:

 

 

 

 

正确:

 

 

 

错误:

 

 

 

 

数据校验:

 

 

 

 

 

 

 

 

 

posted @ 2016-09-28 00:42  ~花开不败~  阅读(390)  评论(1编辑  收藏  举报