基于JSP实现的校园师生交流系统

基于JSP实现的校园师生交流系统 第1章 课设任务 1,1 课程题目 师生交流系统的设计与开发 1,2 课设目的 复习,巩固JavaWeb的基础知识

本文包含相关资料包-----> 点击直达获取<-------

基于JSP实现的校园师生交流系统

第1章 课设任务

1.1 课程题目

师生交流系统的设计与开发

1.2 课设目的

复习、巩固JavaWeb的基础知识,进一步加深对JavaWeb技术的理解和掌握;课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。 培养学生在项目开发中团队合作精神、创新意识及能力

1.3 开发环境

  • 操作系统:Windows

  • 开发工具:MyEclipse

  • Java中间件服务器:Tomcat

  • 数据库: MySQL

MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse可以支持Java Servlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。

第2章 课设内容

师生交流系统是一个教学系统,主要是帮助学生和教师更好进行交流,更好地将若干课程更加紧密地结合起来,更好地达到学以致用;达到教、学结合的目的;让学生能够更加完整而系统地掌握相关知识和技能。

根据师生交流系统的基本需求,本系统需要完成以下任务:

  • 学生用户功能:学生登录之后可以对教学资料查询(可分页),教学视频播放和下载、试题下载

  • 教师用户功能:教师登录本系统可以上传教学资料、视频以及试题,另外可以对这些资料进行增删改查

  • 师生交流功能:学生可以向教师提问,教师可以对学生的提问进行答复

  • 管理用户功能:管理员登录系统之后可以分配学生和教师,对学生和教师进行管理

第3章 需求分析

从代码实现角度分析,该系统共包括以下几个部分:用户登录、信息的列表、信息的查询、信息的添加、信息的修改、信息的删除和退出登录。

3.1系统用户角色分析

用户分为学生用户、教师用户和管理员用户。

学生登录之后可以对教学资料、教学视频、试题进行查询和下载,还可以对教学视频进行播放;教师用户登录后可以上传教学资料、教学视频和试题,还可以对这些资料进行增删改查;管理员用户登录后可以分配学生和教师,对学生和教师信息进行增删改查。在论坛功能中,所有用户都可以发表帖子和回复,只有管理员可以对帖子信息进行删改。

3.2 功能需求分析

3.2.1 用户登录

功能描述 :根据用户输入的用户名和密码,并选择用户角色(学生、教师或管理员)进行登录验证,输入正确则提示“成功”并进入系统主界面。输入错误则提示“失败”,并返回登录界面。

功能约束 :用户登录必须输入用户名、密码,并选择用户角色。登录成功后会根据用户权限的不同,显示具有不同功能的系统主界面。

3.2.2 信息列表

功能描述 :在资料列表、视频列表、试题列表、学生管理、教师管理、论坛列表中,需要列出数据库中的数据。

功能约束 :需要按实际情况准确显示数据库表中的数据。

3.2.3 信息查询

功能描述 :在列表的上方,通常要有输入框用于查询某一条或某几条特定信息,比如根据标题查找资料,根据用户名查找学生等。

功能约束 :查询时不需要输入全部信息,只需输入部分信息。

3.2.4 信息添加

功能描述 :资料上传、视频上传、试题上传、用户添加、发表帖子、帖子回复等功能需要用到信息添加模块,添加时需按要求填写或选择信息,添加成功后会跳转到相应的列表界面。

功能约束 :添加信息时会自动获取当前时间并录入到数据表中,需要用到文件的上传。

3.2.5 信息修改

功能描述 :管理员可以学生和教师进行编辑,还可以对帖子进行编辑,编辑成功会更新数据表中相应的信息,跳转到对应的列表。

功能约束 :修改时也会自动修改数据表中的时间为当前时间。

3.2.6 信息删除

功能描述 :管理员和教师可以对资料、视频、试题进行删除,管理员可以对学生、教师的用户信息和帖子进行删除,删除成功会删除数据表中相应的信息并跳转到对应的列表。

功能约束 :删除数据会根据数据表的“id”进行删除。

3.2.7 退出登录

功能描述 :当用户点击“退出”按钮时,会清空登录时保存的信息,并跳转到用户登录界面。

