极简风格Web架构,jsp+jdbc的二次复辟

本文介绍如何利用JSP与JDBC快速构建Web应用程序的方法,包括使用JSP作为视图层进行内容展示、作为控制器处理用户提交的数据,以及通过Spring JdbcTemplate实现业务逻辑。此外还探讨了如何简化配置并保持MVC架构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于演示原型,上午要下午给的快速交付,或者某些不知道到底一年有多少个人点进去的网站角落,或者极少数管理人员才用到的管理功能,在恨不能php,ror的时候,你会想起jsp+jdbc的温暖。

又或者你请到了只会写jsp和sql的极品,又想让他明天开始干活.....

所以在SS3里另做了这个extreme-web风格示例 , 在简化到no config file的jsp+jdbc同时,仍然是个可堪一观的MVC,仍然基于亲爱的Spring.

anchor.gifView层:一个jsp

Web应用里,单纯的内容展示型场景占绝大多数。我们也单纯的在jsp的开始代码调用Model层的Service Bean查出所需内容。
一页到尾,不要再扯什么Struts2 Action,什么struts.xml。 (见webapp/.../user.jsp)

内容展示时可以继续忍受旁人的鄙视,直接在页面中嵌入jsp显示代码;也可以将查询结果放入贯通两界的pageContext里,换用Jsp2.0 EL和JSTL taglib来作展示。

Controller层:还是一个jsp

少量的用户提交内容的场景,就会来到这个代替Struts2 Action的jsp,由它来调用Model层的Service Bean,然后又redirect/forward回View层的jsp。
如果顺手,可以用spring的DataBinder 将Request参数绑定到DTO。否则继续复古的用N多request.getParameter("foo")手工组合。 (见webapp/.../userAction.jsp)

Model层:一个使用Spring JdbcTemplate的Pojo

为什么不继续用jsp,彻底的改代码不重启服务器?因为舍不得Spring的JdbcTemplate/DataSource/Transcation这一系列功能。

用Spring 2.5的@Service注册bean,就不用在applicationContext.xml定义bean了。
然后继续用@Transcational 定义事务,不再编写commit/rollback语句。
Spring的SimpleJDBCTemplate其实也挺好用的,顺手的话,可以将输入参数和ResultSet都直接反射到DTO上。
不顺手的话,用MapSqlParameterSource绑定DTO到输入参数,用ParameterizedRowMapper绑定ResultSet到DTO。 (见src/.../UserService.java)

除了上面几点,其他地方也简化退化了,比如maven的功能退化到jar管理,连接池直接用commons-dbcp定义不依赖应用服务器等等...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值