国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

SpringMultiAction的簡單示例

2019-11-18 11:37:48
字體:
供稿:網(wǎng)友

  先是一個(gè)簡單的eclipse的工程目錄結(jié)構(gòu),

SpringMultiAction的簡單示例



  簡單介紹我自己寫的MethodNameResolver和UrlHandlerMapping



  PathMethodNameResolver,根據(jù)url取得調(diào)用MultiAction的方法名稱,比如/user/userAdd.action,就可以調(diào)用到id為user的類的userAdd的方法來處理action



package com.zgc.test.multiaction;
import javax.servlet.http.HttpServletRequest;
import org.sPRingframework.web.servlet.mvc.multiaction.MethodNameResolver;
import org.springframework.web.servlet.mvc.multiaction.NoSUChRequestHandlingMethodException;
public class PathMethodNameResolver implements MethodNameResolver {
 public String getHandlerMethodName(HttpServletRequest request)
   throws NoSuchRequestHandlingMethodException {
  String uri=request.getRequestURI();
  int begin = uri.lastIndexOf(’/’);
  if (begin == -1) {
   begin = 0;
  }
  else {
   begin++;
  }
  int end;
  if (uri.indexOf(";") != -1) {
   end = uri.indexOf(";");
  }
  else if (uri.indexOf("?") != -1) {
   end = uri.indexOf("?");
  }
  else {
   end = uri.length();
  }
  String fileName = uri.substring(begin, end);
  if (fileName.indexOf(".") != -1) {
   fileName = fileName.substring(0, fileName.lastIndexOf("."));
  }
  return fileName;
 }
}



  DynamicUrlHandlerMapping,考慮到有的時(shí)候有非凡需求,所以就最后一個(gè)來指定方法,前面的來構(gòu)成beanname,如/admin/user/viewUser.action,就可以查找到adminUser這個(gè)id的類,然后調(diào)用viewUser這個(gè)方法。用到了lazy load而不是一開始就把所有的bean都放到工廠,有利于服務(wù)的啟動(dòng)速度(最近老是覺得這個(gè)煩),也可以不實(shí)例化一輩子都用不到的類(這種類可以刪除了)



package com.zgc.test.multiaction;
import org.apache.commons.lang.StringUtils;
import org.springframework.web.servlet.handler.AbstractUrlHandlerMapping;
public class DynamicUrlHandlerMapping extends AbstractUrlHandlerMapping {
 protected Object lookupHandler(String urlPath) {
  Object handler = super.lookupHandler(urlPath);
  if (handler == null) {
   String[] paths=urlPath.split("/");
   String beanName="";
   for(int i=0;i<paths.length-1;i++){
    beanName+=StringUtils.capitalize( paths[i]);
   }
   registerHandler(urlPath,StringUtils.uncapitalize(beanName));
   handler=super.lookupHandler(urlPath);
  }
  return handler;
 }
}





發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 虎林市| 淄博市| 伊宁县| 双江| 恭城| 永修县| 安远县| 扎鲁特旗| 化州市| 霍山县| 老河口市| 泽库县| 淳化县| 杭锦后旗| 浦江县| 清水河县| 那曲县| 郁南县| 将乐县| 大化| 图们市| 肥东县| 永寿县| 沁源县| 景德镇市| 屏东县| 河津市| 全椒县| 远安县| 云和县| 西丰县| 蒙城县| 石景山区| 莆田市| 手机| 深圳市| 柳林县| 新田县| 毕节市| 岚皋县| 修文县|