3.3 相关技术简介

3.3.1 前端技术

在前端的开发设计上,使用了bootstrap和jquary进行辅助开发,提高了开发的效率。

Bootstrap,来自 Twitter,是目前很受欢迎的前端框架。Bootstrap是基于 HTML、CSS、JavaScript的,它简洁灵活,使得Web开发更加快捷。它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架。Bootstrap提供了优雅的HTML和CSS规范,它即是由动态CSS语言Less写成。Bootstrap一经推出后颇受欢迎,一直是GitHub上的热门开源项目,包括NASA的MSNBC(微软全国广播公司)的Breaking News都使用了该项目。国内一些移动开发者较为熟悉的框架,如WeX5前端开源框架等,也是基于Bootstrap源码进行性能优化而来。

jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。

3.3.2 后端技术

本系统采用了SpringMVC框架进行后台的开发,大大加快了开发速度,使后台代码更加简洁与清晰,利于后期拓展与维护。

Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。

Spring MVC框架提供了一个DispatcherServlet作用前端控制器来分派请求,同时提供灵活的配置处理程序映射、视图解析、语言环境和主题解析,并支持文件上传。Spring MVC还包含了多种视图技术,例如JSP、Velocity、Tiles、iText和POI等。Spring MVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

第4章 设计过程

4.1 总体设计

通过对用户需求和系统设计思想的分析,并根据界面展示需要,可以得出该系统可以分为六大模块:用户登录模块、教学资料模块、教学视频模块、试题资料模块、用户管理模块、论坛系统模块。

4.1.1 系统功能模块设计

经过分析,该系统要实现的是帮助学生和教师更好进行交流,达到辅助教学的目的。主要设计以下功能模块:

用户登录模块

用户在使用系统之前必须登录系统,登录时需要输入用户名、密码、验证码,选择用户角色进行登录。

教学资料模块

教学资料模块包括资料列表和资料上传两个部分,学生可以查看和下载资料,教师和管理员可以进行资料的增删改查。

教学视频模块

教学视频模块包括视频列表和视频上传两个部分,学生可以查看和下载视频,在线观看视频,教师和管理员可以进行视频的增删改查。

试题资料模块

试题资料模块包括试题列表和试题上传两个部分,学生可以查看和下载试题,教师和管理员可以进行试题的增删改查。

用户管理模块

管理员用户需要对学生用户和教师用户进行管理,包括学生列表、教师列表和用户添加三部分。用户添加功能需要首先选择角色,然后填写信息并提交。

论坛系统模块

论坛系统模块包括帖子列表和帖子发布两部分,所有用户都可以进行查看帖子列表和发表帖子,在帖子列表界面,点击帖子标题可以进入帖子详情,在帖子详情中用户可以查看回复内容及添加回复。

4.1.2 用户登录模块结构图

用户登录模块功能结构图,如图4.1所示:

4.1.3 管理员用户功能结构图

管理员用户功能结构图。如图4.2所示:

4.1.4 学生用户功能结构图

学生用户功能结构图,如图4.3所示:

4.1.5 教师用户功能结构图

教师用户功能结构图,如图4.4所示:

4.2 详细设计

4.2.1 系统主页面

系统主页面分为三部分,分别是头部,左侧菜单栏和右侧主内容区,在之前的设计中大多使用iframe标签进行布局,但我从网上了解到这个设计有很大的弊端,比如:

  • 页面样式调试麻烦,出现多个滚动条

  • 浏览器的后退按钮失效

  • 过多会增加服务器的HTTP请求

  • 小型的移动设备无法完全显示框架

  • 产生多个页面,不易管理

  • 不容易打印

  • 代码复杂,无法被一些搜索引擎解读

经过查阅资料,我了解到目前主流的应用都使用了ajax代替了iframe。把你本来想创建的iframe换成DIV。然后点击菜单的时候,调用ajax或者.load,调用后台,返回数据之后,直接填充到DIV里即可。

部分实现代码如下:

```html //左侧菜单代码

//AJAX部分代码 $("#nav .li").click(function(){ var current = $(this); target = current.find('a').attr('target'); //找到a的链接 $(".li").removeClass("active1"); current.addClass("active1"); $.get(target,function(data){ $("#navContent").html(data); }); }); ```

