我的java毕业设计之路回顾

我的java毕业设计之路回顾

大宇大学毕业现已四个月了,这四个月有懒散的时分,有尽力的时分。回忆自己走过的路,只要java毕业设计最能浓缩我的所学。我早就有这个计划:把自己的毕业设计与咱们共享,但一向没有用举动履行。这个周末我下决心,献身一些游戏的时刻,要把这个工作履行了。

图书管理系统

        这个java毕业设计投入了我许多汗水,但终究的成果也证明这是值得的。大宇的java毕业设计走运的被辩论教师评为了‘优异’,因而走运的获得了"优异毕业生"称谓。获此荣誉的同组辩论的五十人中仅有不到五人。我一直深信,写过的代码不应该丢掉,应该精心保护。

       尽管此毕设倾泻了大宇的尽力,但由于大宇水平有限、时刻匆促,代码中不免有写的欠好的当地,请各位看官体谅。此系统不免会出现大宇没有发现的BUG,能够在本系统留言

二、毕设作用展现

      我的毕业设计的标题是:《基于java的学生办理系统》。

      比方JDK1.7 HashMap调集源代码探究 、揭秘双向链表LinkedList源码、单例规划形式

三、开发环境

        开发工具:

 

                     JDK版别:1.8

                     数据库是MySQL

                     Maven版别:3.5.2

       后端Java结构:

                     Spring、SpringMVC、Mybaits、Shiro

       前端结构:

                      Bootstrap

四、规划思路

         本末节,大宇将具体讨论毕设的一些关键技术难题,以及相关的规划思路。我将用“关注点”来标识重要的常识或许技巧。假如你愿意的话,能够一边看代码,一边阅览大宇的解说。毕设源码中现已定位好了相关关注点,咱们能够直接找到相关源码检查。

   提示:下面的一切关注点,均在源码中能够找到,能够在Eclipse或Idea中运用全区查找快速定位。

java毕业设计之宿舍管理系统

        关注点1:在web.xml中界说了项目发动后跳转的途径,本毕设直接跳转当时根目录的index.jsp页面。

        关注点2:此页面在0秒后,当即改写到指定的URL。为什么这儿要当即改写并发送'actions/article/list'恳求,并由SpringMVC的ArticleController处理此恳求,终究回来一个ModelAndView,解析到一个新的JSP页面中。这是由于JSP本质上是动态页面,它的数据由服务器拼装。咱们发送actions/article/list的意图就是向服务器恳求文章的数据,并将查询数据库得到的文章数据,烘托到指定的JSP页面上。终究出现给用户的是 /WEB-INF/pages/article/list.jsp页面。至所以怎样跳转的,能够检查关注点3的装备。

        关注点3:视图解析器,界说ModelAndView的前缀与后缀。这用于指定当时恳求应该跳转哪个页面。

        关注点4:SpringMVC阻拦进口。本毕设的一切恳求均以 ‘/actions/’ 最初。SpringMVC能够捕获到以/actions最初的恳求,并将其映射到相关的Controller中处理。

 

        关注点5:以关注点2中的index.jsp页面为比方,这个页面会改写并发送一个新的恳求,这个恳求的途径为‘actions/article/list’。此途径界说在了META标签中的URL特点,终究会被浏览器解析为发送 /actions/article/list 恳求。所以这个恳求就像关注点4中解说的那样,会被SpringMVC捕获。SpringMVC会将此恳求的标识去掉,即真实SpringMVC需求将此恳求映射到处理 'article/list'这个恳求的Controller中。

        关注点6:咱们能够看到我把一切的恳求都抽取为了常量,这样其实便于保护,假如多个当地需求用到这个恳求,只需求改字符串常量即可。相同回来的ModelAndView也界说为了常量。

java毕业设计例子

        关注点7:本ModelAndView回来的是artice/list,也就是 /WEB-INF/pages/article/list.jsp页面。这个list.jsp页面上就是你们看到的项目发动后的页面。数据从哪里来的,数据是从数据库中查询出来的。而这些数据是怎样传递到页面上的呢?能够像大宇相同处理,把数据放到一个map中,然后能够在页面上运用EL表达式,也就是用美元符号取出map中的数据。

        关注点1到关注点7首要论述了项目发动后的跳转进程,咱们应该不难理解吧。

        下面回到咱们的主页。点击右上角的登录,输入办理员帐号:admin / admin。登录成功后,即可发现页面上方的导航栏发生了一些改变。新增了写文章与个人中心。那个"留言"的导航栏没有完结,算是偷闲吧。

        点击阅览榜首篇文章,发送/actions/article/readArticle/X恳求。这个X是这篇文章在数据库t_article表的ID。源码的话检查关注点8。

        关注点8:'article/readArticle/X'恳求中的X,它是经过${article.id}解析出来的。在SpringMVC中,用于捕获这种由动态参数的URL,供给了一个注解@PathVariable解析。

        关注点9:有动态参数的URL,SpringMVC应该怎样界说写呢。只需求把那个动态参数用{articleId}界说,然后在 Controller办法上用@PathVariable解析,终究映射到指定的变量上即可。如关注点10所示。

       关注点10:经过ajax方法向后端发送恳求,发送的数据能够@RequestParam("参数名") 解析,如关注点12所示。

       关注点11@RequestParam("loginName") String loginName ,它把前端的数据解析并映射到了Java的字符串上了。

 

PS:大宇对前端其实也很头疼。就说这个ajax方法提交恳求吧,大宇尝试了许屡次想记住它,都失利了。终究都不得不再次检查相关的API文档,或许在项目中看其他搭档的ajax恳求格局。真实不可,就看自己的毕设^_^。假如你跟我相同主学的是Java,那么就应该把握常用的解析前端过来的参数。常用的有@RequestParam、@RequestBody注解。惋惜的是,当时毕设中没有运用 @RequestBody 的状况,由于那个时分我还没有把握@RequestBody的运用。感兴趣的朋友能够自己找材料学习。

        关注点12@ResponseBody能够把后台的Java目标解析为Json目标,作为ajax恳求的呼应。

       回到登录后的主页。在右侧我规划了'抢手文章'与‘本栏引荐’模块。抢手文章是点击量最多的几篇文章。

       关注点13:抢手文章其实就是:获取指定条数的文章,依照点击量降序排行。代码追寻下去,终究履行的SQL句子在关注点15处。

      关注点14:操控操控台日志输入。简直每个类都有日志的输入,为了防止操控台输入太多调试信息,能够把指定包下的输入等级进步。比方修改为。这样做的作用就是,domains包下的一切类需求打印大于等于WARN等级的日志,而一般咱们输入的日志的等级是DEBUG或INFO,这类日志将会被疏忽。本毕设用了很多的日志信息,咱们能够直接仿照。

     Shiro安全结构的东西,或许有些朋友没有用过,并且本毕设也只是用于权限操控。下面就简单说一下用到的当地吧。

     (1)在未登录的状况下,不允许检查文章的具体内容。登录其实就是Shiro所说的认证。

     (2)非办理员登录后,点击导航栏的“后台办理中心”,将会提示用户没有相关的权限信息。用到的是Shiro的授权。

     (3)帐号密码的加密。

            原本计划把这篇java毕业设计博客写完的,可是看了一下时刻,诶。这个周末下的使命只能算是完结了一半,还有很多东西想跟咱们共享。这也算大宇的一个坏习惯吧,干事迁延,终究的成果就是使命总是打折完结,得改。

 

 

 

评论