基于struts2和ibatis的jsp开发框架设计体系的开发

基于struts2和ibatis的jsp开发框架设计体系的开发

ID:23160973

大小:60.00 KB

页数:6页

时间:2018-11-04

基于struts2和ibatis的jsp开发框架设计体系的开发_第1页
基于struts2和ibatis的jsp开发框架设计体系的开发_第2页
基于struts2和ibatis的jsp开发框架设计体系的开发_第3页
基于struts2和ibatis的jsp开发框架设计体系的开发_第4页
基于struts2和ibatis的jsp开发框架设计体系的开发_第5页
资源描述:

《基于struts2和ibatis的jsp开发框架设计体系的开发》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于Struts2和iBATIS的JSP开发框架设计体系的开发 JSP(JavaServerPages)是常见的B/S架构(Broethod=query>  /list_s.jsp  /list_t.jsp    Struts2的拦截器机制还能对所有请求做相同的处理[4]。Struts2的拦截器机制如图1所示。  图1Struts2拦截器原理  图1中虚线框起来的部分显示,拦截器可以在Action调用前后增加一些功能模块。使用拦截器,不需要每个Action自己去调用这些功能模块,而是由Struts2的配置自动为Action增加这些模块。这可以解决引言

2、中提出的第一个问题。  1.2iBATIS框架  iBATIS是一个持久层框架。笔者所在学校的VC的思想,数据显示和业务处理是相互独立的,分开后可以降低耦合度,把Model所代表的业务逻辑和数据存取分开,可以进一步降低耦合度。因此,在笔者设计的框架中,后台采用了比较流行的Action-Service-Dao三层结构。开发框架结构如图2所示。  图2JSP应用开发框架结构图  2.1异常处理  系统运行过程中有可能会遇到X络中断,数据库崩溃等业务无关的问题,还有可能出现用户查找的数据不存在、重复提交数据等业务相关的错误。框架提供了统一的方式处理这些异常和错误

3、。框架的异常处理结构如图3所示。  图3异常处理结构图  图3中的SystemException和BusinessException是自定义的两个异常类,分别表示业务无关的异常和业务相关的错误。这两个异常类不需要有任何的实质性的处理,只需要能记录异常信息即可。  2.2Dao层接口设计  Dao层的接口BasicDao仅提供五个方法:  publicinterfaceBasicDao{  publicListselect(BasicVOvo);  publicintselectCount(BasicVOvo);  publicvoidinsert(Basi

4、cVOvo);  publicvoidupdate(BasicVOvo);  publicvoiddelete(BasicVOvo);  }  这样设计,避免了Dao层方法过度重载和对外接口频繁改动。Dao层接口简单固定,所以Service层无需等待Dao层完全实现就可以进行编码和初步测试,开发过程中也不需要和Dao层的开发人员进行过多沟通。 假如某个具体的Dao层的类因为性能或者其他原因,需要更多个性化方法,可以自行添加其他方法。  3JSP应用开发框架的实现  实现这个框架,需要为其加上统一的权限验证和异常处理功能,并使用iBATIS框架实现Dao层。

5、  3.1权限验证和异常处理  权限验证应该添加在每次Action调用之前,而异常处理应该是捕获Action抛出的异常,发生在Action调用之后。这两个功能都可以借助Struts2的拦截器机制实现。因为权限验证和异常处理是针对整个系统的,所以笔者在同一个拦截器MyInterceptor里实现(也可以分在两个拦截器里实现)。  MyInterceptor的核心代码如下:  publicclassMyInterceptor  extendsAbstractInterceptor{  Override  publicStringintercept(  Acti

6、onInvocationarg0)  {  Stringresult=success;  interrorType=0;  if(用户未登录){  result=error;  errorType=nologin;  }elseif(用户没有权限){  result=error;  errorType=noauthor;  }else{  try{  result=arg0.invoke();  }catch(Exceptione){  result=error;  errorType=exception;  }  }  returnresult;  } 

7、 }  系统中不管是出现异常还是业务相关的错误(包括未登录和没有权限),MyInterceptor都会返回error。在Struts2里配置error对应的result是一个链式请求mngerror.action,接下来就会进入mngerror对应的方法去处理。  3.2Dao层具体实现  首先用iBATIS的配置文件SqlMapConfig.xml创建一个SqlMapClient对象,核心代码如下:  Readerreader=Resources.  getResourceAsReader(SqlMapConfig.xml);  SqlMapClient

8、sqlMapper=SqlMapClientBuilder.  b

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。