亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

java基于包結構的請求路由實現實例分享

2019-11-26 15:49:25
字體:
來源:轉載
供稿:網友

WebFilter.java

復制代碼 代碼如下:

package com.hongyuan.route;

import java.io.File;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;

public class WebFilter implements Filter {

 public static final String BASE_PACKAGE="com.hongyuan";
 public static final String CLASS_FLAG="Action";
 @Override
 public void destroy() {}

 @Override
 public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {

  if(!hasResouce(request)){

   String requestPath=((HttpServletRequest)request).getServletPath();
   if(requestPath.indexOf(".")>=0){
    requestPath=requestPath.substring(0, requestPath.indexOf("."));
   }
   if(requestPath.endsWith("/")){
    requestPath=requestPath.substring(0, requestPath.length()-1);
   }
   //獲取請求的類全限定名
   String className=BASE_PACKAGE+requestPath.replaceAll("/", ".")+CLASS_FLAG;
   //獲取請求方法名稱
   String methodName=request.getParameter("method");
   if(methodName==null||"".equals(methodName.trim())){
    methodName="index";
   }
   try {
    //獲取處理類并響應請求
    Class clazz=Class.forName(className);
    Object instance=this.initContext(clazz,request,response);
    Method method=clazz.getMethod(methodName, new Class[]{});
    Object result=method.invoke(instance, new Object[]{});
    response.getWriter().print(result);
   } catch (Exception e) {
    e.printStackTrace(response.getWriter());
   }
  }else{
   chain.doFilter(request, response);
  }

 }
 //判斷是否存在請求的資源
 private boolean hasResouce(ServletRequest request) {
  String realPath=request.getServletContext().getRealPath(((HttpServletRequest)request).getServletPath());
  File resouce=new File(realPath);
  if(resouce.exists()){
   return true;
  }else{
   return false;
  }
 }
 //初始化上下文
 private Object initContext(Class clazz, ServletRequest request,
   ServletResponse response) throws Exception{
  Object instance=clazz.newInstance();
  clazz.getMethod("setRequest",new Class[]{ServletRequest.class}).invoke(instance, new Object[]{request});
  clazz.getMethod("setResponse", new Class[]{ServletResponse.class}).invoke(instance, new Object[]{response});
  return instance;
 }

 @Override
 public void init(FilterConfig arg0) throws ServletException {}

}


BaseAction.java

復制代碼 代碼如下:

package com.hongyuan.route;

