当前位置: 首页 > 知识库问答 >
问题:

为什么我的Java servlet自动登录代码适用于Firefox而不适用于IE?

宦翔
2023-03-14

我接手了一个Sring MVC项目,需要改变它的行为,所以在我的servlet中我发送了一个get请求来自动登录,我的servlet代码如下所示:

...
  public class ServletFilter implements Filter
  {
    int Count=0;
    ...

    public void doFilter(ServletRequest servletRequest,ServletResponse servletResponse,FilterChain filterChain) throws IOException,ServletException
    {

      if (Count==0)
      {
        String Login_URI="http://Example.com/SupportCenter/login.html?userName="+userName+"&password="+password;
        Count++;
        String result=sendGetRequest(Login_URI);
      }
    ...

      private String sendGetRequest(String url)
      { 
        StringBuffer response=new StringBuffer();
        String USER_AGENT="Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)";
        // String USER_AGENT="Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0";

        try
        {
          URL obj=new URL(url);
          HttpURLConnection con=(HttpURLConnection)obj.openConnection();
          con.setRequestMethod("GET");
          con.setRequestProperty("User-Agent", USER_AGENT);

          int responseCode = con.getResponseCode();
          System.out.println("\nSending 'GET' request to URL : "+url);
    //    System.out.println("Response Code : "+responseCode);

          BufferedReader in=new BufferedReader(new InputStreamReader(con.getInputStream()));
          String inputLine;

          while ((inputLine=in.readLine()) != null) { response.append(inputLine); }
          in.close();
    //    System.out.println(response.toString());
        }
        catch (Exception e) { e.printStackTrace(); }
        return response.toString();
      }
    ...
    }

当我用Firefox运行它时,它让我登录,但在IE中不起作用。

我还手动粘贴了URL:

http://Example.com/SupportCenter/login.html?userName=UID

进入两个broswers,他们都让我登录。那么,为什么当我的servlet在IE中运行时,它无法让我登录?我如何看到浏览器和servlet之间的幕后交互,所以我模拟了这一点?

共有1个答案

汝臻
2023-03-14

我找到了原因,打开cookies就解决了问题。

 类似资料:
  • 问题内容: 假设我有这个模型: 现在,如果我想高效地查看相册中的一部分照片。我这样做是这样的: 这只会执行两个查询,这正是我所期望的(一个查询得到相册,然后一个查询,例如“ SELECT * IN photos WHERE photoalbum_id IN()”。 一切都很棒。 但是,如果我这样做: 然后用!进行大量查询!我是在做错什么,还是django不够聪明,以至于它已经获取了所有照片并可以在

  • 因此,下面的代码适用于一个活动,但当我使用onCreateView将其添加到一个片段中时,应用程序就会崩溃 Fragment公共类步骤扩展Fragment{ 12-13 15:17:15.062 984-984/com.stephenh.daytrack.daytrack.daytrackstephenh E/AndroidRuntime:致命异常:主进程:com.stephenh.daytrac

  • 问题内容: 我刚刚更新到Firefox 32,当我尝试运行Selenium Webdriver Test时,我得到以下信息 我期望能够正常运行测试。 有没有人遇到过同样的事情?您是如何解决该问题的? selenium版本:2.41.0(作为Nuget软件包安装)操作系统:Windows 7浏览器:Firefox浏览器版本:32 问题答案: Selenium2.41.0正式支持的最新Firefox版

  • 问题内容: 我有一个包含两个内部div的容器div;两者在容器中的宽度和高度均应为100%。 我将两个内部div都设置为100%高度。在Firefox中效果很好,但是在IE中,div不会拉伸到100%的高度,而只会拉伸其中文本的高度。 以下是样式表的简化版本。 我做错什么了吗?还是我错过了任何Firefox / IE怪癖? 问题答案: 我认为“在Firefox中工作正常”仅在 Quirks模式下

  • 问题内容: 以下代码可在Google Chrome beta和IE 7中运行。但是,Firefox似乎对此有问题。我怀疑这是我的CSS文件如何包含的问题,因为我知道Firefox对跨域导入不太友好。 但这仅仅是静态HTML,而没有跨域问题。 在我的landing-page.html上,我像这样进行CSS导入: 在main.css中,我还有另一个导入,例如: 在type.css中,我有以下声明: 我

  • 为什么JSF2/Facelet的ui:repeat不接受java。util。迭代器的值?可以在迭代器后面隐藏如此多的实现和内存节约,因为长度不需要知道,所以拥有它是非常有用的。但是相反,我需要将迭代器转换为列表,并抛弃所有优点,以便ui:repeat。 可能有阶段、时间或可序列化的原因,但我对可用文档的浏览并没有给出这些原因。我们还没有使这一不可能成为可能的科学吗?