历时二十余天,一阶段的Javaweb项目也迎来了"定稿"时刻.回顾这段时间,对我的感受也只有痛苦二字.假期的划水致使在学校的时间异常之赶,尽管如此,最后的项目结果依旧不尽人意.
不管结果如何,这次项目依旧让我受益匪浅,因之前那些不成熟的项目,我终于意识到项目的构思,思维导图,项目结构的重要性.JavaEE是我改变方式的开始.
这次项目我也初步尝试用三层架构来写项目,总体目录看起来还不错,但就如今天学长所说,Service层要不要都没有区别.在Dao层中用sql语句实现对数据库的操作,而service层中只是直接调用方法,显得多此一举,导致Web层中Servlet代码冗长,这些都是需要改进的地方.
@Override
public void deleteMusicById(Integer id) {
musicDao.deleteMusicById(id);
}
@Override
public void updateMusic(Music music) {
musicDao.updateMusic(music);
}
JaveWeb是交互式项目开始,这之间过渡的一段时间总显现的及其吃力,但只有不断的总结消化才能让你更有动力前进.
说到这次项目,虽然没什么内容,但其中也有很多让我受益匪浅,反射的应用,用一个参数获取相应业务,用方法反射对象,从而达到将减少Servlet的构建,用类似与Java基础中调取方法的方式来简化代码提高效率.
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
resp.setCharacterEncoding("UTF-8");
String action = req.getParameter("action");
try {
//获取action业务鉴别字符串,获取相应业务 用方法反射对象
Method method = this.getClass().getDeclaredMethod(action, HttpServletRequest.class, HttpServletResponse.class);
method.invoke(this, req, resp);
} catch (Exception e) {
e.printStackTrace();
}
}
通过这阶段学习,很多有相似点的知识依旧容易混淆,像之前equals方法与==的区别,这次的cookie与Session的区别,JSP与Servlet的区别.这些都令人头大.
这跟之前高中阶段的学习一样,总会有这样的情况出现,只有不断克服才能成长与增强自我.



