優化servlet,減少servlet的數量,便於開發與維護。現在是一個功能一個Servlet,將其優化為一個模塊一個Servlet,BaseServlet的抽取和優化,相當於在數據庫中一張表對應一個Servlet,在Servlet中提供不同的方法,完成用戶的請求。
異常顯示:沒有這樣的方法。
問題所在:方法的聲明是protected受保護的,
解決方法:
1. 不好的方式: 聲明為protected的方法要想被訪問到,獲取方法的時候我們要忽略訪問修飾符,用
Method method = this.getClass().getDeclaredMethod(methodName, HttpServletRequest.class, HttpServletResponse.class);
忽略訪問權限修飾符獲取方法,然后暴力反射method.setAccessible(true);
這樣做包括私有的方法都可以獲取到,並且可以執行,但是這樣的做法不好,因為在servlet里面一些私有的方法並不像被別人
訪問到。
2. 最好的方式: 把這些方法的權限修飾符修改成public就好了。