哪位能帮助一下,JAVA中我运行页面时不能打开,总是出现404错误,怎么回事;用的是Tomcat7.0,win7的系统,

2024-12-03 10:06:34
推荐回答(5个)
回答1:

StatusCode 似乎 Servelt API中,无论是 Filter Wrapper Reponse,都没有提供 get的方法。
以下是一个从网上找到的解决方案。

1.先实现一个对Response的包装器:
public class StatusExposingServletResponse extends HttpServletResponseWrapper {

private int httpStatus;

public StatusExposingServletResponse(HttpServletResponse response) {
super(response);
}

@Override
public void sendError(int sc) throws IOException {
httpStatus = sc;
super.sendError(sc);
}

@Override
public void sendError(int sc, String msg) throws IOException {
httpStatus = sc;
super.sendError(sc, msg);
}

@Override
public void setStatus(int sc) {
httpStatus = sc;
super.setStatus(sc);
}

public int getStatus() {
return httpStatus;
}

}

2, 然后实现一个Filter来替换原始的HttpServletResponse,这样你就可以在Filter里面取到statusCode了

public class StatusReportingFilter implements Filter {

public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
StatusExposingServletResponse response = new StatusExposingServletResponse((HttpServletResponse)res);
chain.doFilter(req, response);
int status = response.getStatus();
// report 在这儿你就得到状态码了。
}

public void init(FilterConfig config) throws ServletException {
//empty
}

public void destroy() {
// empty
}

}

回答2:

文件没找到,路径写错了。或者是你TOMCAT配置错了

回答3:

404错误是路径的问题!还有就是请求的路径有冲突!

回答4:

那是找不到页面,是你访问路径写错了

回答5:

路径错误,去看一下你专业的时候的路径,然后改正一下就可以了.