从一份JavaWeb的作业开始不断改进。最终效果:实现了角色分工、信息增删改查、html+css界面。

项目初期

刚准备开始做时的搭建计划:

总体计划

做了八天,其中整合界面(html+css)就花了一两天。从前端网站找的页面,整合过程中除了许许多多小问题,因为自己对于css和html也不是很熟悉,只处于看懂的水平,所以各种微调花了不少时间。

其中比较值得记录的应该就是抽取出来的分页功能:(后面MyBatis的PageHelper已经能够实现这个功能了)

分页功能

未完待续。

SSM整合

未完待续。

spring

  1. 使用IoC容器管理DataSource对象

  2. 依赖注入方式

  3. @controller注解与tomcat管理servlet冲突

    (这时还没有学SpringMVC,仍然用的servlet。)因此也不能加@Autowared标签。转而在WebUtils中实现从ioc容器中获取bean对象的方法。

  4. 开启事务

SpringMVC

  1. 负责管理controller和视图层
  2. 配置中央分发器
  3. 改造所有servelt,以String的形式返回页面

MyBatis

  1. 去除DAO的实现类,直接为DAO接口写相应的sql语句
  2. 动态sql实现更加强大的功能
  3. 数据库字段与JavaBean属性的对应问题解决
  4. MyBatis的代码生成器
  5. PageHelper帮助实现分页功能

总结:

  1. 遇到的最大的问题?

    因为这个项目功能很简单,虽然经常也会遇到配置错误等等各种小问题,但上网搜索后一般都能够解决。所以在其中遇到的最大的困难应该就是导包了,没有Maven真的很难,特别是不知道依赖些什么包,导入的过程中因为版本等原因错误不断。

  2. 如何解决这个问题的?

    首先上网搜索,无果后找SSM的项目视频,看别人导了一些什么包,之后去找包。

  3. 第一次使用SSM的感受?

    因为这个项目确实很小,对于这三个框架提供的便利性并没有太深的感受。但对于他们提供的功能有了初步的认识了。比如Spring的IoC、DI自动注入、动态代理和AOP思想;SpringMVC的ModelAndView、前端控制器、拦截器和后端验证、上传下载;MyBatis的简化的DAO开发、动态sql、延迟加载和缓存机制等等。

展示效果

管理员身份:

登录

登陆失败

登陆成功,进入主页

点击课程信息

实现分页

点击添加课程

点击修改

点击删除

点击学生信息

修改

点击查看成绩

点击添加学生

点击教师信息

添加

点击修改密码

修改密码后跳至登陆界面

退出后(之前有选择“记住我”)

注销登录信息后

学生身份登录:

学生主页

选课

提示信息

提示信息

点击查看成绩

(其余功能与管理员相同)

教师身份登录:
教师主页

点击录入成绩

选择某一学生

点击录入

录入后

(其余功能与管理员相同)

问题记录

项目路径问题

在Idea中修改Context(项目上下文路径)比较简单,只需要在Tomcat中配置一下就好了;但转到eclipse后,需要在server.xml中修改。

将path修改成你想要访问的项目根路径。

按下图修改后,访问路径变为 http://localhost:8080/

项目路径修改

bean对象无法自动注入

我在某一个JavaBean中使用了@Autowired注解,却没有将该类加入ioc容器,自然就报空指针异常了。

留言

⬆︎TOP