首先我们需要去web.xml里面添加过滤器
<!--添加过滤器,解决basepath路径的问题-->
<filter>
<filter-name>ContextPath</filter-name>
<filter-class>Video.web.filter.ContextFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ContextPath</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
然后去web子工程的filter包里面,创建一个ContextFilter
public class ContextFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
String path=request.getScheme()+"://"+request.getServerName()+(request.getServerPort()==80?"" : ":"+request.getServerPort())+request.getContextPath();
request.setAttribute("basePath",path);
filterChain.doFilter(request,servletResponse);
}
@Override
public void destroy() {
}
}
最后去前端页面里面
把img的,link的href还有scrip的src路径方面都加上 ${basePath} 里面的 basePath 是根据上面ContextFilter设定的
request.setAttribute(“basePath”,path);来确定的。