j2ee核心模式
表现层模式:
/拦截过滤器---filter
(即过滤器Filter/FiterChain/FilterConfig)
/前端控制器---servlet
(如:spring中 DispatcherServlet,集中控制接入点
url handler mapping依据url寻找相应controller,)
/上下文对象---context object
(ServletContext/HttpSession/HttpServletRequest/Page,封装状态与协议无关,共享于应用)
/应用控制器---application controller,应该就是上面的controller
(ServiceResponse handleRequest(ServiceRequest request))
集中获取和调用请求处理元件,如命令/视图
(void handleResponse(RequestContext requestContext, ResponseContext responseContext);)
有时候觉得应用控制器更像spring中的Controller。。
/视图助手---tag lib
(是指如标签等机制,将模型数据填充到jsp视图中)
/复杂视图---tiles(tag & factory...)
应该熟悉Struts tiles标签
/服务工作者---呼叫Business Service的元件,with command or buisiness helper,在controller中呼叫
serviceResponse = dispatchService(serviceRequest,"AC");
ApplicationController注意与上面的应用控制器区分。
/视图分发器---依据请求的url以及处理结果,输出相应的视图。在controller中return ModelAndView。
protected void dispatch(HttpServletRequest request,HttpServletResponse response, String page)
throws javax.servlet.ServletException, java.io.IOException {
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(page);
dispatcher.forward(request, response);
}
业务层模式:
/业务代理
业务代理封装了业务服务的接入,隐藏了业务服务实现的细节,如寻找和接入机制。
SimpleRemoteStatelessSessionProxyFactoryBean/SmartRemoteStatelessSessionProxyFactoryBean
class="**.ejb.*StatelessSessionProxyFactoryBean">
ejb//coms//AC
com.**.ApplicationController
/服务定位器
使用jndi,initialContext,封装对服务的定位和对象的寻找。
class="*.core.naming.JndiTemplate">
${url}
weblogic.jndi.WLInitialContextFactory
${principal}
${credential}
/会话门面
客户端通过统一的远程服务方法访问其它业务服务。这样有很多好处。如集中控制、启动一个服务等。
ApplicationControllerBean
public ServiceResponse handleRequest(ServiceRequest request)
Action action = (Action) context.getBean(serviceName);
serviceResponse = action.perform(request);
/应用服务
(Use Case)Action和Service
--DAO SAO为集成层
/业务对象?(ejb中的概念?)
业务逻辑和关系的概念领域模型 as pojo/entity bean
/复杂实体?(ejb中的概念?)
ejb中的概念。
/传输对象
很肯定地说是DTO,一次可以传输很多数据元素。implements java.io.Serializable
/传输对象组装
从多个服务获取的传输对象DTO,然后组装成一个复杂的传输对象返回给客户端。
/值列表控制
提供搜索和翻页功能ValueList/ValueListHandler/ValueListIterator
集成层模式:
/数据接入对象DAO
/服务激活器--需要研究jms(javax.jms.)
异步执行,jms,message driven bean
/领域存储
是否类似ibatis/hibernate的机制
/Web Service Broker--需要研究wsdl
/SAO
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/95429/viewspace-440383/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/95429/viewspace-440383/