一个非应届生的自言自语(SSH,我挺喜欢)
首先,我不是应届生。我目前就读于苏州的一个大学。大三年级。专业为软件工程。
论坛里最近发了很多关于应届生的问题,比如:SSH?DWR?什么简历写的太水等等,这种全盘否定的帖子,我到要出来说说话。
1,关于SSH,SSH2,等等的问题。
请问,一些在位牛人(经常批评学生的),你们工作中难道不是使用的这种框架?你们也许用过许多框架,但是你们常用的请问是不是这几种?也许你会抱怨,公司的要求,部门的决定,但是归根到底你在使用这些框架,那么别人学这些框架不是很正常吗?(会的人多,技术成熟,学习曲线低,项目成本低)你们为什么要说三倒四呢?一提到SSH的问题,我想现在许多牛人已经想说一些攻击我的话了吧?您先听我说完。JSP,SERVLET,JDBC,是的,它们很好,而且它们是规范,是标准(SPRING您喜欢吗?它是标准吗?)。JDBC的速度快,什么JSP,SERVLET一样可以搭建出可不断升级的软件。对,这些没错,很对。但是请问,您在工作有有多少实际项目用到这些东西?全部使用了吗?
谈到这,许多人说在读学生只知道SSH,那么可以,我来谈谈我的SSH。(我不多提代码,免得被大牛们说,我是代码工人)
在项目中,我一般使用的分层结构:
Dao(Hibernate/Ibatis)--- service (Spring) -- action (Struts2/Webwork) 。我不会使用JSP/SERVLET技术去实现我的展现层。在论坛上许多人提出这种分层的问题(首先我先抛开贫血模型/充血模型的问题),许多人建议把action 层与service 合并的。包括在SPRINGSIDE中,我看见SPRINGSIDE中封装了泛型DAO层,之后直接在service 中继承Dao。并非直接使用Dao继承action 。当然,直接抛开service 层有它的好处,但是我认为坏处远远大于好处。首先一个辣手的问题就是耦合的问题。
比如,这里一个USER Action的usersByPage方法: