使用Nutz的json视图实现前台密码验证
【阅读本文前提】
您了解Nutz框架(刚刚接触Nutz,对此还不熟悉),想要使用json视图;
您对jquery的ajax还不熟悉,想要使用此功能;
您使用了MD5加密了原始密码,或者其他方式加密了原始密码,在修改密码时候需要先把用户输入的原始密码传到后台,在进行加密,与数据库中的密码判断,如果相同,传回到页面。
【正文】
1.怎么在项目中使用Nutz框架,这里就不说了,具体可查看:
http://code.google.com/p/nutz/wiki/nutz_preface?tm=6
2.前台修改密码部分
修改密码的页面的代码为(我使用了FreeMarker视图,但对功能实现不影响,您也可用其他视图):
<form name="theForm" action="" method="post">
<input type="hidden" name="personId" value="aa" />
<table width="95%" border="0" cellPadding="0" cellSpacing="1" bgcolor="#6386d6">
<tr bgcolor="#EFF3F7" class="TableBody1">
<td width="35%" height="37" align="right"><b>登录名:</b></td>
<td height="37" align="left">${Session[config.session_user].loginName}</td>
</tr>
<tr bgcolor="#EFF3F7" class="TableBody1">
<td width="35%" height="37" align="right"><b>用户名:</b></td>
<td height="37" align="left">${Session[config.session_user].userName}</td>
</tr>
<tr bgcolor="#EFF3F7" class="TableBody1">
<td width="35%" height="37" align="right"><b>原始密码:</b></td>
<td height="37" align="left">
<input type="password" name="oldpassword" value="" />
</td>
</tr>
<tr bgcolor="#EFF3F7" class="TableBody1">
<td width="35%" height="37" align="right"><b>新密码:</b></td>
<td height="37" align="left">
<input type="password" name="password" value="" />
</td>
</tr>
<tr bgcolor="#EFF3F7" class="TableBody1">
<td width="35%" height="37" align="right"><b>重复密码:</b></td>
<td height="37" align="left">
<input type="password" name="repassword" value="" />
</td>
</tr>
<tr bgcolor="#EFF3F7" class="TableBody1">
<td width="35%" height="37" align="center"></td>
<td height="37" align="left">
<input class="mya" type="button" value="确定" onclick="return validateForm();" />
<input class="mya" type="reset" value="重置" />
</td>
</tr>
</table>
</form>
js代码(我直接写在了页面上):
<script type="text/javascript">
<!--
function validateForm(){
var oldpassword = theForm.oldpassword;
var password = theForm.password;
var repassword = theForm.repassword;
var obj = false;
。。。。。。
$.ajax({
async:false, //使用同步请求,因为异步请求不能将返回值传给全局变量;这里很重要
url:"${base}/admin/validate.action",
type:"post",
dataType:"json",
data:"oldPwd="+oldpassword.value,
success:function(data){
// alert("ok:"+data);
obj = data;
}
});
if(!obj){
alert("请输入正确的原始密码!");
oldpassword.value="";
oldpassword.focus();
return false;
}
。。。。。。
//-->
</script>
其中。。。。。。是略掉了其他代码,对此功能实现无影响。
到这里,解释下:
用户在页面上输入了原始密码,比如是:admin,在js代码里面使用了jquery的ajax进行与后台交互
其中的 async:false 这个设置很重要
URL地址就是在后台的一个子模块的一个入口函数(就像struts2里面的action)
3.后台部分
在相关的模块里面的相关入口函数validate的代码:
/**
* 前台密码验证
* @return
*/
@At("/admin/validate")
@Ok("json")
public boolean validate(@Param("oldPwd")String oldPwd,HttpServletRequest req){
User user = (User)req.getSession().getAttribute(Constants.LOGIN_USER);
boolean flag = MD5Util.checkMD5String(oldPwd, user.getPassword());
return flag;
}
其中的@Ok("json")表示要返回json视图
其中的(@Param("oldPwd")String oldPwd表示接收前台传过来的值oldPwd
先从Session中取得登录用户的密码,在和传过来的oldPwd,使用MD5工具类进行比较,把比较结果传回前台。
解释到这里,我想大家应该明白了吧(有什么写的不好的地方,欢迎指教。)
分享到:
相关推荐
3. 配置自定义视图:完成自定义视图类的编写后,需要在Nutz的配置文件(如nutz-conf.properties)中声明这个自定义视图解析器,通过`mvc.view.resolver`属性指定你的实现类。 4. 视图参数传递:Nutz MVC允许你在...
Nutz.Json 是一款轻量级、高效且易于使用的 JSON 处理库,它通过简单的 API 设计实现了 Java 对象与 JSON 字符串之间的转换,并提供了丰富的定制选项以满足不同的应用场景需求。无论是对于初学者还是经验丰富的开发...
将Nutz与Freemarker结合,可以实现类似Struts2中对Freemarker模板的支持,使开发者能够利用Freemarker的强大功能来构建动态网页。 首先,让我们深入了解Nutz和Freemarker的基本概念: 1. **Nutz**: - Nutz是一个...
"nutz邮箱验证jar包"是Nutz框架中用于电子邮件验证的一个特殊库,它为开发者提供了便捷的方式来验证用户的电子邮件地址,以确保数据的准确性和安全性。 在Java开发中,邮箱验证是一个常见的需求,例如在用户注册、...
Nutz 是一个轻量级的Java框架,它提供了丰富的功能来支持数据库操作,包括视图的使用。视图在数据库设计中扮演着重要角色,允许开发者以简化的方式查询多个相关表的数据,而无需每次都进行复杂的联接操作。这篇博客...
标签中提到了`nutzdemo`,这可能是指该项目包含了一系列Nutz框架的演示用例,涵盖了一些基础功能,如路由处理、视图渲染、表单验证等。开发者可以通过这些示例学习到如何在实际项目中应用Nutz的各种特性。 总的来说...
5. **实战示例**:手册可能包含多个实际开发案例,如CRUD操作、表单验证、文件上传下载、AJAX交互等,帮助读者通过实践更好地理解和掌握Nutz框架的使用。 6. **性能优化**:对于大型项目,性能优化至关重要。手册...
### Json Nutz:高效、灵活的JSON处理方案 #### 核心知识点概览: 1. **背景与目标**:在众多JSON处理库中,Nutz.Json脱颖而出,旨在提供最小、最快且最易用的JSON转换解决方案。其核心目标是简化JSON与Java对象...
Nutz是一个轻量级、高性能的Java开发框架,它提供了丰富的功能,包括MVC、ORM、DAO、AOP、IOC等,使得Java开发者能够快速地构建应用系统。...理解并熟练掌握这些jar包的功能和使用,是有效利用Nutz框架的关键。
标题 "nutz 文件上传例子" 暗示我们即将探讨的是使用 Nutz 框架进行文件上传操作的相关知识。Nutz 是一个轻量级、高性能的 Java 开发框架,它提供了一系列方便实用的工具和组件,其中包括处理文件上传的功能。 在 ...
《ztree与nutz在实际应用中的简单使用详解》 在IT行业中,高效地管理和操作数据是至关重要的。zTree和Nutz都是在这方面提供强大支持的工具。zTree是一款基于JavaScript的灵活、强大的树状菜单插件,而Nutz则是一个...
Nutz的IoC(控制反转)功能是通过Nutz.Ioc实现的,它允许开发者将对象的映射关系存放在数据库或JSON文件中,而不是XML文件。Nutz.Ioc使用了MappingLoader和Mapping两个接口,这使得Nutz在未来有可能支持将映射关系...
LendingCloud可能是使用Nutz框架开发的一个实际项目,这个文档将帮助我们了解如何在Nutz中实现具体的业务逻辑和数据管理。通过阅读这份文档,我们可以学习到如何在Nutz框架下进行数据库建模和操作,以及如何与后端...
在使用Nutz Codematic时,首先你需要配置数据库连接信息,包括数据库类型(如MySQL、Oracle、SQL Server等)、数据库URL、用户名、密码等。配置完成后,工具会自动连接到指定的数据库,并读取表结构信息。 接着,你...
6. **配置Redis连接**:在Nutz应用中,需要在配置文件(如`conf/nutz.conf`)中设置Redis的连接信息,如主机地址、端口、密码、数据库索引等。例如: ``` redis = { host : 'localhost', port : 6379, password...
2. **Web MVC**:Nutz MVC是一个基于Nutz的Web应用开发框架,它简化了控制器编写、视图渲染以及模型数据处理。Nutzmore可能包含了一些增强MVC功能的插件,如更丰富的模板引擎支持、国际化处理等。 3. **AOP(面向切...
- **轻量级**:Nutz的所有功能均不依赖第三方jar包,只需在项目中引入nutz.jar即可使用大部分功能。 - **高效性**:Nutz框架的设计目标之一就是在不影响运行效率的前提下,最大化地提高开发效率。 - **灵活性**:...
我们将使用NetBeans IDE和JSP来实现这一过程。 首先,我们需要确保已经安装了NetBeans IDE,这是一个强大的Java开发环境,支持MVC模式的Web应用开发。接着,我们需要下载并添加Nutz框架到我们的项目中。Nutz的MVC...