bos开发日记一

2018-11-12 06:51:17来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

BOS项目 第1

 

项目12天安排:

 

1-2天:项目概述、搭建开发环境、主页设计、持久层和表现层设计

 

3-6天:项目业务开发(取派员、区域、分区、定区、业务受理)---整个项目分为基础设置、取派、中转、路由、报表

 

7-8天:权限控制、权限管理----apache shiro

 

9-11天:工作流开发----activiti

 

12天:总结

 

今天内容安排:

 

1、项目概述(背景、常见软件类型、软件开发流程(瀑布模型))

 

2、搭建开发(数据库、web项目、SVN管理项目)

 

3、主页设计(jQuery easyUI

 

4、UML工具使用PowerDesigner

 

本项目属于宅急送公司二期改造项目

 

 

项目的团队人数20多个人,项目开发周期1年多(13个月),编码阶段4个月。

 

1.1 常见的软件类型

OA:办公自动化系统

CRM:客户关系管理系统

ERP:企业资源计划平台

CMS:content Mangement System

 

1.2 软件开发流程(瀑布模型)

0、可行性分析

1、需求调研分析----需求规格说明书

2、设计阶段(概要设计、详细设计)----数据库设计、原型设计

3、编码阶段(单元测试)

4、测试阶段(系统测试、白盒测试、黑盒测试)

5、上线和运维

敏捷开发

 

1.3开发环境

 

1.4技术选型

 

 

 

2. 搭建开发环境

2.1 数据库环境

第一步:创建一个数据库

 

第二步:创建一个数据库用户

 

第三步:为创建的用户授权

 

第四步:使用新创建的数据库用户登录MySQL系统

 

2.2 web项目环境

第一步:创建一个动态web项目

 

第二步:导入jar包(SSHspring依赖、日志、数据库驱动)

第三步:配置web.xmlstruts2的过滤器、spring监听器、解决Hibernate延迟加载问题的过滤器、解决中文乱码的过滤器)

 

第四步:创建项目目录结构

 

第五步:在config目录中提供struts2的配置文件

 

第六步:在config目录下提供spring的配置文件applicationContext.xml

<!-- 配置公共项 -->
<!-- 加载数据源配置文件 -->
<context:property-placeholder location="classpath:jdbcInfo.properties"/>
<!-- 配置数据源 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="dirverClass" value="${jdbc.driverClass}"></property>
<property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>
<property name="user" value="${jdbc.user}"></property>
<property name="password" value="${jdbc.password}"></property>
</bean>
<!-- 配置SessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<!-- 数据库方言配置 -->
<property name="hibernateproperties">
<props>
<!-- 数据类型 -->
<prop key="hibernate.dialect"> org.hibernate.dialect.MySQL5Dialect</prop>
<!-- 打印sql语句 -->
<prop key="hibernate.show_sql">true</prop>
<!-- 格式化sql语句 -->
<prop key="hibernate.format_sql">true</prop>
<!-- 自动创建|更新|验证表结构 -->
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
<!-- 注入Hibernate的映射文件 -->
<property name="mappingDirectoryLocations">
<list>
<value>classpath:com/guo/bos/domain</value>
</list>
</property>
</bean>
<!-- 事务管理 -->
<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!-- 用注解 要 组件扫描 -->
<context:component-scan base-package="com.guo.bos"></context:component-scan>
<!-- 引入注解解析器    Controller Service Repository  注入: Resource Autowrired -->
<context:annotation-config></context:annotation-config>
<!-- 事务注解 -->
<tx:annotation-driven/>

第七步:提供项目所需的资源文件

 

注意,web.xml中配置服务器内部转发经过struts2过滤器处理

 

2.3 使用svn管理项目代码

第一步:创建一个SVN仓库

第二步:修改SVN的配置文件

svnserve.conf:

 

passwd:

 

authz:

 

第三步:启动SVN服务,使用批处理文件

 

 eclipse svn 插件安装:https://blog.csdn.net/zhanlv/article/details/76504414

 

第四步:将搭建的web项目共享到SVN仓库

 

 

 

 

3. 主页设计---jQuery EasyUI插件

 

jQuery EasyUI目录结构:

 

jsp页面中引入easyUI相关的资源文件

 

<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/js/easyui/themes/default/easyui.css">

<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/js/easyui/themes/icon.css">

<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script>

<script type="text/javascript" src="${pageContext.request.contextPath }/js/easyui/jquery.easyui.min.js"></script>

 

3.1 layout页面布局

这个布局容器,有五个区域:北、南、东、西和中心。 他中心地区面板是必需的,但是边缘地区面板是可选的。每一个边缘地区面板可以缩放的拖动其边境, 他们也可以通过点击其收缩触发.布局可以嵌套,从而用户可以建立复杂的布局,他想要的。

<body class="easyui-layout">

<!-- 使用div指定区域 -->

<div title="XX管理系统" data-options="region:'north'" style="height: 100px">北部区域</div>

<div title="系统菜单" data-options="region:'west'" style="width: 200px">西部区域</div>

<div data-options="region:'center'">中心区域</div>

<div data-options="region:'east'" style="width: 100px">东部区域</div>

