`
matychen
  • 浏览: 172508 次
  • 性别: Icon_minigender_1
  • 来自: 武汉外来务工人员
社区版块
存档分类
最新评论

Spring3 MVC 教程 (Mybatis+ExtJS基本权限管理)

阅读更多
Spring3 MVC 教程 (Mybatis+ExtJS基本权限管理)
说明:

  • 验证码:采用开源的https://code.google.com/p/kaptcha/,代码自己修改了部分。
  • 上传文件:swfupload,参考论坛里面的另外一个帖子。
  • ext的tab非iframe模式,只加载一次ExtJS,速度还可以~自己命名jsp里面的变量的时候注意变量ID不要重复 参加下面部分js代码
  • 框架采用了mybatis+spring3MVC,应该说是学习springmvc的好例子。代码都有详细注释。
  • js的加载采用了yepnope,是一个基于条件的异步资源(JS和CSS)加载工具
  • mybatis的配置文件的生成采用了自己修改的mybatis的工具。mybatis-generator 修改版



其他:
附件为maven构建的工程,需要lib的可以去网盘下载,里面也有base_power.pdm文件,可以自己转为mysql的脚本。
建库语句在war包里面的readme文件夹下面
7z的分卷压缩老是搞不好,只好贴网盘地址了
http://dl.dbank.com/c0bakwliui
// tab主面板
index.tabPanel = new Ext.TabPanel({
    id: 'mainTabPanel',
    region: 'center',
    activeTab: 0,
    deferredRender: false,
    enableTabScroll: true,
    // bodyStyle:'height:100%',
    defaults: {
        layout: 'fit',
        autoScroll: true
    },
    plugins: new Ext.ux.TabCloseMenu({
        closeTabText: '关闭标签页',
        closeOtherTabsText: '关闭其他标签页',
        closeAllTabsText: '关闭所有标签页'
    }),
    items: [{
        id: 'home',
        title: '我的主页',
        iconCls: 'home',
        closable: false,
        autoScroll: true,
        autoLoad: {
            url: index.welcome,
            scripts: true,
            nocache: true
        }
    }],
    listeners: {
        'bodyresize': function (panel, neww, newh) {
            // 自动调整tab下面的panel的大小
            var tab = panel.getActiveTab();
            var centerpanel = Ext.getCmp(tab.id + "_div_panel");
            if (centerpanel) {
                centerpanel.setHeight(newh - 2);
                centerpanel.setWidth(neww - 2);
            }
        }
    }
});


<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ include file="/WEB-INF/views/commons/taglibs.jsp"%>
<div id="changePwdDiv" style="width: 100%; height: 100%;">
	<div id="changePwdToolBarDiv"></div>
	<div id="changePwdFormDiv"></div>
</div>

<script type="text/javascript">
$(document).ready(function() {
	//yepnope("${ctx}/resources/js/user/changepwd.js");
	Ext.ns("Ext.Authority.changepassword"); // 自定义一个命名空间
	changepwd = Ext.Authority.changepassword; // 定义命名空间的别名
	changepwd = {
		changeurl : ctx + "/user/changepwd"
	};
	// 编辑用户Form
	changepwd.changePwdFormPanel = new Ext.form.FormPanel({
		renderTo : 'changePwdFormDiv',
		border : false,
		defaults : {
			xtype : "textfield",
			labelWidth : 50
		},
		bodyStyle : 'padding:5px;background-color:transparent;',
		items : [ {// 原密码
			id : 'old_password',
			name : 'old_password',
			inputType : "password",
			fieldLabel : '原密码',
			anchor : '99%',
			allowBlank : false,
			maxLength : 32
		}, { // 新密码
			id : 'new_password',
			name : 'new_password',
			inputType : "password",
			fieldLabel : '新密码',
			anchor : '99%',
			allowBlank : false,
			maxLength : 32
		}, {// 确认密码
			id : 'compare_password',
			name : 'compare_password',
			inputType : "password",
			fieldLabel : '确认密码',
			vtype : "password",// 自定义的验证类型
			vtypeText : "两次输入的密码不一致!",
			confirmTo : "new_password",// 要比较的另外一个的组件的id
			anchor : '99%',
			allowBlank : false,
			maxLength : 32
		}, {// 账户ID
			xtype : 'hidden',
			name : 'userId',
			value : '${user.userId}'
		} ]
	});
	// 工具栏
	changepwd.changePwdToolbar = new Ext.Toolbar({
		renderTo : 'changePwdToolBarDiv',
		items : [ new Ext.Button({
			text : '保存',
			iconCls : 'save',
			handler : function() {
				var form = changepwd.changePwdFormPanel.getForm();
				if (form.isValid()) {
					var values = form.getValues();
					// 发送请求
					Share.AjaxRequest({
						url : changepwd.changeurl,
						params : {
							oldPassword : Ext.MD5(values.old_password),
							newPassword : Ext.MD5(values.new_password),
							comparePassword : Ext.MD5(values.compare_password),
							userId : values.userId
						},
						callback : function(json) {
							// 重新登录
							Share.getWin().location = ctx;
						},
						falseFun : function(json) {//失败后想做的个性化操作函数
							if (json.msg.indexOf('原密码不正确!请重新输入') > -1) {
								$("#old_password").focus().val('');
								return;
							}
							if (json.msg.indexOf('两次输入的新密码不一致') > -1) {
								$("#new_password").val('');
								$("#compare_password").val('').focus();
								return;
							}
							if (json.msg.indexOf('请输入正确的帐号和其注册邮箱') > -1) {
								return;
							}
						}
					});
				}
			}
		}), new Ext.Button({
			text : '取消',
			iconCls : 'cancel',
			handler : function() {
				header.changePwdWindow.close();
			}
		}) ]
	});
	var events = "beforecopy beforepaste beforedrag contextmenu selectstart drag paste copy cut dragenter";
	$("#old_password").bind(events, function(e) {
		if (e && e.preventDefault)
			e.preventDefault();
		else
			window.event.returnValue = false;
		return false;
	});
	$("#new_password").bind(events, function(e) {
		return false;
	});
	$("#compare_password").bind(events, function(e) {
		return false;
	});
});
</script>



代码不多贴了,上图片吧。
















  • Authority.7z (1.2 MB)
  • 描述: maven构建
  • 下载次数: 6554
分享到:
评论
28 楼 beauty9235 2013-06-10  
hi 楼主你好,我用你的代码在本机运行起来,却不能在本地显出来了
WARN  o.s.web.servlet.PageNotFound - Request method 'GET' not supported

我是用的tomcate 7.0
<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

<Context  path ="/authority"  docBase ="F:/data/wwwroot/phoenix-reborn/code/reborn/target/authority-1.0.0"  debug ="0"  privileged ="true"/>

      </Host>


输入后
http://localhost:8080/authority/
没有登录的显示,请教一下楼主如何布署的?
在什么应用服务器上做的?
27 楼 myloverpj 2013-01-10  
我用pdm生成的数据库只有脚本。没有基础数据。哪个有基础数据的麻烦给我一下
26 楼 matychen 2012-12-13  
foible 写道
楼主所在公司,应该是。我也在武汉,不过不在软件园

你怎么知道我就在软件园不是在本部呢?
25 楼 stream-yt 2012-11-04  
我一直想做一个类似的系统,现在不用做了,直接学习楼主的系统就可以了
麻烦 问下,你为什么不把这个系统放到GoogleCode上做一个开源软件,大家 都 可以帮你做
24 楼 lyx_2709 2012-09-02  
我晕晕了,首地址是啥啊,是http://localhost:8080/authority-1.0.0吗
23 楼 matychen 2012-05-22  
D_Ace_ 写道
楼主,你的项目我已经成功跑起来了,但是我发现一个问题,你的log是用logback的
logback我发现无法在junit上面输出啊,运行Test方法的时候,抛出下面的异常:
java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V
at org.apache.commons.logging.impl.SLF4JLocationAwareLog.debug

楼主,你的Test是怎么跑通的。。。可以请教下吗

自己找下撒,这个估计是包版本不匹配的问题吧。
22 楼 D_Ace_ 2012-05-22  
楼主,你的项目我已经成功跑起来了,但是我发现一个问题,你的log是用logback的
logback我发现无法在junit上面输出啊,运行Test方法的时候,抛出下面的异常:
java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V
at org.apache.commons.logging.impl.SLF4JLocationAwareLog.debug

楼主,你的Test是怎么跑通的。。。可以请教下吗
21 楼 D_Ace_ 2012-05-18  
matychen 写道
D_Ace_ 写道
楼主你好,能提供下源码吗,十分感谢!学习用途
289556866@qq.com

附件里就有源码了,不要看见包很小,就以为不是源码。

嗯嗯,谢谢,能加下你QQ吗,想向你学习下。本人刚出来混的大学生,很多东西不懂。
20 楼 matychen 2012-05-17  
D_Ace_ 写道
楼主你好,能提供下源码吗,十分感谢!学习用途
289556866@qq.com

附件里就有源码了,不要看见包很小,就以为不是源码。
19 楼 D_Ace_ 2012-05-17  
楼主你好,能提供下源码吗,十分感谢!学习用途
289556866@qq.com
18 楼 matychen 2012-05-17  
hwx521 写道
唉 就是不懂了,用个maven把项目弄的这么麻烦,为啥还要用。把网盘中的lib包也下载了然后视图转成普通的jee项目还是无法运行,真是够郁闷的。楼主能否发个普通版版本的jee项目包啊。

怎么个无法运行?
17 楼 hwx521 2012-05-16  
唉 就是不懂了,用个maven把项目弄的这么麻烦,为啥还要用。把网盘中的lib包也下载了然后视图转成普通的jee项目还是无法运行,真是够郁闷的。楼主能否发个普通版版本的jee项目包啊。
16 楼 honlin 2012-05-16  
第三方jar包需要手工添加,命令如下:

mvn install:install-file -Dfile=E:/maven221/repository/com/oracle/ojdbc14/10.2.0.2.0/ojdbc14-10.2.0.2.0.jar -DgroupId=com.org.common.oracle -DartifactId=oracle -Dversion=10.2.0.2.0 -Dpackaging=jar -DgeneratePom=true



mvn install:install-file -Dfile=C:/JAVA/lib/proxool-0.9.1.jar -DgroupId=proxool -DartifactId=proxool -Dversion=0.9.1 -Dpackaging=jar -DgeneratePom=true
mvn install:install-file -Dfile=C:/JAVA/lib/proxool-cglib.jar -DgroupId=proxool -DartifactId=proxool-cglib -Dversion=0.9.1 -Dpackaging=jar -DgeneratePom=true
mvn install:install-file -Dfile=C:/JAVA/lib/ojdbc14-10.2.0.2.0.jar -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.2.0 -Dpackaging=jar -DgeneratePom=true
mvn install:install-file -Dfile=C:/JAVA/lib/kaptcha-2.3.2.jar -DgroupId=com.google.code -DartifactId=kaptcha -Dversion=2.3.3 -Dpackaging=jar -DgeneratePom=true
15 楼 hwx521 2012-05-15  
maven提示好几个jar无法下载,请教如何能运行项目
14 楼 ayanami001 2012-03-28  
好东西 ~
13 楼 5415 2012-03-27  
程序无法跑起来  很郁闷
12 楼 5415 2012-03-27  
你好  怎么有几个jar 文件无法下载 
11 楼 matychen 2012-03-15  
jasonjun2005 写道
admin的密码是多少。
怎么解密?

1啊
10 楼 jasonjun2005 2012-03-15  
admin的密码是多少。
怎么解密?
9 楼 jasonjun2005 2012-03-15  
验证码几乎看不清呀!

相关推荐

    spring+mvc+mybatis+extjs整合

    【标题】"spring+mvc+mybatis+extjs整合"是一个经典的Java Web开发框架组合,广泛应用于企业级应用。这个项目结合了Spring MVC作为控制层,MyBatis作为数据访问层,以及ExtJS作为前端展示层,构建了一个完整的三层...

    Spring3MVC + MyBatis + ExtJs3整合开发系列

    Spring3MVC、MyBatis和ExtJs3的整合开发旨在创建一个高效的、灵活的Web应用程序。整合的关键在于如何协调这些框架的工作,使得Spring3MVC处理HTTP请求和控制流程,MyBatis负责数据访问和SQL执行,而ExtJs3则作为前端...

    Spring3MVC+MyBatis+ExtJs3整合开发系列之四:角色管理模块

    在本篇博文中,我们将深入探讨“Spring3MVC+MyBatis+ExtJs3整合开发系列之四:角色管理模块”。这个主题涉及到三个关键的技术栈:Spring MVC作为后端MVC框架,MyBatis作为持久层解决方案,以及Ext Js 3作为前端UI库...

    spring mvc3 mybatis3 extjs 3.4权限管理系统

    本人初步采用spring mvc3 mybatis3 extjs 3.4开发进销存软件,有很好的参考价值,其中数据库采用oracle,分页采用调用oracle的存储过程,有很好的学习价值,若是想开发简单的CRM和进销存系统是极品参考的系统。...

    activiti+spring mvc+maven+extjs mvc+mybatis一个简单的请假工作流

    标题中的“activiti+spring mvc+maven+extjs mvc+mybatis”是一个集成的IT解决方案,用于构建一个简单的请假工作流程应用。这个项目利用了多种技术来创建一个前端和后端无缝协作的系统。 1. **Activiti**:Activiti...

    springmvc+mybatis+Extjs权限

    本项目采用的是SpringMVC、MyBatis以及ExtJS这三大核心技术,构建了一个集成了权限管理的高效系统。以下将详细阐述这三个技术及其在权限管理中的应用。 **SpringMVC** SpringMVC是Spring框架的一部分,专门用于构建...

    JavaWeb+mybatis+Extjs+spring mvc信息管理系统

    JavaWeb+Extjs+springMvc+mybatis做的信息管理系统,主要是用Extjs实现前台,其中包括了树形结构和基本的表单和列表等,springMVC框架,数据库操作层使用的是mybatis,其中的数据库表结构可以根据其中的mapper.xml...

    Spring、Spring mvc、Mybatis、ExtJs实战开发技术

    整理了一下Spring、Spring mvc、Mybatis、ExtJs实战开发技术的内容,作为进阶提示

    SpringMVC+Mybatis+ExtJs5.0

    【SpringMVC+Mybatis+ExtJs5.0】是一个典型的Java Web开发框架组合,用于构建高效、可扩展的企业级后台管理系统。这个框架的核心在于SpringMVC作为控制器,Mybatis作为数据访问层,以及ExtJs5.0作为前端UI框架。 1....

    spring mvc mybatis extjs 3.4 权限管理

    ### Spring MVC MyBatis ExtJS 3.4 权限管理系统关键知识点解析 #### 一、项目背景与架构概述 本系统采用Spring MVC框架作为控制层,MyBatis作为持久层框架,ExtJS 3.4作为前端界面展示工具,实现了权限管理功能,...

    springmvc+mybatis+extjs+ireport项目源码

    **SpringMVC** 是Spring框架的一部分,主要用于构建Web应用程序的模型-视图-控制器(MVC)架构。它提供了一个灵活的请求处理机制,将业务逻辑与用户界面分离,提高了代码的可维护性和可测试性。SpringMVC通过...

    SpringMvc+MyBatis+ehcache+ExtJs分页

    Spring MVC、MyBatis、Ehcache和ExtJS这四个技术组件都是开发者们在构建此类应用时常常使用的工具。让我们详细了解一下这些技术以及它们如何协同工作。 首先,Spring MVC是Spring框架的一个模块,专门用于构建Web...

    Spring MVC+Mybatis整合实现用户登录以及增删改查功能

    在本项目中,我们主要探讨的是如何将Spring MVC与Mybatis框架进行整合,以实现一个完整的用户管理系统,包括用户登录和基本的CRUD(创建、读取、更新、删除)操作。Spring MVC作为Spring框架的一部分,是用于构建Web...

    java spring mvc mybatis(ssm) 整合ExtJS

    eclipse 开发的作品,整合spring mvc mybatis ExtJS6,实现漂亮的管理后台; 主要技术说明:完善了CURD的功能;健全的权限管理;缓存工厂的使用,默认使用EHCACHE;后台模板切换;程序启动自动加载平台参数;完善了...

    freemarke+springmvc+mybatis+spring shiro,extjs

    开发者通过 FreeMarker 渲染视图,Spring MVC 处理请求和响应,MyBatis 负责数据操作,Shiro 进行权限控制,而 ExtJS 提供了用户界面。这样的架构设计保证了系统的可扩展性和稳定性,同时也提升了开发效率。

    spring3+ibaits3+struts2.18+Extjs3整合增删查改

    "Spring3+iBatis3+Struts2.18+ExtJS3整合增删查改"是一个典型的Java Web开发组合,用于实现高效的数据管理和用户界面交互。下面我们将深入探讨这个组合中的每个组件及其在整体架构中的作用。 **Spring3**: Spring...

    extjs+springmvc+dubbo+mybatis+oracle

    标题 "extjs+springmvc+dubbo+mybatis+oracle" 描述了一个综合性的企业级Web应用架构,结合了前端、后端服务以及数据库技术。这个架构由以下几部分组成: 1. **ExtJS**:这是一个JavaScript库,用于构建富客户端...

    spring-strut2-mybatis加extjs4框架源码

    标题 "spring-strut2-mybatis加extjs4框架源码" 涉及的是一个集成开发环境,其中包含了四个关键的技术栈:Spring、Struts2、MyBatis和ExtJS4。这些技术都是Java Web开发中常用的部分,下面将详细阐述它们各自的功能...

    spring+extjs项目文件

    3. 数据访问:Spring支持各种数据源,包括JDBC、ORM(如Hibernate、MyBatis)等,提供了事务管理,简化了数据库操作。 4. AOP编程:Spring的AOP框架允许开发者定义横切关注点,如日志、事务管理,提高代码复用性。 ...

    Extjs5.0从入门到实战开发信息管理系统(Extjs基础、Extjs5新特性、Spring、Spring mvc)

    Extjs5.0从入门到实战开发信息管理系统(Extjs基础、Extjs5新特性、Spring、Spring mvc、Mybatis),完整版,提供课件和代码下载! 本教程从Extjs5的开发环境搭建开始,讲解了Extjs5的项目结构(包括核心文件的作用...

Global site tag (gtag.js) - Google Analytics