作为一个教师,个人的一点经验:
1.新项目没有必要再用jsp,确实是有点过时
2.老项目jsp用得很多,维护和升级都需要理解相关知识
3.jsp应该怎么学:
虽然是一种老技术,但是jsp特点鲜明,对于理解jee程序的流程有非常大的帮助,比如
和网页夹杂在一起虽然不利于维护,但初学者只要运行就可以看到效果,你让一个初学者后台servlet输出json,前台再js解析,学习曲线未免太陡峭,另外比起servlet输出网页的痛苦,jsp简直是神物,注意我说的是对初学者。初学者最重要的是建立对于这个技术的兴趣。教学过程中最怕就是学生失去兴趣,而兴趣是最好的老师。
隐含对象直接使用,在jsp中就可以操作request,session等jee程序必备的组件,有助于理解控制器页面跳转和数据的传递(json数据最后不都是通过response写的吗)
在此基础上,servlet的相关知识可以直接上手(本身就是一回事)
再进一步将jsp中所有逻辑代码转换到servlet,jsp页面只需要展示数据,辅之以jstl实现页面无脚本,这对于理解前后端概念很有帮助。
按照这个思路,对同一个项目反复迭代,不断引入新技术和新理念,学生才有可能通过内在的动力跟着往下学。
我现在用一个网上书店作为贯穿案例,第一步使用jsp实现基本逻辑,然后重构把jsp中所有业务逻辑代码挪到servlet,再重构,让jsp实现无脚本,继而用html,json和ajax替换jsp(此时servlet仍保留路由功能),再将路由功能转至前台,最后解决跨域等问题后,前台代码集体转移到另一台服务器,实习前后分离。
整个过程并不复杂,学习时间也不长,花这点时间熟悉这一技术绝对是事半功倍的。