• 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常用工具包

          

  • 相关阅读:
    MySQL中MyISAM为什么比InnoDB查询快
    .Net Core导入千万级数据至Mysql
    细说MySql索引原理
    原生Swagger界面太low(推荐)
    开源分布式调度系统分享(ScheduleMaster)
    tfs agent cicd 自动编译 xcpoy失败
    .net 网站
    Android App Arch
    Android 多进程引发的一次crash
    Scrapy 抓取数据入门操作
  • 原文地址:https://www.cnblogs.com/lwxalxy/p/4723753.html
Copyright © 2020-2023  润新知