├── .gitignore ├── README.MD ├── WebContent ├── 404.jsp ├── 500.jsp ├── META-INF │ └── MANIFEST.MF ├── WEB-INF │ ├── applicationContext.xml │ ├── lib │ │ ├── antlr-2.7.2.jar │ │ ├── aopalliance-1.0.jar │ │ ├── commons-codec-1.9.jar │ │ ├── commons-collections-3.1.jar │ │ ├── commons-dbcp.jar │ │ ├── commons-fileupload-1.2.2.jar │ │ ├── commons-fileupload-1.3.1.jar │ │ ├── commons-io-2.0.1.jar │ │ ├── commons-io-2.4.jar │ │ ├── commons-lang-2.5.jar │ │ ├── commons-logging-1.1.1.jar │ │ ├── commons-pool.jar │ │ ├── dom4j-1.6.1.jar │ │ ├── freemarker-2.3.16.jar │ │ ├── hibernate-jpa-2.0-api-1.0.1.Final.jar │ │ ├── hibernate3.jar │ │ ├── javassist-3.12.0.GA.jar │ │ ├── jcommon-1.0.16.jar │ │ ├── jfreechart-1.0.13.jar │ │ ├── json.jar │ │ ├── jstl.jar │ │ ├── jta-1.1.jar │ │ ├── mysql-connector-java-5.1.18-bin.jar │ │ ├── ognl-3.0.1.jar │ │ ├── org.springframework.aop-3.1.1.RELEASE.jar │ │ ├── org.springframework.asm-3.1.1.RELEASE.jar │ │ ├── org.springframework.beans-3.1.1.RELEASE.jar │ │ ├── org.springframework.context-3.1.1.RELEASE.jar │ │ ├── org.springframework.core-3.1.1.RELEASE.jar │ │ ├── org.springframework.expression-3.1.1.RELEASE.jar │ │ ├── org.springframework.jdbc-3.1.1.RELEASE.jar │ │ ├── org.springframework.orm-3.1.1.RELEASE.jar │ │ ├── org.springframework.transaction-3.1.1.RELEASE.jar │ │ ├── org.springframework.web-3.1.1.RELEASE.jar │ │ ├── slf4j-api-1.6.1.jar │ │ ├── standard.jar │ │ ├── struts2-core-2.2.3.1.jar │ │ ├── struts2-dojo-plugin-2.2.3.1.jar │ │ ├── struts2-spring-plugin-2.2.3.1.jar │ │ ├── ueditor-1.1.2.jar │ │ └── xwork-core-2.2.3.1.jar │ └── web.xml ├── administrator │ ├── addclass.jsp │ ├── addfield.jsp │ ├── addmajor.jsp │ ├── addnotice.jsp │ ├── addposition.jsp │ ├── addstudent.jsp │ ├── addteacher.jsp │ ├── alltopic.jsp │ ├── choicestu.jsp │ ├── class.jsp │ ├── config.jsp │ ├── detail.jsp │ ├── editMajor.jsp │ ├── editclass.jsp │ ├── editfield.jsp │ ├── editposition.jsp │ ├── field.jsp │ ├── index.jsp │ ├── info.jsp │ ├── major.jsp │ ├── message.jsp │ ├── modifyPW.jsp │ ├── notice.jsp │ ├── noticeSearchResult.jsp │ ├── pointsend.jsp │ ├── position.jsp │ ├── scrollingnotice.jsp │ ├── searchtopicresult.jsp │ ├── student.jsp │ ├── teacher.jsp │ ├── topicdetail.jsp │ ├── userinfo.jsp │ └── writemessage.jsp ├── css │ ├── login.css │ ├── reset.css │ └── style.css ├── dialogs │ ├── anchor │ │ └── anchor.html │ ├── attachment │ │ ├── attachment.css │ │ ├── attachment.html │ │ ├── attachment.js │ │ ├── fileTypeImages │ │ │ ├── icon_chm.gif │ │ │ ├── icon_default.png │ │ │ ├── icon_doc.gif │ │ │ ├── icon_exe.gif │ │ │ ├── icon_jpg.gif │ │ │ ├── icon_mp3.gif │ │ │ ├── icon_mv.gif │ │ │ ├── icon_pdf.gif │ │ │ ├── icon_ppt.gif │ │ │ ├── icon_psd.gif │ │ │ ├── icon_rar.gif │ │ │ ├── icon_txt.gif │ │ │ └── icon_xls.gif │ │ └── images │ │ │ ├── alignicon.gif │ │ │ ├── alignicon.png │ │ │ ├── bg.png │ │ │ ├── file-icons.gif │ │ │ ├── file-icons.png │ │ │ ├── icons.gif │ │ │ ├── icons.png │ │ │ ├── image.png │ │ │ ├── progress.png │ │ │ ├── success.gif │ │ │ └── success.png │ ├── background │ │ ├── background.css │ │ ├── background.html │ │ ├── background.js │ │ └── images │ │ │ ├── bg.png │ │ │ └── success.png │ ├── charts │ │ ├── chart.config.js │ │ ├── charts.css │ │ ├── charts.html │ │ ├── charts.js │ │ └── images │ │ │ ├── charts0.png │ │ │ ├── charts1.png │ │ │ ├── charts2.png │ │ │ ├── charts3.png │ │ │ ├── charts4.png │ │ │ └── charts5.png │ ├── emotion │ │ ├── emotion.css │ │ ├── emotion.html │ │ ├── emotion.js │ │ └── images │ │ │ ├── 0.gif │ │ │ ├── bface.gif │ │ │ ├── cface.gif │ │ │ ├── fface.gif │ │ │ ├── jxface2.gif │ │ │ ├── neweditor-tab-bg.png │ │ │ ├── tface.gif │ │ │ ├── wface.gif │ │ │ └── yface.gif │ ├── gmap │ │ └── gmap.html │ ├── help │ │ ├── help.css │ │ ├── help.html │ │ └── help.js │ ├── image │ │ ├── image.css │ │ ├── image.html │ │ ├── image.js │ │ └── images │ │ │ ├── alignicon.jpg │ │ │ ├── bg.png │ │ │ ├── icons.gif │ │ │ ├── icons.png │ │ │ ├── image.png │ │ │ ├── progress.png │ │ │ ├── success.gif │ │ │ └── success.png │ ├── insertframe │ │ └── insertframe.html │ ├── internal.js │ ├── link │ │ └── link.html │ ├── map │ │ ├── map.html │ │ └── show.html │ ├── music │ │ ├── music.css │ │ ├── music.html │ │ └── music.js │ ├── preview │ │ └── preview.html │ ├── scrawl │ │ ├── images │ │ │ ├── addimg.png │ │ │ ├── brush.png │ │ │ ├── delimg.png │ │ │ ├── delimgH.png │ │ │ ├── empty.png │ │ │ ├── emptyH.png │ │ │ ├── eraser.png │ │ │ ├── redo.png │ │ │ ├── redoH.png │ │ │ ├── scale.png │ │ │ ├── scaleH.png │ │ │ ├── size.png │ │ │ ├── undo.png │ │ │ └── undoH.png │ │ ├── scrawl.css │ │ ├── scrawl.html │ │ └── scrawl.js │ ├── searchreplace │ │ ├── searchreplace.html │ │ └── searchreplace.js │ ├── snapscreen │ │ └── snapscreen.html │ ├── spechars │ │ ├── spechars.html │ │ └── spechars.js │ ├── table │ │ ├── dragicon.png │ │ ├── edittable.css │ │ ├── edittable.html │ │ ├── edittable.js │ │ ├── edittd.html │ │ └── edittip.html │ ├── template │ │ ├── config.js │ │ ├── images │ │ │ ├── bg.gif │ │ │ ├── pre0.png │ │ │ ├── pre1.png │ │ │ ├── pre2.png │ │ │ ├── pre3.png │ │ │ └── pre4.png │ │ ├── template.css │ │ ├── template.html │ │ └── template.js │ ├── video │ │ ├── images │ │ │ ├── bg.png │ │ │ ├── center_focus.jpg │ │ │ ├── file-icons.gif │ │ │ ├── file-icons.png │ │ │ ├── icons.gif │ │ │ ├── icons.png │ │ │ ├── image.png │ │ │ ├── left_focus.jpg │ │ │ ├── none_focus.jpg │ │ │ ├── progress.png │ │ │ ├── right_focus.jpg │ │ │ ├── success.gif │ │ │ └── success.png │ │ ├── video.css │ │ ├── video.html │ │ └── video.js │ ├── webapp │ │ └── webapp.html │ └── wordimage │ │ ├── fClipboard_ueditor.swf │ │ ├── imageUploader.swf │ │ ├── tangram.js │ │ ├── wordimage.html │ │ └── wordimage.js ├── images │ ├── article │ │ └── 115544rew234 │ │ │ ├── 1.png │ │ │ ├── 10.png │ │ │ ├── 11.png │ │ │ ├── 12.png │ │ │ ├── 13.png │ │ │ ├── 14.png │ │ │ ├── 15.png │ │ │ ├── 16.png │ │ │ ├── 17.png │ │ │ ├── 18.png │ │ │ ├── 19.png │ │ │ ├── 2.png │ │ │ ├── 3.png │ │ │ ├── 4.png │ │ │ ├── 5.png │ │ │ ├── 6.png │ │ │ ├── 7.png │ │ │ ├── 8.png │ │ │ └── 9.png │ ├── dot.gif │ ├── item.png │ ├── loginpic.jpg │ ├── more.png │ ├── more_fill.png │ ├── notice.png │ ├── password.png │ ├── search-fill.png │ ├── search.png │ └── user.png ├── jsp │ ├── config.json │ └── controller.jsp ├── lang │ ├── en │ │ ├── en.js │ │ └── images │ │ │ ├── addimage.png │ │ │ ├── alldeletebtnhoverskin.png │ │ │ ├── alldeletebtnupskin.png │ │ │ ├── background.png │ │ │ ├── button.png │ │ │ ├── copy.png │ │ │ ├── deletedisable.png │ │ │ ├── deleteenable.png │ │ │ ├── listbackground.png │ │ │ ├── localimage.png │ │ │ ├── music.png │ │ │ ├── rotateleftdisable.png │ │ │ ├── rotateleftenable.png │ │ │ ├── rotaterightdisable.png │ │ │ ├── rotaterightenable.png │ │ │ └── upload.png │ └── zh-cn │ │ ├── images │ │ ├── copy.png │ │ ├── localimage.png │ │ ├── music.png │ │ └── upload.png │ │ └── zh-cn.js ├── login.html ├── login.jsp ├── notification_list.jsp ├── single.jsp ├── student │ ├── addtopic.jsp │ ├── alltopic.jsp │ ├── detail.jsp │ ├── edittopic.jsp │ ├── index.jsp │ ├── info.jsp │ ├── message.jsp │ ├── modifyPW.jsp │ ├── notice.jsp │ ├── noticeSearchResult.jsp │ ├── searchtopicresult.jsp │ ├── topic.jsp │ ├── topicdetail.jsp │ ├── userinfo.jsp │ └── writemessage.jsp ├── teacher │ ├── addtopic.jsp │ ├── alltopic.jsp │ ├── choicestu.jsp │ ├── detail.jsp │ ├── edittopic.jsp │ ├── index.jsp │ ├── info.jsp │ ├── message.jsp │ ├── modifyPW.jsp │ ├── notice.jsp │ ├── noticeSearchResult.jsp │ ├── searchtopicresult.jsp │ ├── topic.jsp │ ├── topicdetail.jsp │ ├── userinfo.jsp │ └── writemessage.jsp ├── themes │ ├── default │ │ ├── css │ │ │ ├── ueditor.css │ │ │ └── ueditor.min.css │ │ ├── dialogbase.css │ │ └── images │ │ │ ├── anchor.gif │ │ │ ├── arrow.png │ │ │ ├── arrow_down.png │ │ │ ├── arrow_up.png │ │ │ ├── button-bg.gif │ │ │ ├── cancelbutton.gif │ │ │ ├── charts.png │ │ │ ├── cursor_h.gif │ │ │ ├── cursor_h.png │ │ │ ├── cursor_v.gif │ │ │ ├── cursor_v.png │ │ │ ├── dialog-title-bg.png │ │ │ ├── filescan.png │ │ │ ├── highlighted.gif │ │ │ ├── icons-all.gif │ │ │ ├── icons.gif │ │ │ ├── icons.png │ │ │ ├── loaderror.png │ │ │ ├── loading.gif │ │ │ ├── lock.gif │ │ │ ├── neweditor-tab-bg.png │ │ │ ├── pagebreak.gif │ │ │ ├── scale.png │ │ │ ├── sortable.png │ │ │ ├── spacer.gif │ │ │ ├── sparator_v.png │ │ │ ├── table-cell-align.png │ │ │ ├── tangram-colorpicker.png │ │ │ ├── toolbar_bg.png │ │ │ ├── unhighlighted.gif │ │ │ ├── upload.png │ │ │ ├── videologo.gif │ │ │ ├── word.gif │ │ │ └── wordpaste.png │ └── iframe.css ├── third-party │ ├── SyntaxHighlighter │ │ ├── shCore.js │ │ └── shCoreDefault.css │ ├── codemirror │ │ ├── codemirror.css │ │ └── codemirror.js │ ├── highcharts │ │ ├── adapters │ │ │ ├── mootools-adapter.js │ │ │ ├── mootools-adapter.src.js │ │ │ ├── prototype-adapter.js │ │ │ ├── prototype-adapter.src.js │ │ │ ├── standalone-framework.js │ │ │ └── standalone-framework.src.js │ │ ├── highcharts-more.js │ │ ├── highcharts-more.src.js │ │ ├── highcharts.js │ │ ├── highcharts.src.js │ │ ├── modules │ │ │ ├── annotations.js │ │ │ ├── annotations.src.js │ │ │ ├── canvas-tools.js │ │ │ ├── canvas-tools.src.js │ │ │ ├── data.js │ │ │ ├── data.src.js │ │ │ ├── drilldown.js │ │ │ ├── drilldown.src.js │ │ │ ├── exporting.js │ │ │ ├── exporting.src.js │ │ │ ├── funnel.js │ │ │ ├── funnel.src.js │ │ │ ├── heatmap.js │ │ │ ├── heatmap.src.js │ │ │ ├── map.js │ │ │ ├── map.src.js │ │ │ ├── no-data-to-display.js │ │ │ └── no-data-to-display.src.js │ │ └── themes │ │ │ ├── dark-blue.js │ │ │ ├── dark-green.js │ │ │ ├── gray.js │ │ │ ├── grid.js │ │ │ └── skies.js │ ├── jquery-1.10.2.js │ ├── jquery-1.10.2.min.js │ ├── jquery-1.10.2.min.map │ ├── snapscreen │ │ └── UEditorSnapscreen.exe │ ├── video-js │ │ ├── font │ │ │ ├── vjs.eot │ │ │ ├── vjs.svg │ │ │ ├── vjs.ttf │ │ │ └── vjs.woff │ │ ├── video-js.css │ │ ├── video-js.min.css │ │ ├── video-js.swf │ │ ├── video.dev.js │ │ └── video.js │ ├── webuploader │ │ ├── Uploader.swf │ │ ├── webuploader.css │ │ ├── webuploader.custom.js │ │ ├── webuploader.custom.min.js │ │ ├── webuploader.flashonly.js │ │ ├── webuploader.flashonly.min.js │ │ ├── webuploader.html5only.js │ │ ├── webuploader.html5only.min.js │ │ ├── webuploader.js │ │ ├── webuploader.min.js │ │ ├── webuploader.withoutimage.js │ │ └── webuploader.withoutimage.min.js │ ├── xss.min.js │ └── zeroclipboard │ │ ├── ZeroClipboard.js │ │ ├── ZeroClipboard.min.js │ │ └── ZeroClipboard.swf ├── ueditor.all.js ├── ueditor.all.min.js ├── ueditor.config.js ├── ueditor.parse.js └── ueditor.parse.min.js ├── graduateselectionsystem.sql ├── img ├── admin.png ├── field.jpg ├── index.jpg ├── login.jpg ├── message.jpg ├── student.png ├── teacher.png ├── topic.jpg ├── workflow1.png ├── workflow2.png ├── workflow3.png └── workflow4.png └── src ├── com └── seventh │ ├── action │ ├── admin │ │ ├── AdminAction.java │ │ └── AdminInfoAction.java │ ├── choicemap │ │ ├── CheckChoiceAction.java │ │ ├── ChoiceMapAction.java │ │ ├── StuChoiceTopic.java │ │ └── TeacherChoiceAction.java │ ├── clazz │ │ ├── AddClassAction.java │ │ ├── ClassAction.java │ │ └── ClassInfoAction.java │ ├── config │ │ └── ConfigAction.java │ ├── field │ │ ├── AddFieldAction.java │ │ ├── FieldAction.java │ │ └── FieldInfoAction.java │ ├── major │ │ ├── AddMajorAction.java │ │ ├── MajorAction.java │ │ └── MajorInfoAction.java │ ├── message │ │ ├── MessageAction.java │ │ └── SearchMessageAction.java │ ├── notice │ │ ├── AddNoticeAction.java │ │ ├── DetailNoticeAction.java │ │ ├── NoticeAction.java │ │ ├── NoticeIndexAction.java │ │ └── SearchNoticeAction.java │ ├── position │ │ ├── AddPositionAction.java │ │ ├── PositionAction.java │ │ └── PositionInfoAction.java │ ├── pub │ │ ├── LoginAction.java │ │ ├── SearchAction.java │ │ └── UserInfoAction.java │ ├── student │ │ ├── AddStudentAction.java │ │ ├── StuInfoAction.java │ │ ├── StudentAction.java │ │ └── StudentManageAction.java │ ├── teacher │ │ ├── AddTeacherAction.java │ │ ├── TeacherAction.java │ │ ├── TeacherInfoAction.java │ │ └── TeacherManageAction.java │ └── topic │ │ ├── AddTopicAction.java │ │ ├── ChoiceStuTopicAction.java │ │ ├── SearchTopicAction.java │ │ ├── SelectStudentAction.java │ │ ├── StuAddTopicAction.java │ │ ├── TopicAction.java │ │ ├── TopicInfoAction.java │ │ └── TopicManageAction.java │ ├── dao │ ├── AdminDAO.java │ ├── ChoiceMapDAO.java │ ├── ClassDAO.java │ ├── ConfigDAO.java │ ├── FieldDAO.java │ ├── MajorDAO.java │ ├── MessageDAO.java │ ├── NoticeDAO.java │ ├── PositionDAO.java │ ├── StudentDAO.java │ ├── TeacherDAO.java │ ├── TopicDAO.java │ └── impl │ │ ├── AdminDAOImpl.java │ │ ├── ChoiceMapDAOImpl.java │ │ ├── ClassDAOImpl.java │ │ ├── ConfigDAOImpl.java │ │ ├── FieldDAOImpl.java │ │ ├── MajorDAOImpl.java │ │ ├── MessageDAOImpl.java │ │ ├── NoticeDAOImpl.java │ │ ├── PositionDAOImpl.java │ │ ├── StudentDAOImpl.java │ │ ├── TeacherDAOImpl.java │ │ └── TopicDAOImpl.java │ ├── entity │ ├── Admin.hbm.xml │ ├── Admin.java │ ├── ChoiceMap.hbm.xml │ ├── ChoiceMap.java │ ├── Class.hbm.xml │ ├── Class.java │ ├── Config.hbm.xml │ ├── Config.java │ ├── Field.hbm.xml │ ├── Field.java │ ├── Major.hbm.xml │ ├── Major.java │ ├── Message.hbm.xml │ ├── Message.java │ ├── Notice.hbm.xml │ ├── Notice.java │ ├── Page.java │ ├── Position.hbm.xml │ ├── Position.java │ ├── Student.hbm.xml │ ├── Student.java │ ├── Teacher.hbm.xml │ ├── Teacher.java │ ├── Topic.hbm.xml │ └── Topic.java │ ├── filter │ ├── CharsetEncodingFilter.java │ └── UEditorFilter.java │ ├── interceptor │ ├── AuthorityAdminInterceptor.java │ ├── AuthorityStudentInterceptor.java │ ├── AuthorityTeacherInterceptor.java │ └── PrivateInterceptor.java │ ├── service │ ├── AdminService.java │ ├── ChoiceMapService.java │ ├── ClassService.java │ ├── ConfigService.java │ ├── FieldService.java │ ├── MajorService.java │ ├── MessageService.java │ ├── NoticeService.java │ ├── PositionService.java │ ├── StudentService.java │ ├── TeacherService.java │ ├── TopicService.java │ └── impl │ │ ├── AdminServiceImpl.java │ │ ├── ChoiceMapServiceImpl.java │ │ ├── ClassServiceImpl.java │ │ ├── ConfigServiceImpl.java │ │ ├── FieldServiceImpl.java │ │ ├── MajorServiceImpl.java │ │ ├── MessageServiceImpl.java │ │ ├── NoticeServiceImpl.java │ │ ├── PositionServiceImpl.java │ │ ├── StudentServiceImpl.java │ │ ├── TeacherServiceImpl.java │ │ └── TopicServiceImpl.java │ └── util │ ├── MD5Util.java │ ├── PageUtil.java │ └── TimeUtil.java └── struts.xml /.gitignore: -------------------------------------------------------------------------------- 1 | /build/ 2 | /.settings 3 | /.classpath 4 | /.buildpath 5 | /.pydevproject 6 | /.project 7 | /bin/ 8 | -------------------------------------------------------------------------------- /README.MD: -------------------------------------------------------------------------------- 1 | # 毕业设计论文选题系统 2 | 3 | ------------------------------------------- 4 | 5 | ## 项目功能 6 | 7 | 学生 8 | 9 | + ①登录 10 | + ②查询和浏览历年的毕业设计题目 11 | + ③查询自己的个人信息及选择信息 12 | + ④选择毕业设计题目 13 | + ⑤在留言板与对应的辅导老师进行交流 14 | 15 | 教师 16 | 17 | + ①登录 18 | + ②上传拟定的毕业设计题目 19 | + ③查询和浏览历年的毕业设计题目 20 | + ④查询自己的个人信息及审核通过的题目 21 | + ⑤查询选择自己题目的学生的信息 22 | + ⑥如自己的毕业设计题目被多个学生选择,应确定最终做该题目的学生. 23 | + ⑦在留言板中解答学生的疑问,对留言板进行管理. 24 | 25 | 管理员 26 | 27 | + ①登录 28 | + ②增、删、查、改具有毕业生权限的账户 29 | + ③增、删、查、改具有辅导老师权限的账户 30 | + ④审核辅导老师上传的毕业设计题目信息 31 | + ⑤增、删、查、改供学生选择的毕业设计题目信息 32 | + ⑥管理发布在该系统中的历年毕业设计题目 33 | + ⑦在该系统中发布开始选择毕业设计题目的时间以及设置选择毕业设计题目的时间 34 | + ⑧查询毕业设计题目毕业生的选择情况 35 | + ⑨对现有的留言板进行增、删、查、改操作 36 | 37 | ## 用例模型 38 | 学生 39 | 40 |  41 | 42 | 教师 43 | 44 |  45 | 46 | 管理员 47 | 48 |  49 | 50 | ## 成功展示 51 | 52 | 登录界面: 53 | 54 |  55 | 56 | 主界面: 57 | 58 |  59 | 60 | 领域管理: 61 | 62 |  63 | 64 | 查看留言: 65 | 66 |  67 | 68 | 查看选题: 69 | 70 |  71 | 72 | 73 | ## 活动图 74 | 75 | 教师出题 76 | 77 |  78 | 79 | 学生选题 80 | 81 |  82 | 83 | 人员管理 84 | 85 |  86 | 87 | 题目管理 88 | 89 |  90 | 91 | 92 | 93 | -------------------------------------------------------------------------------- /WebContent/404.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> 2 | <%@ taglib uri="/struts-tags" prefix="s"%> 3 | <% 4 | String path = request.getContextPath(); 5 | %> 6 | 7 | 8 |
9 | 10 |