Java Web Review --- version I

来源:互联网 发布:idc数据机房 编辑:程序博客网 时间:2024/05/19 23:54

之前在网上零零落落地学了一些Java Web的知识,最近就自己动手做了一个小Demo,用Hibernate+SpringMVC+Spring框架实现一个员工部门管理系统,Hibernate采用注解的方式配置,Jsp里面采用EL表达式和Jstl标签,实现的功能有:

(1)部门,员工的增删改查,级联删除(在数据库里面修改属性)

(2)管理员登陆,注册,Filter实现登陆拦截

(3)页面的分页显示

(4)导出Excel表

(5)按部门显示员工

(6)上传员工图片并显示


效果图(页面比较粗糙):



主要先记录一下在这个过程中遇到的一些问题:

(1)由于追求低占内存,一味迁就低版本的软件和Jar包版本,导致出现一些兼容的问题,浪费了很多精力和时间

(2)在Jsp/Html中内嵌Html文件,那么url-pattern就不能用*.html,否则会报404错误(可能是也把src="?.html"也当做某种请求来处理吧)

(3)addDep因为处在frame文件下,所以提交的时候url-pattern是“/frame/addDep.do”,通过Inspect element可以查看自己的url-pattern是不是正确的

(4)SPringMVC的数据绑定

(5)继承HibernateTemplate仍然需要sessionFactory,只不过不需要声明sessionFactory字段和setter方法 

(6)在创建Department的字段的时候不能用desc,因为是数据库的关键字

(7)主键生成策略(最开始没有表用Hibernate创建的时候不能用native,否则报错;表创建了就能用native了)
(8)字段类似设置为Integer要设置初始值,否则报null错误

(9)<1>Jsp向controller传值用?XX=XX,在controller端用request接收,或者在一个form表单里面提交
         <2>controller吧数据放在modelmap里面,Jsp就可以用EL表达式${}取出来

(10)在form表单中即使没有主键id的信息,也可以提交,设置好id的数据类型和生成策略可以解决

(11)Spring与SpringMVC的整合的时候一些注解要明确的指出来,比如哪些要用Spring注解就不要包括SpringMVC的Controller注解,让这个注解交给SpringMVC去处理

(12)员工有个部门的外键,但是在查询员工的时候却并没有显示,最后发现是“延迟加载”的问题

(13)出现乱码:dep.setDname(new String(dep.dname.getBytes("iso-8859-1"), "utf-8"));

(14)配置多个<url-pattern>和排除一部分的拦截

(15)SpringMVC除了可以返回字符串外,还可以返回ModelAndView

(16)onchange里面是个JavaScript函数,好像直接写*.do是不行的,那只好在JavaScript函数里面getElementById提交了一个form来实现url的请求了



参考文献:

http://jinnianshilongnian.iteye.com/blog/1670856

http://liuzidong.iteye.com/blog/1071823
遇到不会的要学会在Google上查


代码放在GitHub:https://github.com/SmallPersist/MyWebReview/tree/master/code


version 2 :添加了Spam Email SVM detection & build a Mail Server using James!


体会:

之前学了那么就,进度慢又效率低下,现在想来:绝知此事要躬行,实践才是学习总是的最佳路径!

0 0
原创粉丝点击