基于SSH框架的实验报告系统

其实也可以算成是作业系统,老师可以发布作业,实验内容,学生完成提交,老师批改给分。前端主要是之前在CSDN下载的一个资源的前端,原作者做得很漂亮就拿来用了(前端硬伤,还有几个页面是同学做的,在此谢过原作者和同学,改用了一些图片和文字)。其实写这篇博文的目的还是想用CSDN的CODE的功能,自己折腾了一个下午,了解CODE的帮助和git工具,原来版本控制这么好玩且方便。传说中的一个程序员向另外一个程序员的发出的挑战就是一个项目下的分支。

主页:

为了将框架那些零零碎碎的东西和3个框架整合起来,就搭建好SSH后来开发,相对于纯JSP的开发,总体来说框架的话是前难后易(自己一步一步摸索,一次次趴倒在桌子上,最后还是搞定了),纯JSP的话是前易后难。方便的地方是Hibernate带来的数据库语句的精简(面向对象)。Struts页面的跳转控制,Spring的注入,如不用自己new SessionFactory。

注册页面:

项目还有很多不完善之处,如学院班级专业,如果算上这个,加上那么多老师,后面的跨系问题很复杂,就此打住,只针对一个专业做。密码做了加密处理。

老师登录:

邮件通知功能未完善,就是javamail的东西。

作业发布的编辑器用了百度的UEditor。

学生登录:

其实里面的逻辑关系也不复杂,你布置我完成,我完成你改,你改我查成绩,一气呵成,主要是有了框架之后要考虑比较多的东西。

分层(以下代码省略)为实体类Bean层,如Homework

package com.web.bean;

import java.sql.Timestamp;

/**
 * AbstractHomework entity provides the base persistence definition of the
 * Homework entity. @author MyEclipse Persistence Tools
 */

public class Homework implements java.io.Serializable {

	// Fields

	private Integer id;
	private String title;

	//科目
	private String subject;
	private String studentcontent;
	private String teachercontent;
	private Integer teacherid;
	private Integer studentid;
	private Integer homeworkid;

	//完成时间
	private Timestamp finishdate;
	//发布时间
	private Timestamp publishdate;
	//完成时间
	private Timestamp lastdate;
	//分数
	private Integer mark;
}

Action层,struts的跳转,如登录跳转LoginAction

public class LoginAction extends ActionSupport {

	private int loginid;
	private String password;
	private String role;
	private LoginService loginService;

	@Override
	public String execute() throws Exception {
		if(role.equals("1")){
			Student student = new Student();
			student.setLoginid(this.getLoginid());
			student.setPassword(this.getPassword());
			if(loginService.student_check(student) != null){

				//验证成功后 ,往session中存入student
				Map session = ActionContext.getContext().getSession();
				session.put("student", loginService.student_check(student));
				//System.out.println("true");
				return "student_login";
			}
		}
}

DAO抽象层,HomeworkDAO,其实抽象主要为了以后的拓展,如果我一般系统定型,可以直接一层实现层应该也是可以的。

public interface HomeworkDAO {

	void save(Homework homework);
	void update(Homework homework);
	void delete(Homework homework);

	//所有作业
	List<Homework> listall();
}

DAO实现层,HomeworkDAOImpl

public class HomeworkDAOImpl extends HibernateDaoSupport implements HomeworkDAO  {
	/* (non-Javadoc)
	 * @see com.web.DAO.impl.HomeworkDAO#save(com.web.bean.Homework)
	 */
	public void save(Homework homework){
		 this.getHibernateTemplate().save(homework);
	 }
}

Util,功能层,主要实现一些具体的功能,如MD5加密等等。

服务层和服务实现层。HomeworkServiceImpl

public class HomeworkServiceImpl implements HomeworkService {

	private HomeworkDAO homeworkDAO;

	public HomeworkDAO getHomeworkDAO() {
		return homeworkDAO;
	}
}

总的层次有了之后,就是一个一个功能的实现,每实现一个功能就保存一份,然后命名给自己看明白,这也是所谓的版本控制。

根据CODE说明,发现Github的git shell一样可以用,vim打开存在路径问题。

查看属性

git config --list 

仓库初始化

git init

添加文件,add可以是将文件更新到暂存区域,也可以是文件已在暂存区域可以提交,具体看文件状态。add添加想要上传的文件。

git add README.md

commit -m不懂 可以利用git  help commit跳转到浏览器的解释文本 -m <msg> 即添加消息提示。

remote add 远程仓库添加,即存放在CSDN CODE区。

push到远程仓库,分支为master

git commit -m "first commit"

git remote add origin [email protected]:iaiti/experimentreportsystem.git

git push -u origin master

终于,可以了。

https://code.csdn.net/iaiti/experimentreportsystem/tree/master

时间: 2024-10-11 04:01:28

基于SSH框架的实验报告系统的相关文章

基于SSH框架的在线考勤系统开发的质量属性

我要开发的是一个基于SSH框架的在线考勤系统,在系统中常见的质量属性有:可用性.可修改性.性能.安全性.易用性. 可用性方面: 可用性是指系统正常运行时间的比例,是通过两次故障之间的时间长度或在系统崩溃情况下能够恢复正常运行的速度来衡量的.实现可用性的战术分为三类:错误检测(用来检测故障的健康监视).错误恢复(检测到故障时的恢复).错误预防(阻止错误演变为故障).用于检测错误的3个战术是: 信号/响应.心跳.异常.用于错误恢复的战术有7种:表决.主动冗余.被动冗余.备件.shadow操作.状态再

基于SSH框架的学生公寓管理系统的质量属性

系统名称:学生公寓管理系统 首先介绍一下学生公寓管理系统,在学生公寓管理方面,针对学生有关住宿信息问题进行管理,学生公寓管理系统主要包含了1)学生信息记录:包括学号.姓名.性别.院系.班级:2)住宿信息记录:包括宿舍楼号.宿舍号.电费信息.维修记录:3)报修信息记录:包括宿舍楼号.宿舍号.报修品.时间.维修状态:4)后勤人员记录:包括工号.姓名.联系方式:5)电费信息记录:包括宿舍楼号.宿舍号.电剩余量.使用量.缴费金额.剩余金额:6)学生晚归记录:晚归学生的学号.姓名.时间.宿舍号.日期.和原

