教学管理系统web应用搭建记录
从一份JavaWeb的作业开始不断改进。最终效果:实现了角色分工、信息增删改查、html+css界面。
项目初期
刚准备开始做时的搭建计划:
做了八天,其中整合界面(html+css)就花了一两天。从前端网站找的页面,整合过程中除了许许多多小问题,因为自己对于css和html也不是很熟悉,只处于看懂的水平,所以各种微调花了不少时间。
其中比较值得记录的应该就是抽取出来的分页功能:(后面MyBatis的PageHelper已经能够实现这个功能了)
分页功能
未完待续。
SSM整合
未完待续。
spring
使用IoC容器管理DataSource对象
依赖注入方式
@controller注解与tomcat管理servlet冲突
(这时还没有学SpringMVC,仍然用的servlet。)因此也不能加@Autowared标签。转而在WebUtils中实现从ioc容器中获取bean对象的方法。
开启事务
SpringMVC
- 负责管理controller和视图层
- 配置中央分发器
- 改造所有servelt,以String的形式返回页面
MyBatis
- 去除DAO的实现类,直接为DAO接口写相应的sql语句
- 动态sql实现更加强大的功能
- 数据库字段与JavaBean属性的对应问题解决
- MyBatis的代码生成器
- PageHelper帮助实现分页功能
总结:
遇到的最大的问题?
因为这个项目功能很简单,虽然经常也会遇到配置错误等等各种小问题,但上网搜索后一般都能够解决。所以在其中遇到的最大的困难应该就是导包了,没有Maven真的很难,特别是不知道依赖些什么包,导入的过程中因为版本等原因错误不断。
如何解决这个问题的?
首先上网搜索,无果后找SSM的项目视频,看别人导了一些什么包,之后去找包。
第一次使用SSM的感受?
因为这个项目确实很小,对于这三个框架提供的便利性并没有太深的感受。但对于他们提供的功能有了初步的认识了。比如Spring的IoC、DI自动注入、动态代理和AOP思想;SpringMVC的ModelAndView、前端控制器、拦截器和后端验证、上传下载;MyBatis的简化的DAO开发、动态sql、延迟加载和缓存机制等等。
展示效果
管理员身份:
学生身份登录:
(其余功能与管理员相同)
教师身份登录:
(其余功能与管理员相同)
问题记录
项目路径问题
在Idea中修改Context(项目上下文路径)比较简单,只需要在Tomcat中配置一下就好了;但转到eclipse后,需要在server.xml中修改。
将path修改成你想要访问的项目根路径。
按下图修改后,访问路径变为 http://localhost:8080/
bean对象无法自动注入
我在某一个JavaBean中使用了@Autowired注解,却没有将该类加入ioc容器,自然就报空指针异常了。