系统主界面如图4.5所示:

4.2.2 基本功能实现

用户登录模块

  • 功能描述:用户只有通过登录成功后才能进入系统,进行相应的操作。

  • 用户登录功能流程图,如图4.6所示

java //登录判断代码 @RequestMapping(value="/login") public void login(String role,String username,String password,String rem,HttpServletRequest request,HttpServletResponse response) throws IOException{ User auser=null; auser=new User(); auser.setPassword(password); auser.setUsername(username); auser.setRole(role); boolean flag=userService.login(auser); PrintWriter out = response.getWriter(); if(flag){//记住我 if("true".equals(rem)){ System.out.println(URLEncoder.encode(username,"utf-8")); System.out.println(URLEncoder.encode(role,"utf-8")); Cookie cook =new Cookie("username",URLEncoder.encode(username,"utf-8")); cook.setMaxAge(14*24*60*60); //两个星期 response.addCookie(cook); Cookie cook1 =new Cookie("role",URLEncoder.encode(role,"utf-8")); cook1.setMaxAge(14*24*60*60); //两个星期 response.addCookie(cook1); } HttpSession session=request.getSession(); session.setAttribute("username", username); session.setAttribute("role", role); out.print("1");//返回登录信息 }else{ out.print("0"); } out.flush(); out.close(); }

用户登录界面如图4.7所示:

教学资料模块

教学资料模块包括资料列表和资料上传两个部分。

  • 功能描述:教师和管理员进行教学资料的增删改查,学生可以对教学资料进行查看和下载。

java //资料列表功能代码 @RequestMapping(value="/list") public ModelAndView list(Integer currPage,String soukey){ ModelAndView mv=new ModelAndView(); String key="%%"; if(soukey!=null){ key="%"+soukey+"%"; } int pageSize=5; if(currPage==null||currPage==0){ currPage=1; } int index=(currPage-1)*pageSize; int totalCount=Integer.parseInt(dataService.findCount(key) .get(0).get("count(id)").toString()); Page page=new Page(); page.setPageSize(pageSize); page.setTotalCount(totalCount); page.setCurrPage(currPage); mv.addObject("page", page); List<Map<String,Object>> list=dataService.findAll(index,pageSize,key); mv.addObject("list", list); mv.addObject("key",soukey); mv.setViewName("list"); return mv; }

资料列表界面如图4.8所示:

资料上传界面如图4.9所示:

教学视频模块

教学视频模块分为视频列表和视频上传两部分。

  • 功能描述:教师和管理员可以进行教学视频的增删改查,学生用户可以在线播放视频和下载视频。

```java //视频上传功能代码 @RequestMapping(value="/upload") public ModelAndView upload(HttpServletRequest request,HttpServletResponse response) throws IOException{ multipartRequest=(MultipartHttpServletRequest)request; String title=""; String path=""; String author=""; String fname=""; response.setContentType("text/html;charset=utf-8"); try { //1.创建DiskFileItemFactory工厂对象 DiskFileItemFactory factory=new DiskFileItemFactory(); File f=new File("E:\temp"); if(!f.exists()) { f.mkdirs(); } //2.创建ServletFileUpload对象 ServletFileUpload fileupload=new ServletFileUpload(factory); fileupload.setHeaderEncoding("utf-8"); //3.解析request,得到上传文件的FileItem对象 List fileitems=fileupload.parseRequest(request); //获取字符流 PrintWriter writer=response.getWriter(); //遍历集合 for(FileItem fileitem:fileitems){ //判断是否为普通字段 if(fileitem.isFormField()){ //获得字段名和字段值 String name=fileitem.getFieldName(); if(name.equals("name")) { //如果name不为空,将其保存在value中 if(!fileitem.getString().equals("")) { String value=fileitem.getString("utf-8"); writer.print("上传者:"+value+"
"); author=value; }
} }else{ //获取上传文件名 String filename=fileitem.getName();

                //数据表标题
                title=filename;
                //处理上传文件
                if(filename!=null&&!filename.equals("")){
                    writer.print("上传的文件名称是:"+filename+"<br/>");
                    //截取出文件名
                    filename=filename.substring(filename.lastIndexOf("\\")+1);
                    //文件名需要唯一
                    filename=UUID.randomUUID().toString()+"_"+filename;
                    fname=filename;
                    //在服务器上创建同名文件
                    String webPath="/upload/";
                    //组合成完整的服务器路径
                    String filepath=request.getServletContext()

.getRealPath(webPath+filename); path=filepath; //创建文件 File file=new File(filepath); file.getParentFile().mkdirs(); file.createNewFile(); //获得上传文件流 InputStream in=fileitem.getInputStream(); //使用FileOutputStream打开服务器端的上传文件 FileOutputStream out=new FileOutputStream(file); //流的对拷 byte[] buffer=new byte[1024];//每次读取一个字节 int len; //上传文件的字节输出到服务器的上传文件输出流中 while((len=in.read(buffer))>0){ out.write(buffer,0,len); } //关闭流 in.close(); out.close(); //删除临时文件 fileitem.delete(); writer.print("上传成功!
"); } } } } catch (FileUploadException e) {
e.printStackTrace(); } Video video=new Video(); video.setTitle(title); video.setAuthor(author); video.setPath("upload\"+fname); System.out.println(fname); video.setTime(new Date()); videoService.add(video); return list(1,null); } ```

