问题描述
servlet和jsp由tomcat的servlet引擎统一管理,servlet的资源地址都有RequestDispacher包装。当用户访问html文件的时候,tomcat会为该html文件生成servlet来处理请求和生成响应吗?有专门的RequestDispacher包装吗?另外的资源呢?如css文件,js文件,和图片等等。找不到这方面的资料查,向各位高人寻求帮助。 问题补充:所有的请求会走url-pattern。在TOMCAT_HOME/conf/web.xml中找到了Default Servlet的配置,看上面的英文注释,貌似url-pattern找不到合适的Servlet,会用这个Default Servlet来处理静态文件。看来还是要找个机会去读读源代码。我就是对比较偏比较古怪的事情有兴趣,有人愿意一起研究研究吗?哈哈哈。
解决方案
会走。TOMCAT 会有个默认的处理静态资源处理。只要,前面的Servlet匹配 不成功就会自动默认为静态资源。
解决方案二:
同感,是不会走的,
解决方案三:
访问html,肯定不会走的。
解决方案四:
访问的html页面页面与jsp页面不同,属于静态资源(顺便提下Apache服务器,就是专门处理静态请求的服务器),而web服务器在接受到页面请求后,首先判断是否为静态资源,如果是,则直接查找,并以流的形式返回,如果不是静态资源,才走另外一条路,即:先将jsp转servle,再在servlet中打印html页面,并以流的形式返回客户端。
解决方案五:
在web.xml里面,如果<url-pattern>/*</url-pattern><servlet-mapping>servlet拦截(匹配)到你得请求,然后做一些处理,再把response写给你你可以完全不需要servlet,你获取一个http请求,把html css js写回去就可以了
解决方案六:
容器默认是不处理这些请求的,但是如果自己设置过滤器,就可以按自己的方式处理了...
解决方案七:
在web.xml里配置如果没配就没有.*.dostruts1 时代
解决方案八:
额,个人认为servlet引擎只为servlet服务,即只处理servlet请求。而对一般的资源,例如html css js等,是不会通过servlet引擎的,而是由web应用服务器处理。ps:不明白你怎么会有这种想法呢?