import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public abstract class BaseAction {
 protected ServletRequest request=null;
 protected ServletResponse response=null;

 public ServletRequest getRequest() {
  return request;
 }
 public void setRequest(ServletRequest request) {
  this.request = request;
 }
 public ServletResponse getResponse() {
  return response;
 }
 public void setResponse(ServletResponse response) {
  this.response = response;
 }

}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产91精品不卡视频| 欧美性猛交xxxxx免费看| 国产97人人超碰caoprom| 欧美大片免费观看| 亚洲一区二区在线| 亚洲性69xxxbbb| 日韩在线播放av| 亚洲成**性毛茸茸| 超碰精品一区二区三区乱码| 亚洲国产欧美在线成人app| 91在线观看免费网站| 欧美日韩第一视频| 91av视频在线观看| 日韩大片在线观看视频| 91在线精品视频| 一区二区欧美在线| 亚洲第一男人av| 国产亚洲欧洲在线| 国产精品国产自产拍高清av水多| 日韩精品在线视频观看| 海角国产乱辈乱精品视频| 欧美高清不卡在线| 成人免费自拍视频| 欧美自拍视频在线| 亚洲乱码av中文一区二区| 国产精品aaa| 久久久久久高潮国产精品视| 精品av在线播放| 国产精品美女在线观看| 欧美成人精品在线视频| 综合欧美国产视频二区| 岛国av午夜精品| 国产日韩欧美视频在线| 日韩中文字幕在线视频播放| 中文字幕成人在线| 日韩精品中文字幕有码专区| 亚洲free性xxxx护士白浆| 国内精品久久久久久影视8| 国产一区二区三区视频| 久久最新资源网| 中文字幕成人精品久久不卡| xx视频.9999.com| 欧美性猛交xxxxx免费看| 这里只有精品在线观看| 97精品国产91久久久久久| 中文字幕精品网| 亚洲电影成人av99爱色| 久久久久久97| 2019中文字幕在线免费观看| 欧美激情videoshd| 亚洲精品一区二区网址| 欧美精品在线免费| 成人美女免费网站视频| 91精品久久久久久综合乱菊| 麻豆成人在线看| 欧美成人精品一区| 亚洲精品久久久久中文字幕二区| 狠狠躁夜夜躁人人爽天天天天97| 姬川优奈aav一区二区| 一区二区在线免费视频| 亚洲成人黄色网址| 97精品国产97久久久久久| 97视频在线观看免费高清完整版在线观看| 中文字幕在线观看亚洲| 伊人久久久久久久久久| 国产精品久久久久aaaa九色| 亚洲电影免费观看高清完整版| 中文字幕亚洲欧美日韩在线不卡| 亚洲最大成人在线| 欧洲成人免费视频| 亚洲激情电影中文字幕| 国产精品永久免费在线| 欧美成人午夜激情| 亚洲欧美在线看| 成人高清视频观看www| 国产精品久久久久久久久久小说| 日韩福利在线播放| 久久天天躁狠狠躁夜夜躁| 国产一区二区久久精品| 亚洲欧美在线磁力| 亚洲xxxx在线| 国产成人av在线| 欧美日韩精品二区| 欧美国产高跟鞋裸体秀xxxhd| 亚洲成人av中文字幕| 浅井舞香一区二区| 日韩在线播放视频| 久久视频免费在线播放| 欧美视频一二三| 岛国视频午夜一区免费在线观看| 国产91精品最新在线播放| 亚洲国产91精品在线观看| 国产欧美一区二区白浆黑人| 日韩视频免费看| 成人黄色午夜影院| www国产亚洲精品久久网站| 中文字幕综合在线| 久久久电影免费观看完整版| 亚洲精品欧美极品| 亚洲奶大毛多的老太婆| 欧美精品日韩三级| 国产色综合天天综合网| 久久久精品久久久| 91av视频在线免费观看| 最近2019中文免费高清视频观看www99| 国产亚洲欧洲高清一区| 欧美激情视频在线| 日韩成人激情视频| 国产精品视频26uuu| 日韩国产欧美区| 欧洲午夜精品久久久| 国产精品自拍小视频| 全球成人中文在线| 亚洲伊人一本大道中文字幕| 亚洲第一区第一页| 日韩av在线电影网| 亚洲最大av在线| 久久夜色精品国产| 中文字幕日韩综合av| 欧美日韩国产精品一区二区不卡中文| 久久夜色撩人精品| 久久久久日韩精品久久久男男| 一区二区三区视频免费在线观看| 色综合视频一区中文字幕| 国产日韩在线免费| 亚洲精品久久7777777| 日韩精品极品在线观看| 91嫩草在线视频| 中文字幕精品国产| 精品女同一区二区三区在线播放| 色先锋资源久久综合5566| 亚洲一级黄色片| 久久久久久18| 55夜色66夜色国产精品视频| 亚洲国产欧美一区| 久久精品视频在线播放| 亚洲天堂av在线播放| 91在线国产电影| 日韩在线视频网| 最近中文字幕2019免费| 91在线免费观看网站| 国产这里只有精品| 午夜欧美大片免费观看| 国产成人免费av电影| 亚洲国产精品成人av| 国产精品日韩欧美大师| 久久欧美在线电影| 国产精品精品视频一区二区三区| 日本一区二区三区四区视频| 色系列之999| 国产精品久久久久7777婷婷| 国产美女被下药99| 亚洲精品大尺度| 久久久国产精品x99av| 国产日韩欧美在线视频观看| 欧美一级大胆视频| 日韩精品中文字幕在线| 国产精品免费福利| 精品久久久久久久久久久久久久| 永久免费毛片在线播放不卡| 久久精品亚洲一区| 亚洲人成自拍网站| 色噜噜久久综合伊人一本| 日本一本a高清免费不卡|