我正在处理的当前应用程序是 2003 年的传统 J2EE 应用程序!具有基于 JSP 的前端,以及一些常见的服务层(Auth、DAO 等)。
麻烦的是,前端是一团糟。没有 MVC,没有模板,什么都没有。多年来,开发人员一直将代码直接写入 JSP(我的意思是大量 Java 代码),并且在这些块中的某个时刻,控制流传递到服务层。阅读和调试很痛苦。
我正在为这个应用程序编写新功能,并且必须以一种相当不显眼的方式来完成它。通常不鼓励更改 xml 配置或类路径设置等的任何内容。
我的问题是:除了 JSP 作为应用程序的入口点之外什么都没有,如何在这些约束下最好地编写最干净的代码?
我正在制作 ajaxian 模块(项目 svn 中已经有 jQuery),所以我的 JavaScript 和 JSP 通常如下所示:
JavaScript:
jsAjaxCall({
url: 'myActionURL.jsp',
method: 'post',
params: {},
success: function(data){
},
failure: function(data){
}
});
myActionURL.jsp
<%
//entry into server tiers
SomeEntryPointClass entry = new SomeEntryPointClass(request);
String responseString = entry.doYourJob();
PrintWriter out = response.getWriter();
out.print(responseString);
out.flush();
%>
问题:
- 这个想法是让 JSP 中的 Java 代码保持在绝对最低限度,并尽快将请求对象移交给一个前端(命名它是什么东西!)对象。考虑到限制,这是一种合理正确的方法吗?
- 我可以做哪些额外的事情来保持整洁和井井有条?(我已经推出了我自己的类,用于将请求参数绑定到域对象,所以这也是一个不错的优点)。
- 在这种情况下如何进行无痛表单验证?我错过了 Spring MVC 的验证!简直无法想象除了 JSP 之外的所有手动 hoopla 以及路由和绑定混乱!:(