视频列表界面如图4.10所示:

视频上传界面如图4.11所示:

视频在线播放界面如图4.12所示:

试题资料模块

试题资料模块包括试题列表和试题上传两部分。

  • 功能描述:教师和管理员用户可以对试题进行增删改查,学生用户可以对试题进行查看和下载。

java //试题下载功能代码 @RequestMapping(value=("/download")) public void download(HttpServletRequest request,HttpServletResponse response) throws IOException{ /* * 获取下载地址,下载 */ //获取相对路径 String filename = request.getParameter("path"); //获取要下载的文件的物理路径 String filepath = request.getServletContext().getRealPath("/")+filename; int index = filename.lastIndexOf("/"); if(index!=-1) filename = filename.substring(index+1);//获取文件名 // 为了使下载框中显示中文文件名称不出乱码! String framename = filenameEncoding(filename, request); String contentType = request.getServletContext() .getMimeType(filename);//通过文件名称获取MIME类型 String contentDisposition = "attachment;filename=" + framename; //为了显示下载框 // 输入流 FileInputStream input = new FileInputStream(filepath); //设置头 response.setHeader("Content-Type", contentType); response.setHeader("Content-Disposition", contentDisposition); // 获取绑定了响应端的流(输出流) ServletOutputStream output = response.getOutputStream(); IOUtils.copy(input, output);//把输入流中的数据写入到输出流中。 input.close(); }

试题列表界面,如图4.13所示:

试题上传界面,如图4.14所示:

用户管理模块

学生和教师用户的账号需要由管理员用户来添加和分配,用户管理模块主要包括学生管理、教师管理和用户添加三部分。

  • 功能描述:管理员用户可以对学生和教师用户的用户信息进行增删改查。

java //用户信息添加和编辑代码 @RequestMapping(value="/edit") public ModelAndView edit(String id,String role,String username,String password,String sex,String email,String phone,String birthday) throws ParseException{ ModelAndView mv=new ModelAndView(); User auser=new User(); auser.setRole(role); auser.setUsername(username); auser.setPassword(password); auser.setSex(sex); auser.setEmail(email); auser.setPhone(phone); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); Date date = formatter.parse(birthday); auser.setBirthady(date); if(id==null||"".equals(id)){ userService.addUser(auser); }else{ auser.setId(Integer.parseInt(id)); userService.editUser(auser); } return list(role,1,null); }

学生用户管理界面,如图4.15所示:

教师用户管理界面,如图4.16所示:

用户添加界面,如图4.17所示:

论坛系统模块

论坛系统包括论坛列表和发表帖子两部分。

  • 功能描述:所有用户都可以进行帖子的发表、浏览和回复,管理员用户可以对帖子内容进行增删改查。

