Struts 2 + JQuery +Ajax 无刷新 登录验证
来源:互联网 发布:已过期备案域名 编辑:程序博客网 时间:2024/05/16 17:18
JSP里应该了Ajax 与水印的效果
JSP代码:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML>
<HEAD>
<base href="<%=basePath%>">
<TITLE>考勤系统</TITLE>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<LINK href="css/User_Login.css" type="text/css" rel="stylesheet">
<script language="javascript" type="text/javascript" src="js/jquery.js"></script>
<script language="javascript" type="text/javascript" src="js/jquery.watermark.js"></script>
<script language="javascript" type="text/javascript" src="js/chkUtil.js"></script>
<script language="javascript" type="text/javascript" src="js/userLogin.js"></script>
</HEAD>
<BODY id="userlogin_body">
<form>
<DIV id="user_login">
<DL>
<DD id="user_top">
<UL>
<LI class="user_top_l"></LI>
<LI class="user_top_c"></LI>
<LI class="user_top_r"></LI>
</UL>
</DD>
<DD id="user_main">
<UL>
<LI class="user_main_l"></LI>
<LI class="user_main_c">
<DIV class="user_main_box">
<UL>
<LI class="user_main_text">用户名: </LI>
<LI class="user_main_input"><INPUT class="TxtUserNameCssClass" id="userCode"
maxLength="20" name="userCode"> </LI></UL>
<UL>
<LI class="user_main_text">密码: </LI>
<LI class="user_main_input"><INPUT class="TxtPasswordCssClass" id="password"
type="password" name="password" value="test"> </LI></UL>
<UL>
<LI class="user_main_text">验证码: </LI>
<LI class="user_main_input"><div><span><input type="text" name="randCode" class="TxtValidateCodeCssClass" id="randCode" maxlength="4" value="1234" size="4"/></span>
<span><img src="frame/image.jsp" width="50" height="20"></span>
</div></LI>
</UL>
</DIV></LI>
<LI class="user_main_r"><img id="btnEnter"
style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"
src="images/user_botton.gif" name="btnEnter"/>
</LI>
</UL>
</DD>
<DD id="user_bottom">
<UL>
<LI class="user_bottom_l"></LI>
<LI class="user_bottom_c" id="msgText">考勤系统 V1.0.0.1</LI>
<LI class="user_bottom_r"></LI>
</UL>
</DD>
</DL>
</DIV>
<SPAN id="ValrUserName" style="DISPLAY: none; COLOR: red"></SPAN>
<SPAN id="ValrPassword" style="DISPLAY: none; COLOR: red"></SPAN>
<SPAN id="ValrValidateCode" style="DISPLAY: none; COLOR: red"></SPAN>
<DIV id="ValidationSummary1" style="DISPLAY: none; COLOR: red"></DIV>
<DIV></DIV>
</FORM>
</BODY>
</HTML>
XML文件:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="userLogin" namespace="/attendance" extends="json-default">
<action name="userLogin" class="com.test.attendance.action.UserAction" method="login">
<result type="json">
<param name="excludeProperties">
<!-- 序列化属性中排除 ,这里的userService,user将不会以json格式输出 -->
<!-- userService因为是注入进来的对象 这里不排除的话会报异常 -->
userService,user
</param>
<param name="root">responseText</param>
</result>
</action>
</package>
<package name="menu" namespace="/menu" extends="struts-default">
<action name="welcome" class="com.test.attendance.action.MenuAction">
<result>/frame/login.jsp</result>
</action>
<action name="index" class="com.test.attendance.action.MenuAction" method="index">
<result name="SUCCESS">/frame/index.jsp</result>
<result name="ERROR">/frame/error.jsp</result>
</action>
</package>
</struts>
Action 代码:
package com.snprint.attendance.action;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
/**
* @author Saindy
*
*/
public class UserAction extends ActionSupport{
private static final long serialVersionUID = -8176928115208075330L;
private String userCode;
private String userPwd;
private String randCode;
private String responseText;
这里省去了get set 方法
/**
* 进入Index.jsp 主界面
* @return String
* @throws Exception
*/
public String index() throws Exception {
return SUCCESS;
}
/**
* 用户登录
* @return String
* */
public String login() throws Exception {
User user=new User();
user.setUserCode(userCode);
user.setUserPwd(userPwd);
String result=null;
//得到session中的验证码
ActionContext actionContext=ActionContext.getContext();
Map<String, Object> session=actionContext.getSession();
String rand=(String) session.get("rand");
if(rand.equals(randCode)){
//查询数据库判断在返回true反之false
if(userService.userLogin(user)){
result="yes";
//写入cookie
//1、 创建cookie对象
Cookie cookie = new Cookie("userCode",userCode);
//2、 设置最大时效
//默认该cookie是存储在浏览器的内存中,用户关闭浏览器则被删除,下面的方法是将cookie存储在硬盘上。
//本程序设置cookie的有效时间为七天,如果设置为0则是删除该cookie
cookie.setMaxAge(60*60*24*7);
//3、向客户端添加Cookie
//将cookie放入到HTTP响应报头,可以使用HttpServletResponse的addCookie方法,此方法不修改之前指定的Set-Cookie头信息,而是创建新的头信息。
//注意:设置cookie的步骤为创建cookie对象,设置最大时效,将cookie放入响应头信息,即发送到客户程序。
ServletActionContext.getResponse().addCookie(cookie); //生成cookie到客户端
//记录登录成功,并将它保存到session中
session.put("loginFlag","true");
//登录成功之后,保存其他信息到session中
int userID=user.getUserID();
String userCode=user.getUserCode();
session.put("userCode", userCode);
session.put("userID", userID);
这里省去了Service 和 Dao 的两个方法
List<User> userInfo=userService.getUserInfo(userID);
Iterator<User> it=userInfo.iterator();
while(it.hasNext()){
user=(User) it.next();
String s_trueName=user.getTrueName();
int s_powers=user.getPowers();
session.put("s_trueName", s_trueName);
session.put("s_powers", s_powers);
}
}
else{
result="no";
}
}
else{
result="randCode";
}
session.remove("rand");
setResponseText(result);
return SUCCESS;
}
}
- Struts 2 + JQuery +Ajax 无刷新 登录验证
- jQuery+AJAX+Struts实现无刷新分页
- jQuery+AJAX+Struts实现无刷新分页
- 基于jquery ajax 用户无刷新登录
- jQuery ajax 无刷新登录完整代码
- jquery-ajax-无刷新验证--案例6
- ThinkPHP+JQuery实现ajax无刷新登录验证(详解+相关问题)
- ajax 无刷新验证
- Ajax+存储过程实现无刷新登录验证功能
- jquery-json-ajax-无刷新验证--案例7
- Ajax无刷新验证用户名(Dom版+JQuery版)
- Struts2+jquery+ajax+json实现无刷新登陆验证.
- Ajax无刷新用户登录
- AJAX无刷新验证技术
- Struts 2+Jquery+JSON(登录验证)
- Struts 2+Jquery+JSON(登录验证)
- Struts+Ajax实现登录验证
- jquery+ajax无刷新翻页
- DLL中的页面设置对话框
- 工作一年多
- access(.mdb)数据库导入到sql server中
- 临近毕业,设计是个大问题
- Linux 手动建立账号
- Struts 2 + JQuery +Ajax 无刷新 登录验证
- MS08-067通用bypass DEP的缓冲区溢出栈帧构造方法的学习
- winrar加密分析
- 突破win2003 sp2中基于硬件的DEP
- windows溢出保护原理与绕过方法概览
- 当当网购物上当
- 获取IP
- C++存储类
- 有一种很奇怪的精神叫“加班”...?