因为web-inf下,应用服务器把它指为禁访目录,即直接在浏览器里是不能访问到的。但是可以让servlet进行访问,如web-inf下有a.jsp则可以用request.getRequestDispatcher("/WEB-INF/a.jsp").forward(request,response);
如果你想访问web-inf下的htm文件的话,用request.getRequestDispatcher("/WEB-INF/a.htm").forward(request,response);是访问不了的。原因很简单,jsp就是servlet,会被编译成class文件,而htm的就不行了。
所以需要配置以下conf下的web.xml文件才能去访问htm。
具体实现如下:
用打开tomcat安装目录下conf下的web.xml文件,找到
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
然后在它下面添加
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
这样的话,你就能用request.getRequestDispatcher("/WEB-INF/a.htm").forward(request,response);去访问web-inf下的htm了
(补充一句.....servlet处理html请求时。。。servlet接受请求,通过流...通过servlet编码读取html网页内容........如果出现乱码需要考虑处理html类的servlet)
servletContent接口中提供了还定义了一些访问web应用程序的内部资源文件的方法
1、getRescoursePaths()
返回一个java.util.set集合对象!set集合对象中包含了目录下所有子目录和文件的路径名称!都用'/'开头!表示当前应用程序根目录!
例如 getResourcePaths("/")返回以下
/index.jsp
/web-inf/
当然也可以访问web-inf下的资源文件!
2、getResource()
用法同上 只是返回映射到某个资源上的URL对象!
3、getResourceAsStream()
返回连接到某个资源上的inputstream对象!!
也可以用Class.getResource ()与Class.getResourceAsStream()方法
获得资源文件!!
看下面的日志:
http://blog.csdn.net/lz12366007/archive/2009/10/29/4744511.aspx
下面讲讲html的访问原理
客户端对静态文件html和图片的访问其实都是用缺省servlet来完成相应的!
http://blog.csdn.net/hjjk123/archive/2010/04/07/5459268.aspx
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hjjk123/archive/2010/04/01/5442651.aspx
如果你想访问web-inf下的htm文件的话,用request.getRequestDispatcher("/WEB-INF/a.htm").forward(request,response);是访问不了的。原因很简单,jsp就是servlet,会被编译成class文件,而htm的就不行了。
所以需要配置以下conf下的web.xml文件才能去访问htm。
具体实现如下:
用打开tomcat安装目录下conf下的web.xml文件,找到
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
然后在它下面添加
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
这样的话,你就能用request.getRequestDispatcher("/WEB-INF/a.htm").forward(request,response);去访问web-inf下的htm了
(补充一句.....servlet处理html请求时。。。servlet接受请求,通过流...通过servlet编码读取html网页内容........如果出现乱码需要考虑处理html类的servlet)
servletContent接口中提供了还定义了一些访问web应用程序的内部资源文件的方法
1、getRescoursePaths()
返回一个java.util.set集合对象!set集合对象中包含了目录下所有子目录和文件的路径名称!都用'/'开头!表示当前应用程序根目录!
例如 getResourcePaths("/")返回以下
/index.jsp
/web-inf/
当然也可以访问web-inf下的资源文件!
2、getResource()
用法同上 只是返回映射到某个资源上的URL对象!
3、getResourceAsStream()
返回连接到某个资源上的inputstream对象!!
也可以用Class.getResource ()与Class.getResourceAsStream()方法
获得资源文件!!
看下面的日志:
http://blog.csdn.net/lz12366007/archive/2009/10/29/4744511.aspx
下面讲讲html的访问原理
客户端对静态文件html和图片的访问其实都是用缺省servlet来完成相应的!
http://blog.csdn.net/hjjk123/archive/2010/04/07/5459268.aspx
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hjjk123/archive/2010/04/01/5442651.aspx