基于SSH的高校网上选课系统的质量属性的实现

我对于基于SSH的高校网上选课系统的质量属性的实现是从可用性.性能.安全性.可维护性.易用性五个方面进行的实现. 可用性方面: 实现方式:(1)当系统试图超出限制范围来进行课程查询或选课时必须进行错误检测并且抛出异常,中止进一步的错误操作,所采用的战术为错误(异常)检测, 此异常属于Action层,只捕获自定义应用异常,其他异常上抛.Struts2提供了异常拦截器,拦截器会将定义的异常捕获,记录日志,然后根据配置的异常的类型顺序跳转到相应的页面.(2)遵从J2EE的系统提供了可以使用的事务服务,

文献综述十八:基于SSH框架的进销存管理系统设计与实现

一.基本信息 标题:基于SSH框架的进销存管理系统设计与实现 时间:2017 出版源:内蒙古科技与经济 文件分类:对框架的研究 二.研究背景 进销存管理系统在各企业中广泛应用,使用SSH框架,很大程度上提高了开发效率及系统的可靠性和易用性. 三.具体内容 文献的主要内容分为三大部分.一是SSH框架技术,二是系统功能模块,三是系统实现相关技术介绍. SSH框架技术:分为struts2框架.spring框架.hibernate框架.struts2框架:采用拦截器机制来处理用户的请求,这样使得业务逻辑

基于SSH框架的网上商城的质量属性

常见质量属性 1.性能 性能就是一个东西有多快,通常指响应时间或延迟. 响应时间:从发出请求到收到响应所用的时间,比如用户点击网页中的超链接或桌面应用程序中的按钮 延迟:消息从A点到B点,通过你的系统所用的时间. 就算构建的不是“高性能”软件系统,性能也可应用于Web应用系统.桌面应用系统.面向服务架构.消息系统等几乎所有你要构建的软件系统. 2.可用性 可用性是软件对服务请求的可操作和可见程度.你常会看到用“9”来衡量或指代可用性,如99.99%(四个9)或99.999%(五个9).这些数字指

基于 ssh + Xpra 构建 Docker 桌面系统

by Falcon of TinyLab.org 2015/05/01 Docker 桌面系统 初识 Docker,发现大部分文章都只是介绍非 GUI 的应用.想到蛮多场景需要图形化界面,所以搜罗了一下 Docker 镜像: $ sudo docker search desktop NAME DESCRIPTION STARS OFFICIAL AUTOMATED dorowu/ubuntu-desktop-lxde-vnc Ubuntu with openssh-server and NoVN

如何实现基于ssh框架的投票系统的的质量属性

通过对系统的六个质量属性制定战术,进行实现. 1.  可用性(Availability)的战术 首先需要知道什么是可用性?可用性是指系统正常运行时间的比例,是通过两次故障之间的时间长度或在系统崩溃情况下能够恢复正常运行的速度来衡量的. 制定可用性战术是为了使系统的错误通过该战术,尽可能的减少或者屏蔽.修复: 错误检测 信号/响应:通过投票网站主页,进行多次投票,查看投票结果是否正常,数据是否准确: 心跳:系统后台设置时钟,实时更新,检测时钟是否实时更新或出现暂停情况: 异常:使用抛出异常语句,当

java毕设--基于ssh框架开发的个人博客系统

联系qq:2835777178   有兴趣者可以联系我,也可先查看项目运行视频再决定 项目部分功能界面 一.博客主页面 二.关于我 三.个人日记 四.用户登录界面 五.登录后主界面 六.个人资料管理界面 在这里其他界面就不粘贴啦,如有需要联系上面的qq

基于SSH的网上购物商城系统-JavaWeb项目-有源码

项目简介: 基于WEB的网上购物系统主要功能包括:前台用户登录退出.注册.在线购物.修改个人信息.后台商品管理等等.本系统结构如下: (1)商品浏览模块: 实现浏览最新商品 实现按商品名称浏览商品 实现根据商品分类浏览商品 (2)购物车: 登录后可以将商品加入购物车,或从购物车移除商品 (3)登录.注册: 购物前需要登录,如果没有账号则可以先注册 (4)提交.查询订单: 商品加入购物车后可以提交订单,也可以查看自己的所有订单 (5) 后台管理员模块 用户登录功能:通过账号登录系统. 商品分类管理