为什么在此过滤器的参数还是arg0和arg1?

为什么在此过滤器的参数是arg0和arg1?过滤器代码如下:publicvoiddoFilter(ServletRequestarg0,ServletResponsear... 为什么在此过滤器的参数是arg0和arg1?
过滤器代码如下:
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {

HttpServletRequest request = (HttpServletRequest) arg0;
HttpServletResponse response = (HttpServletResponse) arg1;
HttpSession session = request.getSession(true);

String uriStr =request.getRequestURI();
System.out.println(">>>>>>>>>>>" + request.getRequestURI());

String uname=(String) session.getAttribute("name"); if (uname == null || "".equals(uname))
{
RequestDispatcher rd = arg0.getRequestDispatcher("/login.jsp");
rd.forward(arg0, arg1);

}
else {

arg2.doFilter(arg0, arg1);//这为什么还是argo。不是强转了吗》?

}

}
xml配置文件如下:
<filter>
<filter-name>LoginFilter</filter-name>
<filter-class>Common.LoginFilter</filter-class>

</filter>
<filter-mapping>
<filter-name>LoginFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
展开
 我来答
乌光QS
2012-09-13 · TA获得超过1365个赞
知道小有建树答主
回答量:464
采纳率:100%
帮助的人:442万
展开全部
这无所谓的,你写doFilter(request, response)也一样,性能方面不会有一丝丝的改善,强转是给编译器看的,不是给JVM看的。

而且写doFilter(arg0, arg1)有个好处,别人一看代码,不用看仔细,就知道,哦,你把原来进来的arg0,arg1原封不动转给下个filter了。你写doFilter(request, response),别人还要愣一愣,这俩玩意是啥啊?上下看看,哦,你就做了个强转,其实还是原来的东西,没动过。所以写成doFilter(arg0, arg1)的可读性比较高。
意法半导体(中国)投资有限公司
2023-06-12 广告
STM32F103C8T6是一款基于ARM Cortex-M3内核的微控制器,具有以下基本参数:1. 工作频率:72MHz2. 外部时钟:最高可达120MHz3. 存储器容量:64K bytes4. 数据总线宽度:32位5. 输入/输出端口... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式