简易OA系统

OA系统:Office Automation System :办公自动化系统

项目准备:

    1.开发工具和数据库操作软件

    2.分析项目需求(画出时序图),设计数据库

    3.根据需求搭建框架,依照MVC分层思想在开发工具中准备

    4.导入所需工具、jar文件等

    5.开整

数据库设计表与表之间的关联:(一键导入SQL)

oracle导入sql1

oracle导入sql

oracle导入sql2
设计表

根据MVC分层

    M层:模型层,存放Serlvet

    V层:视图层,存放页面元素

    C层:连接层,放JDBC文件

需要导入的其他jar文件

    1.Junit测试包

    2.Oracle数据库驱动包

    3.其他工具包(Gson包等)

Myeclipse如何使用JUit进行测试

    1.导入Juit文件

导入Juit文件
选择Junit版本1
选择Junit版本2
添加成功

使用

使用Juit进行测试

一、添加部门的逻辑实现

    1.点击新增部门

    2.输入新增部门的信息,点击提交

    3.提交入库,

    If(成功){执行查询部门操作最后展示到页面}

    else{返回到新增界面,并带个添加失败提示}

添加部门的逻辑实现

二、查询所有部门逻辑实现

    1.点击部门管理,(首先这个时候已经发送了请求给后台)

    2.后台查询到结果,并将数据保存在作用域中

    3.后台响应查询结果到前台页面,前台页面中接收展示给用户

    if(查询成功XXX!=null){发送到前台页面}

    else{服务器繁忙,请稍后再试}

查询所有部门逻辑实现

三、删除部门逻辑实现

    1.点击部门管理,先执行一次查询所有部门

    2.点击删除部门,提示是否确认删除,点击确认执行删除,否无恙

    3.If(删除成功){执行一次查询部门操作,并返回部门管理页面}

    else{在当前页面提示删除失败}

删除部门逻辑实现

四、更新部门逻辑实现

    1.点击部门管理(首先要执行一次查询所有部门)

    2.点击要修改的部门

    3.修改信息,提交入库

    if(修改成功){重定向到部门管理进行展示} else{在当前页面显示修改失败}

更新部门逻辑实现

五、添加员工逻辑实现

    1.设计好数据库中的表,多表之间的关联要确认好,在java实体类中确定属性之间的关联

    2.静态页面展示给用户的时候,员工的所属部门和领导编号最好用选择框让用户选择,以及日期最好用日期类让用户点,不要输入,然后用户输入提交

    3.后台查询添加是否入库

    if(添加成功){重定向到员工管理展现给用户}

    else{当前界面展示添加失败(最好给出失败原因)}

添加员工逻辑实现 

富文本插件使用

    1.将文本插件拷贝到WEB项目的根目录下,然后在需要使用文本插件的页面进行引用

    2.然后为文本插件指定id名和参数

    3然后在需要需要使用编辑器的插件文字指定id即可

富文本插件使用

日历插件使用

    1.将日历插件拷贝到WEB项目的WEBRoot根目录下,然后在需要使用日历插件的页面进行引入

引入日历插件

    2.调用:在需要使用日历插件的文本框中添加事件

调用日历插件
日历插件

下拉列表动态显示信息

    从数据库中查询获取,在jsp页面先引入Jstl,然后通过<C:foreach>标签来遍历,再将用El表达式获取指定数据

下拉列表动态显示信息 

查询所有员工逻辑实现

    点击查询所有员工,发送请求给指定的servlet,通过反射调用方法,servlet中调用业务层,业务层调用dao层,dao层把查询到的数据封装到集合对象中,返回给业务层,再通过servlet转发到jsp页面,jsp页面中将数据取出,并展示

查询所有员工逻辑实现

查询条件的记忆功能

    在servlet中将查询到的请求内容存储到四大作用域任一中(一般使用请求转发到jsp页面,存储在request中),在jsp页面通过jstl标签库将数据取出放到文本的value内

记忆功能1
记忆功能2
记忆功能3

多条件查询逻辑实现

    在form表单添加提交按钮到指定servlet中并拼接上方法名,servlet通过反射调用指定查询方法,查询方法调用业务层处理逻辑,业务层调用dao层处理数据库操作(动态追加SQl语句),dao层将数封装成实体类对象并保存在集合对象中回给service,service将数据返回给指定servlet,servlet将数据添加到request中,然后转发给jsp页面,在jsp页面通过jstl标签库将数据展示

多条件查询逻辑实现

Dao层sql语句拼接

判断追加的条件是否为空,以及日期转换的处理

Dao层sql语句拼接

删除员工逻辑实现

    1.为了程序更加人性化,添加单击时间,是否删除

    2.点击确定,执行删除操作,发送请求到指定的servlet,并附带删除员工的id(该id是之前用jstl标签库获取到的)

    3.Servlet通过反射调用指定方法,然后调用业务层,业务层调用dao层,dao层执行数据操作

绑定事件
删除员工逻辑实现

更新员工逻辑实现

    在员工管理界面点击修改按钮,jsp会发送请求到指定servlet,然后通过id查询员工,查询到员工信息之后,返回到servlet中,并添加到作用域中,然后再转发到update.jsp,修改页面通过El表达式获取各个属性的值显示到页面中,然后进行修改

    最后点击提交,发送请求到指定servlet获取请求数据,并且调用service层,业务层调用dao层,对数据库进行相应操作,操作完毕后转发或重定向到查询所有员工页面(应添加修改成功or失败提示信息)

更新员工逻辑实现

    整个更新操作中需要注意:数据库设计表时候各表的类型和表之间的关联关系,以及表单约束

其他功能不再上传,整个项目使用纯JSP+Servlet,只是为了再次理解MVC分层思想

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一. Java基础部分.................................................
    wy_sure阅读 3,854评论 0 11
  • IOC 控制反转容器控制程序对象之间的关系,而不是传统实现中,有程序代码之间控制,又名依赖注入。All 类的创建,...
    irckwk1阅读 1,005评论 0 0
  • JSP中的常用插件: 日历插件: 作用:在输入框中,直接显示万年历的日期选择器 使用方法: 下载插件,直接拷贝到w...
    小破孩_e9ce阅读 292评论 0 0
  • JSP总结(经典) day1 JSP 定义: 1)Java Server Page, Java EE 组件,本...
    java日记阅读 3,543评论 0 13
  • 1.abstract class 和interface 有什么区别? 抽象类可以有构造方法 接口不行 抽象类可以有...
    sunnysans阅读 892评论 0 1