浏览器报错
老师,输入网址http://localhost:8080/index.html 页面正常显示,但浏览器报错 : Failed to load resource: net::ERR_INCOMPLETE_CHUNKED_ENCODING ,请帮忙看看是什么原因?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | package com.imooc.filter; import javax.servlet.*; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; // 设备适配 过滤器,输入localhost:8080/index.html首页后,自动适配pc端还是手机端 @WebFilter (filterName = "daf" ,urlPatterns = "*.html" ) // 5.我们只希望对uri已.html的页面进行拦截和重新定向 public class DeviceAdapterFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { System.out.println( "适配器过滤器已初始化" ); } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req=(HttpServletRequest)request; HttpServletResponse resp=(HttpServletResponse)response; //3.作为 RequestURI,它是隶属于HttpServletRequest接口,URI是Http通讯才会使用到的一个特性 String uri=req.getRequestURI(); //获取uri/index.html -> /mobile/index.html / /desktop/index.html String userAgent=req.getHeader( "User-Agent" ); //4.获取用户环境 System.out.println( "获取到的uri为:" +uri); System.out.println( "获取到的User-Agent为:" +userAgent); String targetUri= null ; //7.判断如果已经对字符串处理过(适配手机/pc),则将响应向后传递,不做额外处理 if (uri.startsWith( "/desktop" )||uri.startsWith( "/mobile" )){ chain.doFilter(req,resp); } else { if (userAgent.toLowerCase().indexOf( "android" )!=- 1 ||userAgent.toLowerCase().indexOf( "iPhone" )!=- 1 ){ targetUri= "/mobile" +uri; //为uri增加前缀,代表手机端 /mobile/index.html System.out.println( "移动端设备正在访问,重新跳转URI:" + targetUri); } else { targetUri= "/desktop" +uri; //为uri增加前缀,代表pc端 System.out.println( "PC端设备正在访问,重新跳转URI:" + targetUri); } } // 6.注意:响应重定向的过程中会重新通过浏览器发起请求,那自然也会被过滤器拦截到,每执行一次,都会在原有uri增加前缀,一直出现循环跳转,导致浏览器无法正常显示; resp.sendRedirect(targetUri); } @Override public void destroy() { System.out.println( "适配器过滤器已摧毁" ); } } |
1 2 3 4 5 6 7 8 9 10 11 12 | <!DOCTYPE html> < html lang = "en" > < head > < meta charset = "UTF-8" > < title >Title</ title > </ head > <!-- 1.模拟pc端主页 --> < body > < img src = "/image/pc.png" style = "width: 100%" > </ body > </ html > |
1 2 3 4 5 6 7 8 9 10 11 12 | <!DOCTYPE html> < html lang = "en" > < head > < meta charset = "UTF-8" > < title >Title</ title > </ head > <!-- 2.模拟手机端主页 --> < body > < img src = "/image/mobile.png" style = "width: 100%" > </ body > </ html > |
26
收起
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