NutzCN Logo
问答 通过URL访问静态文件的问题
发布于 2300天前 作者 qq_30fdbc0f 1749 次浏览 复制 上一个帖子 下一个帖子
标签:

目前能通过url访问任何静态文件,不管是exclusions中指定的目录还是没有指定的目录,如
通过url访问静态文件:http://localhost/files/20180805/697476b8971343d5b9a987de24a3fc09.mp3
web.xml配置如下:

	<filter>
		<filter-name>nutz</filter-name>
		<filter-class>org.nutz.mvc.NutFilter</filter-class>
		<init-param>
			<param-name>modules</param-name>
			<param-value>org.base.general.controllers.MainModule</param-value>
		</init-param>
		<init-param>
			<param-name>exclusions</param-name>
			<param-value>/res/*</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>nutz</filter-name>
		<url-pattern>/*</url-pattern>
		<dispatcher>REQUEST</dispatcher>
		<dispatcher>FORWARD</dispatcher>
		<dispatcher>INCLUDE</dispatcher>
	</filter-mapping>

调试发现

 ActionInvoker invoker = mapping.get(ac);

为空,所以返回false,直接执行 nextChain(request, response, chain);了

  if (!isExclusion(matchUrl)) {
                if (handler.handle(request, response))
                    return;
            }
            nextChain(request, response, chain);

问题1:我是不是配置有问题才导致的获取动作连为空?还是通过url路径访问静态文件时动作连本来就为空。
问题2:如果是问题1的后者,那这样设计的目的是什么?
问题3:如何禁止通过url直接访问文件?这 个问题是在容器层面上解决好还是框架层面上解决好?
问题4:如果是问题1的后者,那web.xml中的exclusions有没有意义

1 回复

有对应的入口方法才会有ActionInvoker返回

添加回复
请先登陆
回到顶部