关于对html静态文件访问解析以及RequestDispatcher.include
2010-04-07 18:09
567 查看
客户端对静态文件html和图片的访问其实都是用缺省servlet来完成相应的!
这个就是缺省servlet的定义!就是那些不能解析的访问路径都由这个servlet解析!,具体的也就是访问html会通过getservletOutputStream返回ServletOutStream对象
然后由流原封不动的直接输出源文件流!!如果有乱码 可以在这两点考虑解决!
1、因为这个时候编码由html决定!所以检查html页面的编码是否合适
2、自定义一个servlet!
在这个servlet里进行调用html其实本质上时调用defaultServlet!
因为Tomcat的缺省servlet首先检查当前HttpServletRequest对象有没有PrinterWriter对象!如果已经调用则使用当前的PrinterWriter对象输出到客户端!!这时就可以间接设置字符编码了!!
下面再介绍下RequestDisptcher的include......
使用include方法进行转向时,servlet容器仍然保持其初始的Url路径和参数信息!!
也就是说如果在被调用者程序中检索访问路径时是调用者的路径!而不是被调用的!!
例如:HttpServletRequest.getRequestURL()!
另外
ServletRequest 接口中定义了 getRequestDispatcher()方法
ServletContext接口中也有这个方法
传递给这个方法的路径参数必须是以“/”开头表示当前web应用程序的根目录
区别在与
ServletRequest的这个方法的参数除了可以采用“/”开头的路径字符串 还可以采用非“/”开头的相对路径!!
但RequestDispatcher只能包含当前web应用程序的资源!!所以forward和include方法只能在同一个web应用程序中传递请求!!
这两个方法都可视web-inf文件夹下的资源文件!!
<servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
这个就是缺省servlet的定义!就是那些不能解析的访问路径都由这个servlet解析!,具体的也就是访问html会通过getservletOutputStream返回ServletOutStream对象
然后由流原封不动的直接输出源文件流!!如果有乱码 可以在这两点考虑解决!
1、因为这个时候编码由html决定!所以检查html页面的编码是否合适
2、自定义一个servlet!
在这个servlet里进行调用html其实本质上时调用defaultServlet!
public class testServlet extends HttpServlet { public void service(....) { response.setCharactorEncoding("gbk"); Printer out=response.getWriter(); RequestDispatcher rd=request.getRequestDispatcher ("/test.html"); rd.include(request,response); } }
因为Tomcat的缺省servlet首先检查当前HttpServletRequest对象有没有PrinterWriter对象!如果已经调用则使用当前的PrinterWriter对象输出到客户端!!这时就可以间接设置字符编码了!!
下面再介绍下RequestDisptcher的include......
使用include方法进行转向时,servlet容器仍然保持其初始的Url路径和参数信息!!
也就是说如果在被调用者程序中检索访问路径时是调用者的路径!而不是被调用的!!
例如:HttpServletRequest.getRequestURL()!
另外
ServletRequest 接口中定义了 getRequestDispatcher()方法
ServletContext接口中也有这个方法
传递给这个方法的路径参数必须是以“/”开头表示当前web应用程序的根目录
区别在与
ServletRequest的这个方法的参数除了可以采用“/”开头的路径字符串 还可以采用非“/”开头的相对路径!!
但RequestDispatcher只能包含当前web应用程序的资源!!所以forward和include方法只能在同一个web应用程序中传递请求!!
这两个方法都可视web-inf文件夹下的资源文件!!
相关文章推荐
- 访问web.inf文件.....关于访问html静态文件的tomcat原理解析.....
- 关于springmvc框架的web工程,从.xml到.java再到.jsp显示到网页上的过程,以及jsp静态文件的访问
- 解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
- 解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
- 关于springMVC在配置了json时 静态文件无法访问的问题
- 关于mac上没有include文件以及没有mysql.h的解决方案
- 简单粗暴JavaWeb-第五篇:直接访问HTML、图片文件等静态资源
- 关于springMVC访问静态文件404
- 用Nodejs搭建服务器访问html、css、JS等静态资源文件
- linux5平台下的NIS,NIF以及实现hosts文件共享使其客户端进行访问解析的综合实验!
- 二、jena解析关于基因的go.owl文件(创建、新增类、以及一些节点)
- Spring MVC 直接访问静态文件(html、jpg、js...)
- jsp关于include html、jsp等文件出现乱码问题的解决方案
- JSP中include静态文件HTML出乱码解决方案
- 关于spring mvc访问静态资源,包括html.js
- JSP中include静态文件HTML出乱码解决方案
- 关于jsp的静态include和动态include以及forword标签和param指令
- nginx缓存html静态文件,解析php 并反向代理IIS,使nginx和iis共存
- 日常问题记录--访问JSP文件时The method getDispatcherType() is undefined for the type HttpServletRequest
- cocos2d-x 当中访问WebServer服务器的方法,以及解析XML文件.