URL从tomcat返回404

时间:2017-10-26 05:55:31

标签: tomcat web-applications http-post

我目前对一种情况非常困惑,我有以下代码:

public String loginDetail(CloseableHttpClient httpClient, Userinfo user) throws Exception {
    HttpPost httppost = null;
    try {
        List<NameValuePair> formParams = new ArrayList<NameValuePair>();
        formParams.add(new BasicNameValuePair("j_username", user.getUsername()));
        formParams.add(new BasicNameValuePair("j_password", user.getPassword()));

        HttpEntity loginEntity = new UrlEncodedFormEntity(formParams, "UTF-8");
        httppost = new HttpPost("http://<URL>/j_spring_security_check");
        httppost.setEntity(loginEntity);
        CloseableHttpResponse loginResponse = httpClient.execute(httppost);
        String responseStr = new String(EntityUtils.toString(loginResponse.getEntity()).getBytes("ISO_8859_1"),
                "GBK");
        loginResponse.close();
        if (responseStr.contains("/common/index.jsp")) {
            return "Success";
        } else if (responseStr.contains("error=2")) {
            Utils.recordIncorrectUser(user);
            return Constants.INVALID_USER;
        } else if (!responseStr.contains("error=3")) {
            return Constants.InvalidPassword;
        }
        return Constants.SYS_ERROR;
    } finally {
        if (httppost != null) {
            httppost.abort();
        }
    }
}

问题在于,当我在独立应用程序中运行上述代码时,它工作正常并返回来自网站的响应,但是当我在tomcat web应用程序中输入相同的代码并访问相同的URL时它会返回给我404错误。 “HTTP错误404.找不到请求的资源。”

任何人都可以帮助我为什么会发生这种情况?有没有与重定向或其他相关的东西?

编辑: 我刚刚意识到它无法从tomcat中的webapplication访问任何外部URL,但是从独立应用程序我可以访问所有,我需要在tomcat中进行任何配置吗?

1 个答案:

答案 0 :(得分:0)

嗯,它得到了解决,在我的情况下,我执行了以下事情

  1. 禁用我的防火墙(没有工作)
  2. 删除了我的防病毒软件(avira)并重新启动了我的计算机(它工作正常)
  3. 希望它可以帮助那些面临这种问题的人

    编辑:我发现的另一个问题是我使用Astrill VPN导致其作为本地解析器工作,这就是为什么它出现404错误退出它也有帮助