目录

一、后端

二、前端

三、运行结果


概述:本次实验中我们选择使用实现REST API,在web上实现登录、签到以及查询签到结果的功能。

一、后端

本次实验在第二次实验(设计模式)的基础上进行了极大的改进,通过spring框架使用XML配置的方式实现设计模式中的简单工厂模式,并且使用apache的dbutils中的QueryRunner对数据库进行操作,减少了操作数据库时的复杂操作。简单工厂模式的配置如下:

需要获取对象时首先获取配置文件bean.xml,并使用spring提供的getBean方法获取对象(其中的参数”service”对应上图配置文件中的<bean id=”service”>):

         此外,工程严格按照业务逻辑层(service)、数据访问层(dao)、控制层(controller)的模式进行了修改,将业务与数据库的操作划分开来,并使用接口来相互连接,减少了代码的耦合度。代码路径如下:

本组在控制层中实现REST API的调用,包括Get方法和Post方法的声明,在Postman上通过网址进行成功调用后,将后端与前端进行连接。实现Get方法和Post方法如下:

在后端测试无误后与前端进行连接。

二、前端

前端采用vue编写,使用axios与后端进行连接。前端主要分为五个页面,分别是登录页面,导航页面,签到页面,查询签到记录页面和教室页面。前端项目目录结构如下:

前端与后端连接采用axios,以登录方法举例。前端使用axios指定后端url,并将页面文本框中的数据传输到后端,后端判断用户名和密码是否合法,若用户名和密码合法则跳转至导航页面。

前端与后端连接需要解决跨域问题。在vue项目中config\index.js文件中找到proxyTable作相应修改,并在后端控制器代码中加入@CrossOrigin来解决跨域问题。

三、运行结果

登录http://localhost:8081后进入系统的登陆界面

登录成功后进入导航界面,有签到和查询签到记录两个模块:

点击签到界面,可以输入课程号、学号、第几周进行签到,此时会调用Post方法向服务器请求签到:

 再进入查询模块,输入学号后会将查询结果以表格的形式显示在网页上,可以发现刚才签到的数据已经写入数据库并被查询了出来:

 与数据库结果显示一致:

资源下载地址:软件设计与体系结构第三次实验.zip-Java文档类资源-CSDN下载

软件设计与体系结构第三次实验——web服务开发相关推荐

  1. SCU软件设计与体系结构第三次测试试卷

    一.单选题 1. Which following ercentage is the fault tolerant degree availability? ()(20.0分) A. 99.9% B. ...

  2. 软件设计与体系结构思维导图

    软件设计与体系结构思维导图 第一章 软件工程与软件设计 第二章 统一建模语言UML 目录版 详细版 第三章 软件设计基础 目录版 详细版 第四章 面向对象的软件设计方法 目录版 详细版 第六章 用户界 ...

  3. 软件设计与体系结构第二版董威_董威-软件设计与体系结构(第2版)-PPT课件.zip-3-4-形式化方法.ppt...

    董威-软件设计与体系结构(第2版)-PPT课件.zip-3-4-形式化方法.ppt (1009.5 KB) 下载风险提示 若需要下载,请务必先预览(下载的文件和预览的文件一致) 由于本站上传量巨大,来 ...

  4. 软件设计与体系结构(第二版)部分习题

    第一章:软件工程与软件设计 1.叙述软件工程中可修改性,有效性,可靠性,可理解性,可维护性,可重用性,可适应性,可移植性和可追踪性等概念的含义,并指明这些概念的重要性 可修改性(modifiabili ...

  5. 软件设计与体系结构——创建型模式

    如果有兴趣了解更多相关内容,欢迎来我的个人网站看看:瞳孔的个人空间 创建型模式: 创建型模式抽象了实例化过程 帮助系统独立于如何创建.组合和表示对象 一个类创建型模式使用继承改变被实例化的类 类创建型 ...

  6. 《软件设计的哲学》(三)【复杂性的本质】

    第 2 章 复杂性的本质 Chapter 2 The Nature of Complexity This book is about how to design software systems to ...

  7. 南邮软件设计matlab,通信软件设计基础,南邮,实验报告(共10篇).doc

    通信软件设计基础,南邮,实验报告(共10篇) 通信软件设计基础,南邮,实验报告(共10篇) 南邮matlab软件设计实验报告 通信与信息工程学院 2014 /2015 学年 第2学期 软件设计 实验报 ...

  8. 无线串口服务器设计,基于无线串口服务器的DNC实验系统设计与开发.pdf

    基于无线串口服务器的DNC实验系统设计与开发.pdf -- ISSN 1002 4956 实 验 技 术 与 管 理 第 28卷 第 6期 2011年 6月 . . . . . . . . . . . ...

  9. 学历学籍系统-Web服务开发实验(REST API)

    目录 1 项目简介 1.1 分工 2 开发环境 2.1 框架搭建 2.2 数据库建表(Resuorce) 2.2.1 用户信息user表 2.2.2 学生学历/学籍信息student_graduate ...

最新文章

  1. iOS超全开源框架、项目和学习资料汇总(1)UI篇
  2. 每日记载内容总结50
  3. Docker容器原理及相关知识
  4. python pp 库实现并行计算
  5. QCwindows server 2003部署
  6. HttpClient v4.5 简单抓取主页数据
  7. 几种并发服务器模型的实现:多线程,多进程,select,poll,epoll
  8. c语言平面向量加法考点,平面向量的加减法怎么死活都不会?有没有什么口诀?例如:向量AB+BC=?向量OA-OB=?向量AB-CB=?有没有什么口诀!...
  9. Camera TTC估计
  10. 【bzoj3329】Xorequ 数位dp+矩阵乘法
  11. Linux mcheck机制检测内存溢出、内存越界
  12. Java连接字符(concat)
  13. 虚拟机上安装Linux时出现的问题及解决方法
  14. android硬件加速器及其问题小结
  15. usmssosetup 单点登录被禁用_单点登录系统,如果cookie被禁用了怎么办
  16. 公众号推送长图最佳尺寸_微信公众平台图片尺寸是多少
  17. HTML5 特殊符号大全
  18. OpenCV零基础从配置环境到读取图片,输出各种灰度腐蚀图,最后输出直方图,做矩阵运算等等
  19. 支付宝扫码跳转到跳转页面
  20. 【励志】俞敏洪励志演讲:摆脱恐惧

热门文章

  1. 问题 C: LD的神奇魔法
  2. linux替换jar包目录,Linux下用jar命令替换war包中的文件【转】
  3. c语言输出字母A的ascii值,ascii是什么意思_C语言中如何输出ASCII码
  4. delphi+python混合编程
  5. RabbitMQ搭建
  6. 技术大佬:还在用Excel,傻了吧!网友:每天朝九晚六飞起来!
  7. CentOS7设置共享目录
  8. 抖音营销的6种方法5个套路
  9. windows10运行命令快捷方式小结
  10. E. Add Modulo 10(规律)