web项目部署到tomcat之后,后台没有报错,用浏览器访问就出现如下的页面
右键复制图片地址单独访问的话没有任何问题。
没有看到报错的信息。
打开游览器的控制台,看看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")})
public class UrlFilter implements Filter {
public final static String DEFAULT_URI_ENCODE = "UTF-8";
private FilterConfig config = null;
private String encode = null;
@Override
public void init(FilterConfig config) throws ServletException {
this.config = config;
this.encode = config.getInitParameter("DEFAULT_URI_ENCODE");
if(this.encode == null) {
this.encode = DEFAULT_URI_ENCODE;
}
}
@Override
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
String uri = request.getRequestURI();
String ch = 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);
}
@Override
public void destroy() {
config = null;
}
}
可以F12查看一下你的图片还有JS、CSS的路径,对比一下路径对么