加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SSH中的Aop使用

发布时间:2020-12-12 15:43:36 所属栏目:MsSql教程 来源:网络整理
导读:DAo层: import ?org.springframework.orm.hibernate3.support.HibernateDaoSupport; import ?org.springframework.orm.hibernate3.*; public ? class ?UserDao? extends ?HibernateDaoSupport?{ ???? ???? public ?User?queryUserByID(String?uid){ ????????
  1. DAo层:
  2. import?org.springframework.orm.hibernate3.support.HibernateDaoSupport;
  3. import?org.springframework.orm.hibernate3.*;
  4. public?class?UserDao?extends?HibernateDaoSupport?{
  5. ????
  6. ????public?User?queryUserByID(String?uid){
  7. ????????User?user=null;
  8. ????????HibernateTemplate?template=this.getHibernateTemplate();
  9. ????????user=(User)template.get(User.class,?uid);???????
  10. ????????return?user;
  11. ????}
  12. ????
  13. ????
  14. ????
  15. }
  16. bo层:
  17. IUser.java:
  18. public?interface?IUserBO?{
  19. ????public?boolean?login(String?id,String?pwd);
  20. ????
  21. }
  22. UserBo.java:
  23. public?class?UserBo?implements?IUserBO?{
  24. ????private?UserDao?dao=null;
  25. ????private?User?loginUser=null;
  26. ????private?String?msg="";
  27. ????
  28. ????public?void?setDao(UserDao?dao)?{
  29. ????????this.dao?=?dao;
  30. ????}
  31. ????public?boolean?login(String?id,String?pwd){
  32. ????????boolean?rtn=false;
  33. ????????
  34. ????????User?temp=?dao.queryUserByID(id);
  35. ????????if(temp!=null){
  36. ????????????if(temp.getUserPwd().equals(pwd)){
  37. ????????????????this.setLoginUser(temp);????????????????
  38. ????????????????this.msg="登陆成功!!!";
  39. ????????????????rtn=true;
  40. ????????????}else{
  41. ????????????????this.msg="密码不正确!!!";
  42. ????????????}???????????
  43. ????????}else{
  44. ????????????this.msg="未找到该用户!!!";
  45. ????????}
  46. ????????
  47. ????????return?rtn;
  48. ????}
  49. ????public?User?getLoginUser()?{
  50. ????????return?loginUser;
  51. ????}
  52. ????private?void?setLoginUser(User?user)?{
  53. ????????this.loginUser=new?User();
  54. ????????loginUser.setUserID(user.getUserID());
  55. ????????loginUser.setUserName(user.getUserName());
  56. ????????loginUser.setUserPwd(user.getUserPwd());
  57. ????}
  58. ????public?String?getMsg()?{
  59. ????????return?msg;
  60. ????}
  61. ????
  62. }
  63. 测试bo:
  64. public?class?Test?{
  65. ????public?static?void?main(String[]?args)?{
  66. ????????ApplicationContext?ctx=new?FileSystemXmlApplicationContext?("/WebRoot/WEB-INF/beans.xml");
  67. ????????TestDao?dao=(TestDao)?ctx.getBean("testdao");
  68. ????????List?list=dao.query();
  69. ????????for(Object?obj?:list){
  70. ????????????Book?temp=(Book)obj;
  71. ????????????System.out.println(temp.getBookName()+":");
  72. ????????????Set?set=?temp.getAuthorset();
  73. ????????????for(Object?child:set){
  74. ????????????????Author?childnode=(Author)child;
  75. ????????????????System.out.println(childnode.getAuthorName());
  76. ????????????}
  77. ????????}
  78. ????????
  79. ????}
  80. }
  81. model层?我就省略了
  82. util层:使用aop方法后通知的代理机制
  83. SafeLogger.java:
  84. public?class?SafeLogger?implements?AfterReturningAdvice?{
  85. ????public?void?afterReturning(Object?result,?Method?method,?Object[]?args,?Object?target)?throws?Throwable?{
  86. ?????????
  87. ????????String?methodName=method.getName();
  88. ????????
  89. ????????if(methodName.equals("login")){
  90. ????????
  91. ????????????boolean?flag=?Boolean.parseBoolean(result.toString());
  92. ????????????if(flag){
  93. ????????????????String?uid=?args[0].toString();
  94. ????????????????Logger?logger=Logger.getRootLogger();
  95. ????????????????logger.warn("用户"+uid+"已登陆");
  96. ????????????}
  97. ????????}
  98. ????}
  99. }
  100. web层:
  101. ActionForm我省略了没什么可说的
  102. Action:
  103. public?class?LoginAction?extends?Action?{
  104. ????
  105. ????private?IUserBO?bo;
  106. ????
  107. ????public?void?setBo(IUserBO?bo)?{
  108. ????????this.bo?=?bo;
  109. ????}
  110. ????public?ActionForward?execute(ActionMapping?mapping,?ActionForm?form,
  111. ????????????HttpServletRequest?request,?HttpServletResponse?response)?{
  112. ????????//1
  113. ????????LoginForm?loginForm?=?(LoginForm)?form;
  114. ????????boolean?flag=false;
  115. ????????//2
  116. ????????if(bo.login(loginForm.getLoginID(),?loginForm.getLoginPwd())){
  117. ????????????flag=true;
  118. ????????}
  119. ????????//3
  120. ????????if(flag){
  121. ????????????return?mapping.findForward("success");
  122. ????????}else{
  123. ????????????return?mapping.findForward("failure");
  124. ????????}
  125. ????????
  126. ????}
  127. }
  128. struts-config.xml配置文件
  129. <struts-config>
  130. ??<data-sources?/>
  131. ??<form-beans?>
  132. ????<form-bean?name="loginForm"?type="lee.web.LoginForm"?/>
  133. ??</form-beans>
  134. ??<global-exceptions?/>
  135. ??<global-forwards?/>
  136. ??<action-mappings?>
  137. ????<action?attribute="loginForm"?input="/login.jsp"?name="loginForm"??path="/login"??scope="request"??type="org.springframework.web.struts.DelegatingActionProxy"?validate="true"?>
  138. ??????<forward?name="success"?path="/main.jsp"?/>
  139. ??????<forward?name="failure"?path="/error.jsp"?/>
  140. ????</action>
  141. ??</action-mappings>
  142. ??<message-resources?parameter="lee.web.UsersResources"?/>
  143. ??<plug-in?className="org.apache.struts.validator.ValidatorPlugIn">
  144. ????????<set-property?property="pathnames"?value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
  145. ??</plug-in>
  146. ??<plug-in?className="org.springframework.web.struts.ContextLoaderPlugIn">
  147. ????????<set-property?property="contextConfigLocation"?value="/WEB-INF/beans.xml"?/>
  148. ??</plug-in>
  149. </struts-config>
  150. 最后是spring的配置文件:
  151. <?xml?version="1.0"?encoding="UTF-8"?>
  152. <!DOCTYPE?beans?PUBLIC?"-//SPRING//DTD?BEAN//EN"?"http://www.springframework.org/dtd/spring-beans.dtd">
  153. <beans>
  154. ????<bean?id="myds"?class="org.apache.commons.dbcp.BasicDataSource">
  155. ????????<property?name="driverClassName">
  156. ????????????<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
  157. ????????</property>
  158. ????????<property?name="url">
  159. ????????????<value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Demo</value>
  160. ????????</property>
  161. ????????<property?name="username">
  162. ????????????<value>sa</value>
  163. ????????</property>
  164. ????????<property?name="password">
  165. ????????????<value>111</value>
  166. ????????</property>
  167. ????</bean>
  168. ????<bean?id="MySessionFactory"
  169. ????????class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  170. ????????<property?name="dataSource">
  171. ????????????<ref?bean="myds"?/>
  172. ????????</property>
  173. ????????<property?name="hibernateProperties">
  174. ????????????<props>
  175. ????????????????<prop?key="hibernate.dialect">
  176. ????????????????????org.hibernate.dialect.SQLServerDialect
  177. ????????????????</prop>
  178. ????????????</props>
  179. ????????</property>
  180. ????????<property?name="mappingResources">
  181. ????????????<list>
  182. ????????????????<value>ws/model/Users.xml</value>
  183. ????????????????<value>ws/model/Books.xml</value>
  184. ????????????</list>
  185. ????????</property>
  186. ????</bean>
  187. ????
  188. ????<bean?id="userdao"?class="ws.dao.UserDao"?singleton="true"?>
  189. ????????<property?name="sessionFactory"?ref="MySessionFactory"?/>
  190. ????</bean>
  191. ?????????<!--
  192. ????<bean?id="testdao"?class="ws.dao.TestDao"?singleton="true"?>
  193. ????????<property?name="sessionFactory"?ref="MySessionFactory"?/>
  194. ????</bean>
  195. ????-->
  196. ????<bean?id="userbo"?class="ws.bo.UserBo"?singleton="true"?>
  197. ????????<property?name="dao"?ref="userdao"?/>
  198. ????</bean>?
  199. ????
  200. ????
  201. ????<bean?id="logger"?class="ws.Util.SafeLogger"?/>
  202. ????<bean?id="userboProxy"?class="org.springframework.aop.framework.ProxyFactoryBean"?>
  203. ????????<property?name="proxyInterfaces"?value="ws.bo.IUserBO"?/>
  204. ????????<property?name="target"?ref="userbo"?/>
  205. ????????<property?name="interceptorNames">
  206. ????????????<list>
  207. ????????????????<value>logger</value>
  208. ????????????</list>
  209. ????????</property>
  210. ????</bean>
  211. ????<bean?name="/login"?class="ws.web.LoginAction"?singleton="false"?>
  212. ????????<property?name="bo"?ref="userboProxy"?/>
  213. ????</bean>
  214. ????
  215. </beans>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读