毕业论文——基于JavaWeb的大学生家教平台_第1页
毕业论文——基于JavaWeb的大学生家教平台_第2页
毕业论文——基于JavaWeb的大学生家教平台_第3页
毕业论文——基于JavaWeb的大学生家教平台_第4页
毕业论文——基于JavaWeb的大学生家教平台_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘 要大学生做家教是一个学生自己获取生活补助,同时又是锻炼自己生活,社交技能的一种方式。但是一般在学校里面发传单招家教的公司其中欺骗现象很多,没有办法很好的获取学生的信任。本系统的目的就是消除大学生与学生家长之间的距离可以零零接触。家长可以选择老师,同时老师又可以选择家长。通过功能模块的优化组合实现不同的管理细节,使管理过程实现最大程度的自动化与信息化。本系统主要功能分为另个角色家长和教师。具体功能包括,用户的注册修改信息。教师注册修改信息,教师管理自己的信息:授课时间,授课科目,授课年级。同时可以查看自己的订单并做确认订单,评价和评分等操作,查看和回复通知。家长注册修改信息,管理子女信息,提交订单,评价和评分等操作,查看和回复通知。最后是一个简单的论坛系统,具体功能:发帖查看帖子以及跟帖,让使用该平台的用户可以尽情讨论各种信息。本文从大学生家教平台开发前景、需求分析、概要设计、详细设计、数据库设计和系统实现等方面详细阐述了基于JavaWeb的大学生家教平台的整个开发过程,也实现了预期的各项功能。 关键词: JavaWeb; 大学生家教; 校园AbstractCollege students to do tutor is a student to get their own living allowance, but also exercise their own life, social skills, a way. But generally in the school which sent a single recruit tutor of the company which cheating a lot of things, there is no way to get a good student trust. The purpose of this system is to eliminate the distance between college students and parents of students can be zero contact. Parents can choose the teacher, while the teacher can choose parents. Through the optimization of functional modules to achieve different management details, so that the management process to achieve the greatest degree of automation and information technology.The main function of this system is divided into another role parents and teachers. Specific features include the users registration modification information. Teacher registration to modify the information, teachers manage their own information: teaching time, teaching subjects, teaching grade. At the same time you can view your own orders and confirm the order, evaluation and rating operations, view and reply to the notice. Parents register to modify information, manage child information, submit orders, evaluate and rate operations, view and reply notifications. Finally, a simple forum system, the specific function: post to see posts and thread, so that the use of the platform users can enjoy a variety of information.This paper elaborates the whole development process of the university student tutor platform based on JavaWeb from the aspects of development foreground, demand analysis, outline design, detailed design, database design and system realization of college students, and also realized the expected functions.Keywords: JavaWeb; college student tutor; campus绪论当今大学生是一个庞大规模的群体,同时家教市场也是一个巨大的需求市场。作为家长有两个选择一是送孩子去辅导班上辅导课,二是请家教而家教又包括在职教师,专业辅导教师,和在校大学生。辅导班面临学生众多,老师无法为学校量身定做教学计划因此很多时间被浪费,请在职教师,专业辅导教师虽然可以收到良好的教学效果但是会面临着费用高昂的尴尬,不是所有家庭都能承受的。因而请大学生做家教未尝不是一个合适的选择,没有高昂的收费,又能给孩子一个较好的教育。群体基数巨大:多数家庭在子女教育方面呈现出强烈的意识与观念。而且,由于人口基数大,而家庭教育当前实际上又是每个家庭不可或缺的,因而目标性需求群体和潜在性开发群体(家庭)数量巨大,显然这是一个巨大的家庭教育消费群体。期望决定需求:目前,家长在教育方面给予孩子的期望值越来越高,在投资方面,“为了孩子,我做什么都可以,受多少苦都值得”、“孩子的前途就是我们家的前途”这种汲汲的渴求心态,更使得教育行业有别于其它行业。尤其近年来随着人们生活水平、社会教育水平的提高、家长教育的攀比心理也在提高。由于教育不同于现实的产品,教育水平的鉴别多数基于人们的感性认知,人们在投资教育过程中不少持有谨慎心理。尤其近年来,部分黑中介对市场的影响,一定程度上对家长的认识和需求起了负面的影响,信任度的建立成为教育行业一个重要的问题本软件的目的是使学生兼职家教服务管理清晰化,透明化,便于操作,易于管理。通过功能模块的优化组合实现不同的管理细节,使管理过程实现最大程度的自动化与信息化,并能自动对人工操作环节进行复查,使大学生家教网络平台的出错率降至最低。主要从功能需求,数据需求,模块设计方面,对大学生家教网络平台进行分析与设计,从而达到进一步实现的目的,实现家长和大学生之前的双向选择,同时是大学生家教这个行业更加规范化,防止家长学生双向受骗,同时提供优质的家教服务。1 课题背景和意义1.1 课题研究内容该课题研究内容是建设一个网络家教平台,主要目的:是为了提供一个教学平台,让在校大学生可以选择一份好的家教兼职,同时家长又能为自己的孩子物色一个良好的教师来指导子女的学习。因此该平台包括两个用户角色家长和教师,为了方便登录操作还有一个用户的角色,主要功能包括:用户登录注册修改信息,订单的生成流程控制,用户信息的管理操作,论坛模块的发帖跟帖等。在技术方面希望通过maven+mybatis+SpringMVC+JSP+mysql数据库构建一个javaWeb网站。其中mysql数据库提供数据支持,JSP页面和CSS和JavaScript提供页面展示和页面必要的跳转验证等,mybatis提供一个良好的持久层框架,SpringMVC提供一种基于Java的实现了Web MVC设计模式轻量级Web框架。1.2 大学生家教平台国内发展情况随着这几年互联网的快速发展,国内外出现很多家教网站如:三好家教,学大教育网,轻轻家教,常青藤家教,阳光家教网等,诸如此类家教网站数不胜数。其中晓得乐网上家教是国内最早(2002年9月开始)关注研发提供网上家教的网站,现在已经发展到线上网络教学线下开设辅导中心,原因是家长更多愿意通过熟人或亲戚介绍寻找老师,当无法寻找到合适的老师时才会试着联系网络平台的老师。现在家教网站的模式多是以线上线下结合的方式,但主要以线下方式为主,网站只是一个辅助运营宣传的工具。选择这种方式会有以下缺点:固定成本高。办公室硬件成本、人力资源成本、宣传成本都是成本消耗的地方。作为广大高校在校学生由于工作时间有限且不固定,因此线下的方式不是很好。如果采用线上模式情况将恰恰相反,家长不必为了寻找教师花费更多时间,在校学生也不必为了寻找家教工作浪费时间和精力。1.3 家教行业国内外发展状况中国国内人口众多,家庭户数量众多大约有5亿户。同时由于计划生育的原因现在家庭子女多为一个,因此父母望子成龙,望女成凤的期望也就越来越大。再加之现在的教育改革虽然说是为孩子减轻负担,但是考试制度的存在导致了学生的负担明减暗增,学生凭自己的能力往往无法完成自己的学习任务,这些原因造成家教市场异常活跃。家长往往为了自己孩子的学习更愿意请一对一家教,但在职老师往往无法满足市场需求。在这种情况下高校在校学生,就成了一个比较不错的选择。高校学生接受过高等教育,受到家长的普遍认可。与此同时高校在校学生很多希望通过兼职减轻家庭负担或者改善在校生活,家教工作报酬相对于其他兼职报酬可观,工作做起来又比较轻松所以在高校学生中很受欢迎。2 相关技术2.1 开发工具1)开发环境:Windows 10、JDK1.8.0_101、apache-tomcat-8.0.332)开发软件:intellij idea 2017.1、MySql5.5、HBuilder、NavicatforMySQL3)主要jar包版本: Spring 4.2.5、mybatis 3.2.5、Maven SpringMVC简介1)Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的通过注解的方式。2)SpringMVC运行原理图如下:(1) 客户端发出Request请求,由DispatcherServlet接收所有请求,然后转发给相应的组件进行处理。(2) HandlerMapping是将请求地址映射到相应的Controller中进行处理的组件。(3) Controller处理由DispatcherServlet转发来的请求,然后将数据传输给ModelAndView封装视图。(4)(5)(6)ModelAndView将封装好的View传送到客户端。2.2 Mybatis简介MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为中心的。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先定制的 Configuration 的实例构建出 SqlSessionFactory 的实例。2.3 JSP页面简介JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。它实现了HTML页面和Java语言的结合,将HTML易于编写、美观。纯文字内容,要进行编修及阅读并不困难,任何可以运行浏览器的计算机都可以阅读并显示HTML,透过制定的标签,提供了多媒体表现的环境与Java的Java是面向网络的语言。通过它提供的类库可以处理TCP/IP协议,用户可以通过URL地址在网络上很方便地访问其他对象相结合。JSP内置对象包括:request,response,session,application,out,page,config,exception,pageContext。JSP在利用JAVA使之在Windows和Linux平台都有很好的支持。同时JSP可以使用很多标签库来方便页面的编写,其中标签库如下:核心标签,格式化标签,SQL 标签,XML 标签,JSTL 函数2.4 Apache MavenApache Maven,是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。Maven也可被用于构建和管理各种项目,例如C#,Ruby,Scala和其他语言编写的项目。Maven曾是Jakarta项目的子项目,现为由Apache软件基金会主持的独立Apache项目。在本项目中主要负责管理jar包。2.5 kindeditor-4.1.7这是一个优秀的富文本编辑器,使用该编辑器可以将输入框中的文字(各种字体大小等等)以及表情图片等。直接保存为HTML格式的文本,这样如果下次再显示的时候就可以保存原样输出,格式大小不会发生改变适合本系统留言和论坛功能的实现。2.6 BootStrapBootstrap 是最受欢迎的 HTML、CSS 和 JS 框架,用于开发响应式布局、移动设备优先的 WEB 项目。Bootstrap 是完全开源的。它的代码托管、开发、维护都依赖 GitHub 平台。Bootstrap可以为开发者提供一个良好的页面编写插件,在该平台也可以填写相关选项生成对应的CSS,Less文件,方便开发者快速开发项目。3 系统设计3.1 系统功能模块设计3.1.1 教师功能设计教师是本系统的主要使用者之一,其主要目的就是将自己推广出去寻找家教工作因此设计教师功能如下:1)教师注册:教师填写关键信息,如所在高校,学院,班级,姓名,照片等完成注册。2)教师用户信息修改:教师根据自身实际情况修改相对应的信息。3)教师教学管理:教师对于自己授课时间,授课年级,授课科目进行管理。如:增加,删除。4)教师订单管理:a) 确认接受订单:教师浏览查看自己所有订单,如果觉得订单价格合理,教学时间b) 教学评价:教师在完成上门教学任务之后需要及时为家长和学生做出评价和评分。3.1.2 家长功能设计家长是本系统的主要使用者之一,他们的目的就是为孩子找到一个合适的老师因此设计功能如下:1)家长注册:家长填写关键信息,如家庭地址,姓名身份证号,等完成注册。2)家长用户信息修改:家长根据自身实际情况修改相应的信息。3)家长子女管理:家长可以添加或者删除子女信息,这样就可以为每一位子女量身选择一个优秀的老师。4)家长订单管理:a) 1订单提交:家长浏览教师列表,点击查看教师详情。如果觉得该老师适合自己的子女可以填写订单相关信息提交订单。b) 2授课确认:及时监督教师是否及时授课并在网站上做出确认操作。c) 3教学评价:在教师完成上门授课后对该老师的授课情况,授课态度等做出评价和评分。5)教师按条件搜索:家长根据子女实际情况,可以选择教师所教授年级,科目,性别信息,对此进行按条件搜索。3.1.3论坛功能论坛模块的功能主要是为了家长和家长之间,家长和教师之间,教师和教师之间合理的沟通。和百度贴吧类似,所有人都可以在里面自由发言。将以往只能通过亲戚朋友介绍教师的方式线上化。其中主要包括以下功能:1)发帖浏览帖子目录:在这里可以看见被人发的帖子的题目和时间,可以根据自己感兴趣的内容选择浏览。同时在这里也可以填写标题和内容发帖。2)跟帖浏览帖子详细:在这里可以看到所有人对于该话题的评论,同时也可以填写内容更贴,发表自己的看法。3.1.4留言功能留言功能主要是为家长设计的,主要目的是为了方便家长联系教师和教师沟通。其主要功能如下:1)家长留言和回复:家长可以选择自己感兴趣或者有疑问的老师给他留言,同时如果教师看见家长的留言并且回复的情况下,可以及时回复教师的回答。2)教师回复:教师看见家长给自己的留言可以回复家长的疑问。3.2 系统界面设计系统界面主要由主要的两个使用用户决定的,包括家长,教师。留言板块和论坛板块是家长和老师一同使用的所以界面相同没有重复设计。为了方便管理家长和教师两个角色,设置了用户角色。其主要界面如下所示:3.2.1 用户界面家长和教师同为用户,所以用户的几个主要属性包括用户名,密码,邮箱。功能主要在论坛,留言,和登录等时使用,其主要界面如下所示:1)用户登录界面:页面中部是一个表单其中有用户名输入框,密码框,验证码输入框和一个提交按钮,点击提价按钮完成提交。2)用户注册界面:页面中部是一个表单其中有用户名输入框,密码框,再次输入密码框,邮箱输入框,和一个提交按钮。3)找回用户名密码界面:页面中部表单中有邮箱输入框和提交按钮。3.2.2 教师界面教师的功能主要是管理教师信息,和家长完成订单操作,其主要页面如下所示:1)教师注册页面:页面中部是一个表单,其中有一系列输入框如姓名,所在学校院系班级,性别,出生日期,个人推荐等,其中有一个图片上传框,教师可以选择自己的头像上传预览。2)教师教学安排界面:有三张列表分别显示教师授课时间,教师授课年级,教师授课科目。在三张表各自的左上方都存在一个添加按钮,点击会生成一个模态框,在模态框中是一个表单,填写必要的信息就完成了自己信息的添加。3)教师信息修改界面:该页面和教师注册页面相差不大。4)教师订单管理界面:页面中间是一个表格,教师,家长,子女,年级,科目,订单进程,操作作为表头。其中操作选项是根据数据库所保存的订单进程进行显示的。包括有,订单确认,评价授课组成。评价授课为模态框按钮,点击弹出评价框和评分框。3.2.3 家长界面家长的功能主要功能在本系统上寻找合适的教师,以及管理自己的订单,其主要页面如下所示:1)家长注册页面:页面中部是一个表单,其中有一系列输入框如姓名,家庭地址,性别,出生日期,身份证号码等,以及一个提交按钮。2)家长子女管理界面:页面由一个表格组成,表格头部存在一个添加按钮,点击生成一个模态框,可以添加子女信息,点击提交保存子女信息。3)家长信息修改页面:该页面和家长注册页面相差不大。4)家长订单生成页面:该页面有家教的一些详细信息,包括家教的个人信息,家教的授课信息(授课科目,授课年级,授课时间)。家长如果觉得中意就点击最下面的订单生成按钮,会弹出模态框选择订单的一些信息生成订单。5)教师显示页面:该页面将所有教师信息分页显示出来。列表上部是条件搜索框。列表是一些列教师用户头像页面,鼠标移动上去可以显示教师姓名,和一个跳转链接(查看家教详细信息)点击可以查看家教的详细信息,还有一个模态框生成按钮(留言)点击给以给自己相中的家教留言。 3.2.4 论坛界面论坛主要功能是让各用户发表自己的言论,有主题帖和跟帖之分。其主要页面如下所示:1)论坛主贴界面:中间由一个列表构成,列表显示发帖人,发帖时间,发帖的主题。下部是一个发帖区间包括一个主题输入框,和一个textare标签,以及一个发帖按钮,textare标签使用富文本编辑器实现,这样可以有更丰富的文本编辑内容(加粗,表情包都可以发送)。2)论坛详细界面:上部显示发帖人,发帖时间,发帖主题,发帖内容,紧接着是跟帖列表。列表显示跟帖人,更贴时间,和更贴内容。3.2.5 留言界面留言只有一个界面,中间由一个列表构成,列表由留言人,留言时间,和留言内容,以及回复按钮组成。点击回复按钮会生成一个模态框,输入回复内容点击回复即可。3.3 系统数据库设计为满足系统功能实现,设计了十一张表其表结构如下所示:n 用户表是为了方便用户登录和注册的统一,在登录时通过对角色属性的判断选择跳转页面。其中User_ID为主键且自动递增序号,用户邮箱为找回密码提供支持。如表3.1所示:表3.1用户表(T_Users)字段名称数据类型字段长度User_name用户名Varchar20User_ID用户编号(主键递增)Int11User_Email用户邮箱varchar20User_password用户密码varchar20User_Role用户角色varchar20n 家教表用来保存家教信息的,其中Tutor_ID为主键且自动递增序号,外键为User_ID将教师与用户关联起来。Tutor_photo(longblob)保存教师头像,在没有文件服务器的情况下将图片以二进制的方式保存比保存在服务器目录下可移植性会好一点。如表3.2所示:表3.2家教表(T_Tutor)字段名称数据类型字段长度Tutor_name姓名varchar20Tutor_cno学号varchar20Tutor_idcard身份证号varchar20Tutor_University所在学校varchar20Tutor_college学院varchar20Tutor_major专业varchar20Tutor_calss班级varchar20Tutor_photo照片longblobTutor_sex性别varchar4Tutor_birthday出生日期dateTutor_information个人推荐textTutor_prize个人获奖textUser_ID用户编号(递增)intTutor_ID教师IDintTutor_check是否校验成功intTutor_tel电话号码varchar20n 任教科目表用来保存每一位教师的教学科目信息,主键为Project_ID且自动递增序号,外键为Tutor_ID将每一位教师与科目对应起来。如表3.3所示:表3.3任教科目表(T_project)字段名称数据类型字段长度Project_name打算任教科目Varchar20Tutor_ID教师IDIntProject_ID科目ID(递增)Intn 任教时间表用来保存教师具体上课时间,也就是大学生自己的课余时间,主键为Lession_ID且自动递增序号,外键为Tutor_ID将教师与教师授课时间关联起来。如表3.4所示:表3.4任教时间表(T_lessionstime)字段名称数据类型字段长度Lession_start_time课程开始时间Varchar20Lession_end_time课程结束时间Varchar20Lession_week课程上课星期Varchar20Tutor_ID教师IDIntLession_ID课程IDIntn 任课年级表保存教师的任课年级,主键为Tutor_grade_ID且自动递增序号,外键为Turor_ID将教师与任课年级关联起来。如表3.5所示:表3.5任教年级表(T_Tutor_grade)字段名称数据类型字段长度Tutor_grade打算任教年级Varchar20Turor_ID教师IDIntTutor_grade_ID任教年级IDIntn 家长表保存家长信息,主键为Parent_ID且自动递增序号,外键为User_ID将家长与用户关联起来。如表3.6所示:表3.6家长表(T_Parents)字段名称数据类型字段长度Parent_name姓名Varchar20Parent_sex性别IntParent_birthday出生日期dateParent_site家庭地址varchar20Parent_IDcard身份证号varchar20Parent_TEL电话号码varchar20Parent_ID家长编号IntParent_photo家长相片longblobUser_ID用户编号(递增)Intn 子女表保存子女信息,主键为Student_ID且自动递增序号,外键为Parent_ID将子女与家长联系起来。如表3.7所示:表3.7子女表(T_Students)字段名称数据类型字段长度Student_name姓名Varchar20Student_sex性别IntStudent_birthday出生日期DateParent_ID家长编号(自增)IntStudent_grade年级Varchar20Student_school学校Varchar20Student_ID学生编号Intn 订单表保存订单信息,主键为Qrder_ID且自动递增序号,外键为Tutor_ID,Parent_ID,Student_ID,将订单与订单的发起人家长,订单实施者教师和子女信息关联起来。字段订单状态(Order_state)需要说明一下:其值可以取1-5,分别代表的意义如下:1,家长提交订单。2家教确认订单。3家长确认家教准时授课。4家教或者家长已经评价评分。5订单完成。如表3.8所示:表3.8订单表(T_order)字段名称数据类型字段长度Tutor_ID家教编号IntParent_ID家长编号IntOrder_time订单时间生成时间DatetimeOrder_TtoP教师对家长评价TextOrder_PtoT家长对教师评价TextOrder_Pscore家长得分IntOrder_Tscore教师得分IntStudent_ID学生编号IntOrder_delete_reason订单取消原因TextOrder_Grade订单年级Varchar20Order_project订单科目Varchar20Order_delete_time订单取消时间DatetimeOrder_process订单进程IntOrder_price每小时价格DoubleOrder_res1保留字段1Varchar20Order_res1保留字段2Varchar20Qrder_ID订单IDIntOrder_state订单状态Intn 发帖表保存发帖信息,主键(Fornm_ID)且自动递增序号 ,外键是(Users_ID)将帖子与发帖用户关联起来。如表3.9所示:表3.9发帖表(T_forum_title)字段名称数据类型字段长度Forum_ID帖子ID(自增)int11Forum_title帖子标题varchar100Forum_content帖子内容textForum_content_time发帖时间datetimeUsers_ID发帖用户int11n 跟帖表保存跟帖内容,主键为Forum_content_ID且自动递增序号,外键为User_ID和Forum_ID将跟帖发帖人,主题帖关联起来。如表3.9所示:表3.9跟帖表(T_forum_title)字段名称数据类型字段长度Forum_rTime跟帖时间datetimeForum_ID所跟帖IDint11User_ID发帖用户IDint11Forum_content跟帖内容textForum_content_ID跟帖IDint11n 留言表保存留言相关内容,主键为Message_ID且自动递增序号,外键为Message_toUsers和Message_fromUsers。将留言与留言发起人和留言接收人关联起来。如表3.9所示:表3.9留言表(T_message)字段名称数据类型字段长度Message_ID留言IDint11Message_content留言内容textMessage_toUsers留言接收人int11Message_fromUsers留言发起人int11Message_time留言时间datetime4 系统功能实现本系统有两种角色分别为教师角色,和家长角色,使用不同角色登录会跳转到不同的页面上,所以流程有所不同具体如图4.1和图4.2所示:4.1 系统流程图4.1.1 教师流程图图4.1 教师流程图4.1.2 家长流程图图4.2 家长流程图4.2 用户注册,登录,找回密码功能实现1)功能描述n 用户登录用户登录事实上就是,从页面获取用户名,密码与数据库中的数据进行比较若存在记录则登录成功反之则失败。n 用户注册用户页面填写用户名,密码,邮箱。后台获取这些数据通过UsersService接口的insert方法,将数据插入数据库完成注册。n 找回密码找回密码是通过向用户的邮箱发送一条邮件完成的,其中发送邮件是利用JavaMailSenderImpl接口的几个主要方法完成的。在发送邮件之前也必须要验证邮箱是否为已注册用户邮箱,密码为随机生成的六位数字。2)主要代码实现n 用户登录HttpSession session = req.getSession();Users users1 = usersService.Login(users);if (users1 != null) /用户登录成功 session.setAttribute(user_name, users1.getUserName(); session.setAttribute(user_ID, users1.getUserId(); session.setAttribute(Users,users1); return redirect:ShowTutorList.do; else /用户登录错误 session.setAttribute(errorinfo,用户名或密码错误); return Login;n 用户注册usersService.insert(users); n 找回密码String password = String.valueOf(int)(Math.random()*9+1)*100000); /生成六位随机密码 usersService.updateByPrimaryKeySelective(users); /更新随机密码/发送邮件MimeMessageHelper helper = new MimeMessageHelper(mailMessage, true, utf-8);helper.setFrom(from);/ 设置发件人helper.setTo(to);/ 设置收件人helper.setSubject(密码重置);/ 设置主题helper.setText(重置的密码为:+information.get(Email_password);/ 邮件体mailSender.send(mailMessage);/ 发送邮件3)效果截图登录界面如图4.3所示图4.3 用户登录找回密码邮箱接收界面如图4.4所示图4.4 邮箱界面4.3 教师列表展现和搜索功能实现1) 功能描述教师列表搜索和展现后台所对应的以相同的代码,展现所有教师列表就是没有条件的搜索,搜索符合搜索条件的教师就是在执行select语句是根据前台的数据有无动态的拼接SQL语句。其中几个主要技术要点为:n 分页的由com.github.pagehelper.PageHelper这个Jar包实现。配置mysql配置文件将Controller中的参数和SQL语句进行连接。n 按条件搜索由Mybatis配置SQL语句的.XML文件中的IF语句完成sql拼接完成。n 页面显示由JSTL中的foreach标签实现,后台将LIST放入model对象中,前台通过foreach标签获取LIST中对应的对象并显示出来。2) 主要代码实现PageHelper.startPage(pagenumber!=null)?Integer.valueOf(pagenumber):1,3); /设置起始页面和页面条数Map map=new HashMap();/设置搜索条件if (Student_Grade!=null&Student_Grade.equals()Student_Grade=null;if (Student_Project!=null&Student_Project.equals()Student_Project=null;if (Student_Sex!=null&Student_Sex.equals()Student_Sex=null;map.put(Student_Grade,Student_Grade);map.put(Student_Project,Student_Project);map.put(Student_Sex,Student_Sex);HttpSession session=httpServletRequest.getSession();Users user=(Users) session.getAttribute(Users);/搜索符合条件的教师List Tutor_List=tutor_mainlyService.selectBySelectList(HashMap) map);/获取PageInfo对象PageInfo page = new PageInfo(Tutor_List);/foreach标签获取List对象并显示3) 效果截图界面如图4.5所示:图4.54.4 论坛功能实现1)功能描述论坛功能包括用户浏览论坛帖子目录和查看论坛帖子详细内容。所以需要实现的功能看可以细化为:n 用户进入论坛首先看到的是论坛帖子列表。n 用户可以在帖子列表页,填写发帖标题和发帖内容完成发帖动作。n 用户进入帖子详细页可以看到所有人对于该贴的所有跟帖,同时自己也可以在下面填写内容发表自己的跟帖。其中主要几个技术点为:n 列表内容的获取,展示和分页通过JSTL标签,com.github.pagehelper.PageHelper实现,和教师列表的处理相似。n 富文本编辑的使用可以文本编辑更加多样化。用户可以根据自己所表达的意思有针对性的修改文本。2)代码实现n 发帖Users users = (Users) session.getAttribute(Users); /获取发帖人对象DateFormat dateFormat = new SimpleDateFormat(yyyy-MM-dd HH:mm:ss); fornm.setFornmContentTime(dateFormat.parse(dateFormat.format(Calendar.getInstance().getTime(); /获取当前时间fornm.setFornmContent(content);fornm.setUsersId(users.getUserId();fornmService.insertSelective(fornm); /插入帖子n 论坛详细获取PageHelper.startPage(pagenumber!=null)?Integer.valueOf(pagenumber):1,3); /设置起始页面和页/根据帖子ID获取帖子详细以及所有更贴内容List forum_contentList = forum_conService.selectByForum_ID(fornm_id);Title_forum fornm = fornmService.selectByPrimaryKey(fornm_id);PageInfo page2 = new PageInfo(forum_contentList);/获取PageInfo对象fornm.setUsers(usersService.selectByPrimaryKey(fornm.getUsersId();List listarray =new ArrayList();for (content_forum content_forum1:forum_contentList) content_forum1.setUsers(usersService.selectByPrimaryKey(content_forum1.getUserId();/将更帖人详细信息写入类 listarray.add(content_forum1);n 跟帖DateFormat dateFormat = new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);forum_content.setForumRtime(dateFormat.parse(dateFormat.format(Calendar.getInstance().getTime(); /获取当前时间HttpSession session = request.getSession();Users users = (Users) session.getAttribute(Users); /获取更贴人详细信息forum_content.setUserId(users.getUserId();forum_content.setForumContent(content);forum_conService.insertSelective(forum_content); /插入跟帖3)效果截图论坛主界面如下图4.6所示:图4.6论坛详细界面如图4.7所示:图4.74.5 订单功能实现1) 功能描述订单功能由教师和家长配合完成,可以分为以下步骤:1. 家长查看教师信息如果中意该教师,即可点击生成订单按钮,在弹出的模态框中填写订单信息提交订单。2. 家长提交订单之后,教师即可在订单列表中查看订单信息并选择是否接受订单。3. 家长在教师确认订单之后,及时监督教师是否准时上门授课,并在系统中确认是否授课。4. 家长确认授课之后需要对教师的授课情况进行评价和评分。5. 同时教师在家长确认授课后也需要对家长和学生的具体情况作出评价和评分。 其中主要几个技术点为:n 随着订单流程的运行,数据库中每次订单流程前进一步流程字段加一。页面需要根据数据库中流程字段显示对应的操作和内容。这方面由JSTL标签的if标签多次判断完成。n 富文本编辑器的使用和4.4中论坛的方法相同。n Select中需要对数据库中外键所对应的bean具体实例化。2) 主要代码实现n 订单提交:/设置订单具体内容OrderWithBLOBs orderWithBLOBs = new OrderWithBLOBs();orderWithBLOBs.setOrderState(1);orderWithBLOBs.setOrderProcess(1)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论