java //帖子回复功能代码 @RequestMapping(value="/replyAdd") public ModelAndView replyAdd(String forumid,String author,String lou,String content){ //敏感词过滤 content=KeyWordFilter.keyWordFilter(content); Reply areply=new Reply(); areply.setForumid(Integer.parseInt(forumid)); areply.setAuthor(author); areply.setContent(content); areply.setTime(new Date()); areply.setLou(Integer.parseInt(lou)); forumService.replyAdd(areply); return show(forumid,1); }

论坛列表界面,如图4.18所示:

论坛发帖界面,如图4.19所示:

帖子详情界面,如图4.20所示:

4.2.3 系统优势与特色

保存登录功能

  • 功能描述:用户在进行登录时,如果选中“记住我”复选框,系统会将用户信息保存到浏览器cookie中,保存时间为两周,在cookie生效时,用户进入系统时无需再次登录便可直接进入系统,极大地提升了用户体验,提高工作的效率。

java //保存用户信息到cookie中 if("true".equals(rem)){ Cookie cook =new Cookie("username",URLEncoder.encode(username,"utf-8")); cook.setMaxAge(14*24*60*60); //两个星期 response.addCookie(cook); Cookie cook1 =new Cookie("role",URLEncoder.encode(role,"utf-8")); cook1.setMaxAge(14*24*60*60); //两个星期 response.addCookie(cook1); } //从cookie中读取用户信息 Cookie cookies[] =request.getCookies(); if(cookies!=null){ for(int i=0;i<cookies.length;i++){ if(cookies[i].getName().equals("username")){ String username=cookies[i].getValue(); session.setAttribute("username", URLDecoder.decode(username, "utf-8")); } if(cookies[i].getName().equals("role")){ String role=cookies[i].getValue(); session.setAttribute("role", URLDecoder.decode(role, "utf-8")); } } }

用户登录界面如下:

AJAX动态验证功能

  • 功能描述:本系统使用AJAX技术进行用户名密码的验证,验证码的验证和用户添加时的用户名查重。实现了页面无刷新,在页面内与服务器通信,给用户的体验非常好。使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的响应能力。减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,ajax的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。

html //用户登录功能AJAX代码 $.ajax({ url:"user/login", data:{role:$("#role").val(),username:$("#username").val(),password:$("#password").val(),rem:$("#rem").is(':checked')}, dataType: 'text', type: 'post', scriptCharset: 'utf-8', success:function(result){ if(eval("("+result+")")=="0"){ $("#unerr").removeClass("text-success"); $("#unerr").addClass("text-danger"); $("#unerr").text("用户名或密码错误"); $("#username").focus(); }else if(eval("("+result+")")=="1"){ window.location.href = "user/success"; } } });

用户名密码验证和验证码验证界面如图4.22所示:

第5章 调试过程

5.1 遇到的问题

  • 登录时输入错误,并不会提示登录失败,而是网页直接报错

  • 提交表单时出现乱码

  • rs.next()不能正确获取数据库中的数据

  • 不知道什么时候使用post提交,什么时候使用get提交。

5.2 解决方法

  • 登录判断页面(login_do.jsp)中,登录信息session的保存没有放在判断是否为空的判断语句(if(list!=null))中,导致登录失败也会保存session,这时就无法正确获取登录信息,导致网页报错。将session放在判断语句中就可以解决

  • 表单提交时以get的请求发送到tomcat服务器后又会以默认的(ISO8859-1)解码,这时会出现中文乱码,改为post提交方式就解决了

  • ResultSet是一个结果集,即ResultSet存有一个表(通过执行查询数据库的语句生成),该表的当前行可以访问(当前行的初始位置是null),可以使用rs.next()方法移动到下一行(即表的第一行),如果新的当前行有效(即有值)就返回true,然后就可以使用get方法获取该行各列的值了,如果不存在下一行,则返回 false;因为这个方法会抛出一个SQLException,故要捕捉(try-catch)。直接使用rs.next()不能获取,前面要加上判断语句(if(rs.next)或while(rs.next))

  • get方法传输数据会在地址栏显示,并且数据不能过长,但会优先读取本地缓存,很多时候会加速用户访问。一般获取数据用get,进行数据更改用post。

