达内云笔记项目经验

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

达内云笔记项目经验第一部分:达纳电信计费系统项目介绍李洪鹤/lihh@tarena.com.cn一、回顾1、Spring核心功能1)IOC将对象的创建权、注入权交给Spring来管理,由Spring容器负责做这些事。由于Spring是通过配置实现的这些逻辑,因此可以降低对象之间的耦合度。2)AOP面向切面编程,主要解决的是针对一批组件的通用逻辑编程的问题,它采用了公共的类+配置的方式实现这个逻辑,可以降低公共类和组件之间的耦合度。3)整合Spring可以整合JDBC、MyBatis、Struts2、Hibernate框架/技术,可以简化对这些框架/技术的使用。4)MVCSpring实现了MVC,按照MVC思想对代码进行了分层,从而降低了项目中代码之间的耦合度。2、Java知识体系画图二、项目介绍1、项目整体需求1)项目背景电信公司有UNIX服务器出租业务,针对该出租业务需要一套办公系统来提升办事效率,提升该业务信息化程度(无纸化办公),我们的系统就是针对该出租业务而提供的完整解决方案。2)整体解决方案画图2、解决方案1)NETCTOSS(要讲)--名词解析NetChinaTelecomOperationSupportSystem中国电信运营支撑系统-网络版--功能用于创建账号,创建资费标准,以及查询用户的消费情况等。--使用者电信公司营业员--部署应用服务器2)DMS(讲过)--功能解析客户登录、登出UNIX服务器的时间,并将解析到的信息存入数据库,即实现了客户登录服务器的数据采集功能。--使用者自动运行--部署DMSClient部署在每一台UNIX服务器上;DMSServer部署在引用服务器上。3)PL/SQL(不讲)--功能自动计算出客户本月的消费情况,由Oracle任务自动在月底调用。--使用者Orcale任务调度。--部署Orcale数据库。4)自服务(不讲)--功能可以查询客户的套餐余量,可以修改客户的资费等,类似于移动/联通营业厅APP。--使用者客户--部署应用服务器3、项目计划1)Unit01day01-day02,完成资费管理模块。2)Unit02day03-day04,完成账务账号模块。3)Unit03day05-day06,完成业务账号模块。4)Unit04day07-day10,完成角色模块、管理员模块以及登录相关的功能。5)Unit05day11,学习AOP,并应用到项目中。6)Unit06day12,学习事务管理,并应用到项目中。如果时间允许,做项目总结及分享。4、项目目标1)基本要求完成资费模块2)达标再完成账务账号模块,登录功能。3)要求自己写代码4)目标具备独立开发的能力5、技术架构1)开发环境Linux+MyEclipse6.0+JDK1.6+Tomcat7+Oracle10g2)使用的技术Java+Spring+MyBatis+JSP+JQuery3)结构基于MVC代码的分层思想,将代码分为如下几层表现层(V):JSP+JQuery控制层(C):DispatcherServlet+Controller,即主要由SpringMVC实现。业务层(C):由于业务相对简单,不用独立的业务层,而是直接在Controller中实现业务,在企业真实的项目中,往往这里是有独立的业务层。持久层(M):Spring整合MyBatis来实现数据库的访问。三、搭建环境1、声明在项目组中搭建项目环境应该由项目经理、结构师、设计师来完成,我们只需要下载他们构建好的代码,添加业务代码即可。因此这项内容了解即可,不是重点。2、搭建环境大致步骤1)解决访问数据库的问题使用Spring整合MyBatis来实现数据库的访问2)解决处理请求的问题使用SpringMVC来处理请求篇二:云笔记复习笔记云笔记上课笔记整理1.云笔记(简介)笔记管理系统包含:笔记本管理,笔记管理,收藏和分享,回收站管理,用户登录退出,活动管理等2.采用技术架构(B/S)Spring:SpringMVC,SpringIOC,SpringAOPMyBatis:数据库操作Ajax:AsynchronusJavaScriptandJSON异步请求和响应处理--以XMLHttpRequest对象为核心--以XML或JSON作为数据交互格式--以JavaScript语言为基础--以HTML/CSS技术作为数据渲染jQuery:客户端js框架封装了:选择器,属性函数,文档处理函数,事件函数,隐藏和显示函数,Ajax函数(HTML)--jQuery/Ajax--》Spring+MyBatis所有请求都采用Ajax方式交互ajax请求--》DispatcherServlet--》HandlerMapping--》Controller=Service=Dao--》数据库操作--》调用jackson开发包(使用:在Controller方法前加@ResponseBody)(作用:将Controller返回结果转成json字符串输出)$.ajax({async:true,url:xx,type:post})$.post()$.get(url)--》$.getJSON()$(div).load(hello.html)hide();slideUp();show();slideDown()value:val()/val(xxx)class:addClass(xxx)/removeClass(xxx)其他:attr(属性,值)/attr(属性)文本:text()/text(文本)HTML:html()/html(html内容)$(span).append(《a》链接《/a》);$(span).empty();$(#login).click(fn);$(#login).click();JavaScriptObjectNotationJavaScript对象格式vari=10;vars=hello;vararr=[1,2,4];varjson={name:tom,age:20};json.namejson.agevarperson={name:tom,friends:[rose,jenny]};for(vari=0;i《person.friends.length;i++){person.friends[i];}varpersons=[{name:tom,age:20},{name:scott,age:21}];for(vari=0;i《persons.length;i++){persons[i].name;persons[i].age;}请求1--》响应1请求2--》响应2==========项目开发===========1.创建数据库(MySQL)showdatabases;//查看有哪些库createdatabasejsd1508db;//创建库dropdatabasexxx;//删除库usejsd1508db;//使用xxx库createtablexxx(字段名类型,字段名类型)showtables;//查看当前库中有哪些表desc表名;//查看表结构------cloud_note.sql文件导入---------setnamesutf8;//设置客户端和链接编码sourcexxx.sql;//sql文件导入/home/soft01/cloud_note.sql===========系统登录==============功能描述:用户输入用户名和密码后,点击登录按钮,发出Ajax请求,进入服务器端的检测,服务器返回JSON结果,Ajax回调函数解析JSON结果,错误提示错误信息成功进入edit.html界面1.客户端实现(HTML页面,js,ajax)a.获取请求参数,发送Ajax获取用户名和密码,发送Ajaxb.Ajax回调函数有错误显示错误信息没有错误跳转到edit.html2.服务器端实现(Spring+MyBatis)/user/login.do--》DispatcherServlet--》HandlerMapping--》LoginController--》UserService--》UserDao--》cn_user--》返回JSON结果3.搭建开发环境--WebRoot引入客户端资源html/js/图片等--lib添加服务器资源,spring开发包,mybatis开发包,mybatis-spring.jar整合包--src添加applicationContext.xml主配置文件4.响应JSON结果统一格式varresult={status:状态值,msg:消息,data:数据}$.ajax({url:xxx,//请求地址type:xxx,//提交方式data:xxx,//提交的数据async:xxx,//同步异步dataType:xxx,//返回数据类型success:function(result){...},//成功回调error:function(){...}//失败回调});org.tarena.note.entityif(user!=null){if(user.getPassword().equals(password)){正确}else{密码错误}}else{用户名不存在}org.tarena.note.controller.userorg.tarena.note.controller.notebookorg.tarena.note.controller.note=====注册======1.客户端a.发送Ajax请求单击注册按钮,发送请求请求要提交用户名,昵称,密码b.Ajax回调函数解析NoteResult数据,成功就切换到登录界面失败给出提示信息2.服务器端/user/regist.do--》DispatcherServlet--》HanlderMapping--》RegistController--》UserService--》UserDao--》cn_user(插入)--》返回NoteResult结构的json数据/user/regist.do?name=xx==========笔记本列表加载===========1.客户端a.发送请求页面一出来就发送ajax请求提交数据:用户IDb.回调处理解析返回的NoteResult,将笔记信息解析在页面生成笔记本列表2.服务器端/notebook/loadbooks.do--》DispatcherServlet--》hanldermapping--》LoadBooksController--》BookService--》NoteBookDao--》cn_notebook(查询)--》返回NoteResult结构的jsonsetnamesutf8;source....cloud_note.sqlmybatis--》jdbc--》mysqljdbc:mysql://localhost:3306/cloud_note?useUnicode=true&characterEncoding=utf8在XML文件中,&符号需要使用&=========查看笔记列表=============1.客户端a.发送请求用户单击笔记本li时,发送ajax提交数据:笔记本IDb.回调处理解析返回的NoteResult,将笔记信息解析生成笔记列表元素2.服务器处理/notebook/loadnotes.do?bookId=xx--》DispatcherServlet--》HanlderMapping--》LoadNotesController--》BookService.loadBookNotes--》NoteDao.findByBookId--》cn_note(查询)--》返回NoteResult结构的jsonselect*fromcn_notewherecn_notebook_id=?a.实现NoteDao--编写Note实体类--编写NoteMapper.xml文件(SQL语句)--编写N

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功