CMS体育系统项目笔记

既然是项目,就会有需求.每个项目的开发,都伴随着一系列要解决的问题.

项目涉及,整个JavaWeb流程.jsp页面表现层.servlet和service两层业务逻辑层的处理.数据库以及数据库DAO的处理.动态代理.MVC模式.单元测试.集合.反射机制.开发原则

既然是项目,我们就要整理好清晰的思路,这也是少不了的项目架构.项目架构迭代.

搭建好项目架构--->数据库--->创建用户.授权.建表.存储数据等.pl/sql的方式

                          Eclipse开发环境

                          前台页面

 对数据库用户操作流程

进行junit测试--->导入测试包--->建立测试环境

用户显示流程

      user_list.jsp-->web.xml-->Servlet-->Service

jsp编译原理

Tomcat相关

基本就是这么个流程.

知识理论性的东西--->开发原则(实现目标的原则):1 开闭原则 : 一个实体应该对扩展开发,对修改关闭

                                                               2 里氏替换原则 : 能够使用父类的地方,一定可以用子类替换

                                                               3 接口隔离原则 : 接口尽量做到功能做小化,一个类对另一个类的依赖性,尽量建立在最小的接口上

                                                               4 合成/聚合复用原则 : 尽量使用合成/聚合,而不使用继承

                                                               6 迪米特原则 : 一个对象尽量对其他对象尽可能少的了解,业务型对象(客户端),当面对多的别的对象引用的时候,可以用一个第三方的对象中介

                                                               7 依赖倒转原则 : 依赖于抽象而不是依赖于具体.面向接口编程.面相抽象编程,而不是面向具体编程,就是在类对象调用的时候,在参数的位置,具体是接口或父类的引用

                     --->mvc模式 : 架构设计模式 : Model(模型):业务逻辑层,包含核心功能和数据并实现核心业务逻辑

                                                                   View(视图):表示层,向用户显示信息 

                                                                   Controller(控制器):控制层,处理用户输入,并实现View层跟Model层的协同工作

                                                                             模型(model) : 业务逻辑层,封装了业务逻辑和数据

                                                                                          业务逻辑(软件的核心)

                                                                                          数据以及访问他们的函数(视图组件使用)

                                                                                          执行特定应用程序处理的过程(控制代表用户调用)

                                                                                               模型对用户来说是不可见的(M与V独立)

                                                                                               模型独立于特定输出表示或者输入方式(M于C独立)

                                                                                               用户只能通过控制器操作模型(C是M于V之间的桥梁)

                                                                               视图(View) : 表示层,就是用户看到并与之交互的界面,通常实现数据的输入和输出功能   

                                                                                              从模型获取数据 : 通过状态查询函数实现

                                                                                                                    列如:定时刷新

                                                                                              向用户显示信息 : 不同的视图使用不同的方法呈现信息

                                                                                                                    每个视图组件都有一个更新函数,这个函数被模型变更通知激活

                                                                                                                    这个函数被积木哦(此时模型已经变更)后,将使用视图重新和模型一致

                                                                                                                    在初始化阶段,视图向模型登记请求变更通知(表)

                                                                             控制器(Controller) : 控制层,起到控制整个业务流程的作用,实现View层跟Model层的协同工作.

                                                                                                         每个视图有一个相关的控制器组件(一一对应)

                                                                                                         用户仅仅通过控制器与系统交互

                                                                                                         控制器组件接受事件,并翻译成输入 : 事件如何发送到控制器由用户界面平台决定

                                                                                                                                                            事件被翻译成为对模型或视图的求情

                                                                                                                                                            如果控制器的行为依赖于模型的状态,那么控制器也需要向模型登记求情变更通知

                                                                                                                                                            例如:用户点击按钮,按钮的事件响应函数将采取响应的措施处理用户要求

                                                              Adapter为什么可以往View里面传递数据因为我们所有的容器View都继承于AdapterView

                                                              使用mvc的目的 : 将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式

                     --->反射机制 :  反射 Reflection(反射,映像,倒影)在java语言中很重要的一个特性(比如镜子,可以看见自己,也可以看见别人的每一个部分).允许程序运行时(不是编译)来进行自我检查并且对内部的成员进行操作

                           java反射主要提供了以下功能 :1 在运行时判断任意一个对象所属的类。

                                                              2 在运行时构造任意一个类的对象。

                                                              3 在运行时判断任意一个类所具有的成员变量和方法。

                                                              4 在运行时调用任意一个对象的方法。

                          要想使用反射,首先需要获得待操作的类所对应的Class对象。

                          常用的获取class对象的三种方式: 1使用class类的静态方法(获得*.class类的对象)

                                                                           new

                                                                           Class.forName():获得当前类的下一个对象

                                                                        2 获得.class对应的class对象

                                                                           类名.class

                                                                        3 获得对象中我们要调用的属性

                                                                           获得构造方法

                                                                           获得字段信息class反射调用不同于那些用于接入构造函数的调用,在参数类型数组.用于获得方法信息函数

                                                                         直接get的都支持继承,不支持私有

                                                                         getClass()方法定义在Object类中,不是静态方法,需要通过对象来调用,并且它声明为final,表明不能被子类所覆写。

                        反射机制修改: 1 提取所有servlet中的方法进行action匹配.

                                                web.xml 前台页面,servlet逻辑

                                             2 反射替代人工匹配

                                             3 把反射逻辑和servlet具体方法分离

                                                创建BaseServlet.java

                                                继承

                                             4 开发原则:开闭原则 

                        .....................................................

jsp页面表现层: 用户列表

用户添加

权限列表

权限添加

权限修改

对于jsp页面的显示,是最基本的,首先要有Oracle表的建立.才会有将商品页面的增删改查.

Oracle建表就要涉及到用户的创建等等,sql语句,数据的存储.

jsp : JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的servlet设计.

        它实现了Html语法中的java扩展(以 <%, %>形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。

        JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑.Java Servlet是JSP的技术基础.

CMS体育系统经历了六次迭代............

我觉得一个项目重要的是思路是架构,架构清晰,就能一步步去实现,不乱套.

其中 BaseServlet.接受前台请求,并映射对应方法.实现方法反射.

       DAO层呢.最小化数据库操作

       permission这是一个实体包具体实现前端请求方法,继承BaseServlet

       service包.是一个逻辑包.servlet数据层中间层包

       util常用工具包

      

原文地址:https://www.cnblogs.com/lwxalxy/p/4723753.html