<div data-options="region:'south'" style="height: 50px">南部区域</div>

</body>

3.2accordion折叠面板

 

!-- 折叠面板效果 -->

<div class="easyui-accordion" data-options="fit:true">

<!-- 每个子div是其中的一个面板 -->

<div title="面板一">棉衣一</div>

<div title="面板二">test2</div>

<div title="面板三">test3</div>

</div>

<!-- 选项卡面板效果 -->

<div class="easyui-tabs" data-options="fit:true">

<!-- 每个子div是其中的一个面板 -->

<div data-options="closable:true,iconCls:'icon-help'" title="面板一">棉衣一</div>

<div title="面板二">test2</div>

<div title="面板三">test3</div>

</div>

 

3.4 动态添加选项卡

 

<a class="easyui-linkbutton" onclick="doAdd();">百度</a>

<script type="text/javascript">

function doAdd(){

//动态添加一个选项卡面板

$("#tt").tabs("add",{

title:'这个可是动态的',

content:'<iframe frameborder="0" width="100%" height="100%" src="page_base_staff.action"></iframe>',

closable:true,

iconCls:'icon-search'

});

}

</script>

4. ztree树形插件---jQuery插件

 

jsp页面中引入ztree相关的资源文件

<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script>

<link rel="stylesheet" href="${pageContext.request.contextPath }/js/ztree/zTreeStyle.css" type="text/css">

<script type="text/javascript" src="${pageContext.request.contextPath }/js/ztree/jquery.ztree.all-3.5.js"></script>

4.1 使用标准json数据构造ztree

<!-- 展示树形菜单 :使用标准json数据构造-->

<ul id="ztree1" class="ztree"></ul>

<script type="text/javascript">

$(function(){

//当页面加载完成后,动态创建ztree菜单

var setting = {};//设置ztree相关的属性

//构造json数据

var zNodes = [

              {name:'系统管理'},//每个json对象对应一个节点数据

              {name:'用户管理',children:[

                                      {name:'用户添加'},

                                      {name:'用户修改'}

                                     ]},//每个json对象对应一个节点数据

              {name:'权限管理'}//每个json对象对应一个节点数据

              ];

//创建ztree

$.fn.zTree.init($("#ztree1"),setting,zNodes);

});

</script>

 

4.2 使用简单json数据构造ztree(建议)

<!-- 展示树形菜单 :使用简单json数据构造-->

<ul id="ztree2" class="ztree"></ul>

<script type="text/javascript">

$(function(){

//当页面加载完成后,动态创建ztree菜单

var setting2 = {

data: {

simpleData: {

enable: true//启用简单json数据描述节点数据

}

}

};//设置ztree相关的属性

//构造json数据

var zNodes2 = [

              {id:'1',pId:'0',name:'系统管理'},//每个json对象对应一个节点数据

              {id:'2',pId:'0',name:'用户管理'},//每个json对象对应一个节点数据

              {id:'21',pId:'2',name:'用户添加'},//每个json对象对应一个节点数据

              {id:'22',pId:'2',name:'用户修改'},//每个json对象对应一个节点数据

              {id:'3',pId:'0',name:'权限管理'}//每个json对象对应一个节点数据

              ];

//创建ztree

$.fn.zTree.init($("#ztree2"),setting2,zNodes2);

});

</script>

 

效果:

 

4.3 发送ajax请求获取菜单数据构造ztree

<ul id="ztree3" class="ztree"></ul>

<script type="text/javascript">

$(function(){

var setting3 = {

data : {

simpleData : {

enable : true

//启用简单json数据描述节点数据

}

}

};//设置ztree相关的属性

    //发送ajax请求获取json数据构造ztree

    var url = "${pageContext.request.contextPath}/json/menu.json";

$.post(url,{},function(data){

//创建ztree

$.fn.zTree.init($("#ztree3"), setting3, data);

},'json');

});

</script>

 

1.1 ztree节点绑定事件

<ul id="ztree3" class="ztree"></ul>

<script type="text/javascript">

$(function(){

var setting3 = {

data : {

simpleData : {

enable : true

//启用简单json数据描述节点数据

}

},

callback: {//绑定事件

onClick: function(a,b,treeNode){

var page = treeNode.page;

if(page != undefined){//需要打开选项卡

//判断当前选项卡是否已经打开

var e = $("#tt").tabs("exists",treeNode.name);

if(e){

//已经打开

$("#tt").tabs("select",treeNode.name);

}else{

$("#tt")

.tabs(

"add",

{

title : treeNode.name,

content : '<iframe frameborder="0" width="100%" height="100%" src="'+page+'"></iframe>',

closable : true,

iconCls : 'icon-edit'

});

}

}

}

}

};//设置ztree相关的属性

    //发送ajax请求获取json数据构造ztree

    var url = "${pageContext.request.contextPath}/json/menu.json";

$.post(url,{},function(data){

//创建ztree

$.fn.zTree.init($("#ztree3"), setting3, data);

},'json');

});

</script>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:【原】Docker入门之Centos7.0+安装

下一篇:正则表达式前后包含或者不包含匹配