我的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中运用全区查找快速定位。

关注点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也界说为了常量。

关注点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毕业设计博客写完的,可是看了一下时刻,诶。这个周末下的使命只能算是完结了一半,还有很多东西想跟咱们共享。这也算大宇的一个坏习惯吧,干事迁延,终究的成果就是使命总是打折完结,得改。

关于java的毕业设计_我的java毕业设计之路回顾相关推荐

  1. 马士兵 java 学习笔记_马士兵java教程笔记1

    ---恢复内容开始--- 前记 虽然已经是个研究生了,但是会的东西还是特别的少 甚至连java都不能说是很会 所以准备从现在开始能好好的学习java 变成java master 标识符 标识符是由字母 ...

  2. core java文献翻译_外文翻译--Java技术介绍(适用于毕业论文外文翻译+中英文对照).doc...

    毕业设计(论文)外文资料翻译 学 院: 信息工程学院 专 业: 计算机科学与技术 姓 名: XXXXXXXXX 学 号: XXXXXXXXX 外文出处: Cay s.Horstmann Core Ja ...

  3. java 02-cf_cf活动如何设置java环境变量_如何设置java环境变量

    cf助手怎么连接wifi_连接无线网设置 对于刚刚学习java的win7用户来说,首先要学会安装jdk和配置java环境变量,这是学习java的唯一途径,否则编写的代码运行时会出现bug.关于这一点, ...

  4. java 字符串乱码_这份Java面试题含答案解析竟然真的让你不用在面试上“如履薄冰”...

    面试题集共分为以下十部分: 一.Core Java: 1 - 95 题1 - 24 页 基础及语法: 1 - 61 题1 - 13 页 异常: 62 - 69 题13 - 15 页 集合: 70 - ...

  5. java console 交互_实例讲解java中Console类的用法

    java的Console类的使用方法及实例 java的Console类的使用方法及实例 JDK 6中提供了java.io.Console类专用来访问基于字符的控制台设备.如果你的Java程序要与Win ...

  6. java for循环_愉快地学Java语言:第五章 循环

    导读 本文适合Java入门,不太适合Java中高级软件工程师.本文以<Java程序设计基础篇>第10版为蓝本,采用不断提出问题,然后解答问题的方式来讲述.本篇文章只是这个系列中的一篇,如果 ...

  7. java 内存空间_怎样用java实现存储空间动态分配

    1.java是如何管理内存的 Java的内存管理就是对象的分配和释放问题.(两部分) 分配 :内存的分配是由程序完成的,程序员需要通过关键字new 为每个对象申请内存空间 (基本类型除外),所有的对象 ...

  8. linux java远程调试_[转]JPDA:Java平台调试架构(常用的远程调试方法)

    原文出处:http://www.javaeye.com/topic/75128 最近使用WTP的Server功能很不爽,连tomcat服务器时java类中的任何改动都要重启服务器,一怒之下就改用JPD ...

  9. java在线编译器_什么是Java内存模型

    在知识星球中,有个小伙伴提了一个问题:有一个关于JVM名词定义的问题,说"JVM内存模型",有人会说是关于JVM内存分布(堆栈,方法区等)这些介绍,也有地方说(深入理解JVM虚拟机 ...

最新文章

  1. [Solution] The superclass “javax.servlet.http.HttpServlet” was not found on the Java Build Path
  2. 项目Alpha冲刺 10
  3. python绘制三维曲线图_Python基于matplotlib实现绘制三维图形功能示例
  4. php点击后增加html元素,如何动态生成html元素以及为元素追加属性的方法介绍(附代码)...
  5. netty keepalive 和 idle 的关系
  6. java中的flag
  7. hnust Snowman
  8. 传智博客JAVA基础第二十三天
  9. Exception in thread “main“ java.lang.NumberFormatException
  10. 怎么去搭建聚合支付系统比较划算
  11. 为了梦想而奋斗的人值得敬佩
  12. POI导出读取Excel表格讲解
  13. 百度地图SDK for Android【离线地图】
  14. 怎么利用计算机传输文件到邮箱,电脑和电脑怎么传文件_电脑和电脑之间如何传文件-win7之家...
  15. 用html制作表白网站制作 超炫酷的七夕情人节表白网页代码
  16. 在旧时的桃花里,喊疼
  17. 接口设计中,如何封装对json格式的数据签名
  18. DFS+DP搜索斗地主玩家手牌最少出牌次数
  19. “error C2712: 无法在要求对象展开的函数中使用__try”解决方案
  20. OO第四单元小结暨2019春季学期OO课程总结

热门文章

  1. matlab把图片制作成视频
  2. 苹果用户当心 犯罪分子网购海外邮箱专偷苹果ID
  3. 为何excel中数据无法计算机,Excel中数字无法正常求和怎么办?
  4. js 数字转为千分符格式
  5. excel 查找图相框或文本框中的内容
  6. TiDB 在 58 集团的应用与实践
  7. 微信小程序界面设计入门课程-样式wxss中使用css课程-字体-font-style字体风格
  8. PPT文件不能编辑可以这样解决
  9. pandas多列合并成一列
  10. 15. 徽章 和 面包屑导航