第6章 系统测试

以下测试均以管理员身份进行登录,测试师生交流系统的各项功能。

6.1 用户登录模块

用户登录输入管理员用户密码,选择管理员角色,如图6.1所示:

点击登录按钮,跳转进入系统主界面,如图6.2所示:

由上图可知,用户登录功能运行成功。

6.2 系统功能模块

对教学资料、教学视频、试题资料、用户资料、论坛帖子的增删改查和资料下载功能较为类似,这里以教学资料为例进行测试。

资料列表功能测试

点击左侧菜单“教学资料”,再点击“资料列表”,进入资料列表界面。资料列表界面如图6.3所示:

点击右侧“下载”,可以进行资料的下载,如图6.4所示。

资料上传功能测试

点击左侧菜单中的“资料上传”,进入资料上传界面,输入作者信息,选择资料文件,如图6.5所示:

点击“提交”按钮,提示“成功”,跳转进入资料列表界面,可以看到刚添加的信息,如图6.6所示:

查询资料功能测试

进入资料列表,在上方的查询框中输入标题的关键字,如图6.7所示:

点击“搜索”按钮,后台查询并显示要查询的信息,如图6.8所示:

教学资料的删除功能测试

这里进行批量删除功能的测试,进入资料列表,选中需要删除的资料,如下图所示:

点击“批量删除”按钮,成功删除指定信息,并自动刷新界面,如图6.10所示:

教学视频播放测试

点击左侧“视频列表”菜单,点击标题或右侧的“播放”,即可进入播放界面,如图6.11所示:

论坛系统测试

点击右侧“论坛系统”菜单,再点击“论坛”,进入论坛列表界面,如图6.12所示:

点击标题,进入帖子详情界面,如图6.13所示:

在下方的回复栏中可以进行帖子回复,如图6.14所示:

帖子发表功能测试

点击右侧“发表帖子”菜单,进入发表帖子页面,填写信息,如图6.14所示:

点击“提交”按钮,帖子成功发表,并转到论坛列表界面,如图6.15所示:

第7章 课设小结

经过这段时间的课设学习,我收获了很多。在自己的努力和老师的耐心指导下,终于完成了这次课设的内容。这其中的酸甜苦辣只有经历过才体会得到,曾无数次找错误找到崩溃,无数次想代码想到忘记吃饭,这一刻才体会到收获的喜悦,这是发自内心的。

同时在这次课设中,我培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。我学会了很多学习的方法。而这是日后最实用的。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我的将来也有很大的帮助。以后,不管有多苦,我想我都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。以后遇到困难的问题,我除了苦恼,更多的是欣喜,因为解决了它我就能成长。

我明白了自己知识还比较欠缺,只是学习书本知识还是远远不够的,自己不会的东西还有太多,学习需要自己长期的积累,在以后的学习、工作中都应该不断的学习,将课本的理论知识与生活中的实践知识相结合,不断提高自己文化知识和实践能力。

第8章 参考文献

[1] 张娜. JavaWeb开发技术教程(第二版).清华大学出版社,2018.1

[2] 王珊,萨师煊.数据库系统概论(第5版).高等教育出版社,2017.3

[3] Cay S. Horstmann / Gary Cornell. JAVA核心技术(卷1) 机械工业出版社,2008

[4] [美] Bruce Eckel. Java编程思想 [第4版] 机械工业出版社,2007

参考文献

  • 基于JSP的校园网站的设计与实现(吉林大学·张帆)
  • 高校普通物理实验教学信息化管理系统(贵州大学·李琼敏)
  • 基于Web的远程教学系统的研究(中国农业大学·王新伟)
  • 基于JSP的校园网站的设计与实现(吉林大学·张帆)
  • 基于JSP技术动态教学管理系统设计与实现(电子科技大学·董豪)
  • 罗定中学师生交流管理系统的设计与实现(电子科技大学·李海萍)
  • 校园办公自动化系统的设计与实现(厦门大学·伏军)
  • 基于JSP的学生就业信息管理系统设计与实现(吉林大学·马骁)
  • 基于MVC架构实验教学系统的研究与实现(南京理工大学·周志平)
  • 基于web的信息共享系统的设计与实现(华中科技大学·保罗)
  • 高校普通物理实验教学信息化管理系统(贵州大学·李琼敏)
  • 罗定中学师生交流管理系统的设计与实现(电子科技大学·李海萍)
  • 基于XML/JSP的电子教学平台的设计与实现(苏州大学·杜奕)
  • 基于JSP技术的学生宿舍管理系统的设计与实现(沈阳工业大学·杨俊宝)
  • 基于MVC架构实验教学系统的研究与实现(南京理工大学·周志平)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕设导航 ,原文地址:https://m.bishedaima.com/yuanma/35441.html

