【一体化2期末项目】简单在线考试系统web版

                                                                                    项目简介

 

项目已上传到github,详细代码请查看:https://github.com/a1171404817/the-terminal-project-in-yitihua2

使用的是:java+tomcat+mysql 
开发工具:idea

1

三点说明:

1、之前大家的都做得很好了,我这个的话做的比较简单,但亮点我全部都是我自己写的、每一个细节我都比较熟悉。一共有3500多行代码,算中包括jsp页面和700行之前自己写的一个四则运算随机生成器内核。

 

2、项目除了传统模式之外,亮点还有是自动出卷判卷模式,基于之前写的四则运算随机生成器的内核写的(软工导论课大作业写的,然后我就把它用了起来)。它的好处是,学生做题——做完题立刻交给机器当成判断判卷,之后将成绩报告交给学生和老师。

 

3、我是主要做后端,是个人项目,所有我的绝大部分精力放在它的后端上(编实体类、实体对应的dao类、servlet、存取数据库),前端没有进行渲染、所以前端页面看起来是的非常朴素,这个大家见谅= =,但后端功能是齐全了的。

 

【一体化2期末项目】简单在线考试系统web版

2

项目演示(手稿、框架图、博客、代码上传到github上、学习记录、项目跑起来展示)

 

 

两种功能:

传统模式:老师出题-学生答题-老师判卷-学生查成绩

自动模式:基于之前写的四则运算随机生成器的内核做的,他最大的优点在于省时省力。

 

3

代码展示(实体和dao、servlet、jsp、mysql数据库表设计)

 

 

4

总结和感受

 

                                                                            最大的困难:

1框架的使用上

花了四五天,每天都在弄这个,还熬了一晚,最近才系统性地学后端,和已学了很久后端的同学很大的差距的。

 

虽然写得比较简单,但功能都实现了,让我对后端的基本功得到了一次锻炼,层次得清晰明亮,对实体、dao、servlet、mysql数据库的理解,大有收获。

 

对MVC模式, 显示层、业务逻辑层、持久层的理解更深。

我相信之后在框架的使用上会更加的得心应手。

 

 

2Eclipse、myeclipse转idea、环境的配置,老师的项目是在eclipse,因为myeclipse一直以来用的比较顺手,导进来各自环境错误,一个个调到快崩溃了。

 

然后我就决定花时间调,还不如自己写一个简单的,顺便锻炼自己,并且但之后实习、工作开发用的是idea,这次项目我是转到idea上来的,myeclipse转idea花了很久,环境也重配了很久。

 

                                                                           学到了什么:

1、感受到规范化的重要性,即使我的项目写到很多,整个逻辑也不会混乱。对JSP 2模式(mvc模式)理解更深刻,jsp1模式——>jsp2模式,jsp2层次清晰,我后面写得再多业务逻辑也很少混乱,这就是为甚写实体、dao、servlet这些规范得作用吧。

如果是jsp1模式,早就混乱了不知道写得啥了。

 

 

2、感受多人合作的重要性,一个的力量总是有限的。一个人再厉害 也很难在短时间写不出真正大型的项目 ,

一个人再强也几乎不可能把一个大型项目里把所有得后端、前端全部写完,

我只是写了一个后端 就了很多力气。如果还要渲染前端,那估计得累死掉= =。

而团队之力量强大在于,许多许多的一滴水,聚成了海洋。是在其中大型项目里的一个大型模块写好,就已经很不错的。

 

 

3、模块重用,如之前的四则运算运算出题内核。我们写完得一些东西不是写完就丢了的,把它模块化,后来依然可以用到,这就是java面向对象编程中的模块化的基本思想。

 

4、主要是对数据的持久化操作的熟悉, 在四则运算随机生成器的内核上我了个懒,是arraylist装的,保存在session中,但浏览器一关就消失了。这次我的数据都是持久化放在数据库中的。

 

5、可以改善的地方(可略)

     

1

框架本想用下strurts2的 把servlet逻辑写道 action里面 后面就算了

之后可以用框架

2

采用struct2 sevlet hibernate(持久化)要改善的方向

MVC模式 层次逻辑 分明

显示层(jsp)、业务逻辑层(相应的servlet,Struts2——action)、持久层(对应的dao 用jdbc)

 

3

待完善,倒计时功能

 

 

4

自动出题判题模式-设置参数(偷懒了 持久化)

 

 

 

                                                                        将来的打算是什么:

我想建立在扎实的基本功上,进行框架的使用。

在大三得后续课程里准备进行框架级的开发。

大一得 javase 学得比较扎实

大二 对javaee 的基本功得到锻炼

大三 的继续进行框架的项目的学习、或者去企业实习。

这个是后端的成长之路吧

 

以后我想从事java后端的开发,

因为我对java感兴趣,小时候玩游戏的时候最爱的一件事情,通过游戏自带编辑器,我那时候常常用它来写一些很简单自娱自乐的游戏、就比如自己设英雄、技能、地图啥的。当然那个图形用户界面操作,脚本语言的代码多用来写核心功能的触发器,那个一开始不懂,后来大了,才知道这个其实就是代码,只是语言不同,那个是专门写游戏的语言。那个可能算是我的一个萌芽吧。编程写程序,和写游戏有一种共通之感,可以得以让人得到一种类似写游戏的乐趣,有了乐趣的工作才会产生火花。

 

最后,感谢老师可以给我这一次项目的经历,让我从中得到了锻炼。还有感想同学们听了我的这么久。谢谢大家。