开发者社区> 问答> 正文

web项目不报错,页面确显示错误 ?报错

web项目部署到tomcat之后,后台没有报错,用浏览器访问就出现如下的页面图片说明
右键复制图片地址单独访问的话没有任何问题。

展开
收起
爱吃鱼的程序员 2020-06-23 16:07:23 789 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    没有看到报错的信息。

    打开游览器的控制台,看看url对不对。是不是路径少写了"/"什么的

    图片不能显示是图片的url不对,js文件找不到是另外的问题。

    首先,你要确定好你的图片的访问位置是否存在,比如图片你应该的位置是你的项目部署在tomcat的位置,比如:你通过localhost:8080/myApp/
    这样的位置可以访问到你的项目的页面,那么,你的图片的前面就应该是这一串的字符,在加上你的图片位置如:项目发布在tomcat-6.0.35\webapps\myApp下有一个专门放图片的文件夹img中有一张图片1.jpg,你的页面的图片访问位置就应该是localhost:8080/myApp/img/1.jpg,你这种可以直接访问图片地址,但是发不了就找不到图片的话,有可能是你的图片路径写的是绝对路径,认真检查一下吧

    加个路径过滤试试,
    @WebFilter(filterName="/UrlFilter",urlPatterns="/*",
    initParams={@WebInitParam(name="DEFAULT_URI_ENCODE",value="UTF-8")})
    publicclassUrlFilterimplementsFilter{

    publicfinalstaticStringDEFAULT_URI_ENCODE="UTF-8";privateFilterConfigconfig=null;privateStringencode=null;@Overridepublicvoidinit(FilterConfigconfig)throwsServletException{this.config=config;this.encode=config.getInitParameter("DEFAULT_URI_ENCODE");if(this.encode==null){this.encode=DEFAULT_URI_ENCODE;}}@OverridepublicvoiddoFilter(ServletRequestreq,ServletResponseres,FilterChainchain)throwsIOException,ServletException{HttpServletRequestrequest=(HttpServletRequest)req;Stringuri=request.getRequestURI();Stringch=URLDecoder.decode(uri,encode);if(uri.equals(ch)){chain.doFilter(req,res);return;}ch=ch.substring(request.getContextPath().length());config.getServletContext().getRequestDispatcher(ch).forward(req,res);}@Overridepublicvoiddestroy(){config=null;}

    }

    可以F12查看一下你的图片还有JS、CSS的路径,对比一下路径对么

    2020-06-23 16:07:43
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Web应用系统性能优化 立即下载
高性能Web架构之缓存体系 立即下载
PWA:移动Web的现在与未来 立即下载