相关推荐

  • 基于springboot和elasticSearch实现的多用户在线论坛

    基于springboot和elasticSearch实现的多用户在线论坛 1,项目简介 1,1 简介 随着现在科技的发展,论坛系统越来越多,本系统仿照CSDN做一个java学习论坛系统
    2024年05月14日
    2 1 1
  • 基于JSP和MYSQL的酒店房间管理系统

    基于JSP和MYSQL的酒店房间管理系统 摘 要 随着社会服务行业的不断发展,使用计算机系统软件来管理整个酒店业务的 要求也逐年提高,我国一些酒店都采用了相关的酒店管理系统来管理酒店业务
    2024年05月14日
    2 1 1
  • python数据分析

    python数据分析(3)——数据特征分析(下) 1, 周期性分析 周期性分析是探索某个变量是否随这时间的变化而呈现出某种周期变化趋势, 时间尺度较长的有年度性
    2024年05月14日
    1 1 1
  • 基于SpringBoot框架的智能家居系统

    这是一套采用Java编程语言,基于SpringBoot框架构建的智能家庭管理系统源代码,项目中融入了Vue技术,开发工具为Idea或Eclipse,此智能家居系统适用于作为毕业设计或课程实践项目
    2024年05月23日
    14 1 4
  • 基于SSH和MySQL的保险业务管理系统的设计与实现

    基于SSH和MySQL的保险业务管理系统的设计与实现 摘 要 历经二十余年的高速发展,我国保险行业的市场竞争已经达到白热化的程度,在同一个城市往往有数十家主体参与保险业务的竞争
    2024年05月14日
    1 1 1
  • 基于SpringBoot框架的电商应用系统

    这是一套采用Java语言,基于SpringBoot框架构建的电子商务应用系统源代码,项目中融入了Vue技术,开发工具为Idea或Eclipse,它是一个理想的毕业设计或课程设计项目
    2024年05月23日
    2 1 1
  • 社区团购系统设计

    这是一个🔥🔥基于SpringBoot框架的社区团购系统设计设计与实现🔥🔥的项目源码,开发语言Java,框架使用的SpringBoot+vue技术,开发环境Idea/Eclipse
    2024年05月23日
    2 1 2
  • 基于 SpringBoot + jpa + Erupt 后台框架开发的综合签到打卡系统

    基于 SpringBoot + jpa + Erupt 后台框架开发的综合签到打卡系统 一 ,项目背景及需求分析 docker-compose 一键部署 (仅需下载 docker-compose 文件夹运行即可) 用户在可靠验证下实现简化身份确认 在已有用户数据库基础上 传统校验方式: 直接选择 ==》 用户 【不安全/不可靠】 用户名 + 密码 查询数据库 ==》 用户 【麻烦/】 新型校验方式 第三方工具
    2024年05月14日
    3 1 2
  • 基于web的实验教学管理系统

    基于web的实验教学管理系统 摘要: 实验教学管理系统基于B/S架构,它主要是为了满足从事这一行业的人获得加方便的沟通和管理而开发出来,系统是用java的一个轻量级JavaScript应用框架——Angular编写
    2024年05月14日
    1 1 1
  • 基于SpringBoot框架的在线拍卖平台

    这是一套采用Java语言开发的🔥🔥SpringBoot核心框架构建的线上拍卖系统源代码🔥🔥,该项目运用了SpringBoot和Vue技术栈,开发工具为Idea或Eclipse
    2024年05月23日
    1 1 1

发表回复

登录后才能评论