struts2+jquery实现ajax登陆实例详解
文本仪一个实例讲述了struts2+jquery实现ajax登陆的实现方法,具体步骤如下:
一、新建一个web项目,取名test。配置好struts2的环境,并导入Jquery的js文件到该项目。
二、在com.action包下,新建一个loginAction.java
loginAction.java的代码如下
packagecom.action; importorg.apache.struts2.convention.annotation.Action; importorg.apache.struts2.convention.annotation.ParentPackage; importorg.apache.struts2.convention.annotation.Result; importorg.apache.struts2.convention.annotation.Results; importcom.opensymphony.xwork2.ActionSupport; @Action("login") @ParentPackage(value="json-default") @Results({@Result(name="success",type="json",params={"data","flag"}),}) publicclassLoginActionextendsActionSupport{ /** * */ privatestaticfinallongserialVersionUID=1751244794407005783L; privateStringflag; privateStringusername; privateStringpassword; publicStringexecute(){ try{ if(getUsername()==null||getUsername().trim().equals("")){ setFlag("用户名不能为空"); returnSUCCESS; }elseif(getPassword()==null||getPassword().trim().equals("")){ setFlag("密码不能为空"); returnSUCCESS; }elseif(getUsername().trim().equals("admin") &&getPassword().equals("admin")){ setFlag("登陆成功"); returnSUCCESS; }else{ setFlag("用户名或密码错误"); returnSUCCESS; } }catch(Exceptione){ e.printStackTrace(); setFlag("登陆异常"); returnSUCCESS; } } publicStringgetFlag(){ returnflag; } publicvoidsetFlag(Stringflag){ this.flag=flag; } publicStringgetPassword(){ returnpassword; } publicvoidsetPassword(Stringpassword){ this.password=password; } publicStringgetUsername(){ returnusername; } publicvoidsetUsername(Stringusername){ this.username=username; } }
三、在WebRoot目录下新建index.jsp和success.jsp
index.jsp为登陆界面,success.jsp为登陆成功后跳转的界面。
index.jsp内容如下:
<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%> <% Stringpath=request.getContextPath(); StringbasePath=request.getScheme()+"://" +request.getServerName()+":"+request.getServerPort() +path+"/"; %> <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"> <html> <head> <basehref="<%=basePath%>"rel="externalnofollow"> <title>MyJSP'index.jsp'startingpage</title> <metahttp-equiv="pragma"content="no-cache"> <metahttp-equiv="cache-control"content="no-cache"> <metahttp-equiv="expires"content="0"> <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3"> <metahttp-equiv="description"content="Thisismypage"> <scripttype="text/javascript"src="./resource/js/jquery.min.js"></script> </head> <scripttype="text/javascript"> $(document).ready(function(){ $(".loginButton").click(function(){ varname=$("#username").val();//获取登陆用户名 varpassword=$("#password").val();//获取登陆密码 $.post("login",{ username:name, password:password },callback,"json"); }); functioncallback(data){ varvalue=data.flag; if(value=="登陆成功"){ location.href="./success.jsp"rel="externalnofollow"; }else{ alert(value); } }); </script> <body> <inputname="username"id="username"type="text"/> <inputname="password"id="password"type="password"/> <buttonclass="loginButton"class="btnbtn-inverse">登陆</button> </body> </html>