您的位置:首页 > 其它

课堂作业08——MVC应用实例之权限管理

2017-05-04 21:38 204 查看
MVC在Java Web应用程序中的实例分析

MVC框架的应用:

在一下比较大型的企业中,MVC加三层架构使用的相对比较普遍。它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。

我们经常使用的博客园、CSDN等都会使用MVC框架。

用户权限模块的实现代码:

(1) 视图层:

首先,JSP页面(视图层)的js函数中使用ajax技术进行传值,将URL赋值为对应的action,调用action中的方法,即通过hibernate(模型层)获取数据库数据。将收到的数据显示在JSP页面。

实现MVC思想中:发送用户动作(例如按钮点击)到控制器,并可以处理很多不同的视图。

主要代码:

$(function() {

var power;

var html = "";

$

.ajax({

url : "user_menu.action",

type : "post",

dataType : "json",

success : function(data) {

$

.each(data,

function(i, item) {

if (item.rightname == "管理员") {//显示左侧菜单栏

html += "<li><a href='user_FindAllUser.action' target='frmright'><span class='text_slice spanStyle'>用户管理</span></a></li>"

...

...

...

}

}

});

$("#category").html(html);

}

});

})

(2) 控制层

当JSP页面提交了用户需求,交给控制器去处理,控制器需要从模型中找到对应的数据,并返回到JSP页面。

实现MVC思想中:接受用户的输入,解释用户的行为,并提供模型数据至视图。消除模型与视图依赖关系。

主要代码:

PrintWriter out = response.getWriter();

List<SysRight> list = rightService.findByLoginUserId(user.getUserId());//调用hibernate中的数据

for (SysRight sysRight : list) {

System.out.println(sysRight);

}

String json = JSONSerializer.toJSON(list).toString();

out.print(json);

(3) 模型层

模型层中含有数据库的全部数据,并且定义了相应的方法去调用,当控制层调用这些方法时,像控制层传递这些数据。

实现MVC思想中:为多个视图提供数据,且拥有最多的处理任务。

主要代码:

public List<SysRight> findByLoginUserId(String id) {

String hql="from SysUser u join u.sysRole r join r.sysRight m where u.userId = '"+id+"'";

return rightDao.findByHql(hql);

}

public List<SysRight> findByHql(String hql, Object... objects) {

return (List<SysRight>) this.getHibernateTemplate().find(hql,objects);

}

当系统有多个用户角色时,权限管理无疑提高了系统的可用性、易用性与安全性,使多个用户在权限之内对系统数据进行管理。同时,这样的设计能够灵活的对权限进行设置,体现了系统质量属性的可修改性。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: