小编Ran*_*ion的帖子

如何使用Java登录网站

我想访问网站https://myoffice.bt.com的某些页面,这需要使用java进行用户身份验证.我们必须先登录才能访问页面.我有以下代码的wriiten.

package root;

import java.io.IOException;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.UsernamePasswordCredentials;
import org.apache.commons.httpclient.auth.AuthScope;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;


public class Url
{
 public static void main(String[] args) throws IOException
 {
  HttpClient client = new HttpClient();

  client.getParams().setParameter(
      HttpMethodParams.USER_AGENT,
      "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2"
  );

  client.getState().setCredentials(
     new AuthScope("https://myoffice.bt.com", 443,  AuthScope.ANY_REALM),
     new UsernamePasswordCredentials("username", "password")  ); 

  PostMethod get = new PostMethod("https://myoffice.bt.com/youraccount/default.aspx");
  get.setDoAuthentication( true );
  System.out.println(get.getFollowRedirects());
  //get.setFollowRedirects(true);


  try {
    // execute the GET
     int status = client.executeMethod( get );

     // print …
Run Code Online (Sandbox Code Playgroud)

java forms-authentication httpclient

6
推荐指数
1
解决办法
2万
查看次数

Git如何通过多次提交存储大型文件?

所以我已经开始使用git了一段时间,并逐渐理解它是如何工作的.我理解的一个要点是 - 每次进行新提交时都会创建一个快照.当然,快照只包含已更改的文件和指向未更改文件的指针.

根据ProGit§1.3入门 - Git Basics

每次你在Git中提交或保存项目的状态时,它基本上都会记录当时所有文件的外观,并存储对该快照的引用.为了提高效率,如果文件没有改变,Git不会再次存储文件 - 只是指向它已存储的先前相同文件的链接.

但是,假设我有一个很大的文件,例如2GB的文本文件.我将该文件更改10次,因此每天进行10次提交,这是否意味着 - 我现在在我的计算机上有10个2GB文件?这似乎对我来说效率很低所以我相信情况可能并非如此.

有人可以澄清这种情况会发生什么吗?

git

6
推荐指数
1
解决办法
227
查看次数

IntelliJ - 黄瓜步骤定义案例

自从我升级到IntelliJ 15.0.3的最新社区版本后,每当我使用功能定义文件自动生成步骤定义时alt + enter,它都会以驼峰形式创建方法,而不是使用下划线的常规样式.

例如,它曾经像这样生成

@When("Cucumber is awesome")
public void cucumber_is_awesome() {}
Run Code Online (Sandbox Code Playgroud)

但现在它产生了通常的camelCase约定:

@When("Cucumber is awesome")
public void cucumberIsAwesome() {}
Run Code Online (Sandbox Code Playgroud)

有没有办法将此设置更改回第一个样式?

谢谢

intellij-idea cucumber cucumber-java

6
推荐指数
1
解决办法
644
查看次数

如何在图API中获取永久访问令牌

我在Facebook上创建了一个APP并使用图形API浏览器,我从应用程序下拉框中选择了我的应用程序,请求了具有manage_pages,offline_access和publish_stream权限的访问令牌.

使用此访问令牌,我成功地能够使用restfbAPI 在页面上发布消息,但是当我退出时,它开始抛出The session is invalid error.

我在几篇帖子中读到了不推荐使用offline_access的帖子.有人能告诉我如何获得永久访问令牌吗?

谢谢

facebook facebook-graph-api

5
推荐指数
1
解决办法
2万
查看次数

在 SQL Developer 中导入数据时指定日期格式

我正在尝试使用 Oracle SQL Developer 导入 CSV 文件中的数据。CSV 文件中的一列是日期,它采用 ISO-8601 格式2012-08-22T00:06:52.0Z,小数秒始终为 0。表中对应的列的类型为date。Oracle SQL Developer 可以选择在导入过程中指定日期格式,因此我将格式指定为

YYYY-MM-DD"T"HH24:MI:SS."0Z"
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明 但是导入过程失败,说无法识别日期格式。Oracle SQL Developer 以某种方式生成的插入语句正在从日期格式中删除双引号。

INSERT INTO TABLE(CREATION_DATE, LAST_MODIFIED_DATE) VALUES (to_date('2009-02-18T00:06:52.0Z', 'YYYY-MM-DDTHH24:MI:SS.0Z'),to_date('2012-08-30T00:06:52.0Z', 'YYYY-MM-DDTHH24:MI:SS.0Z'));
Run Code Online (Sandbox Code Playgroud)

有关如何解决此问题的任何建议?

oracle oracle-sqldeveloper

5
推荐指数
1
解决办法
7167
查看次数

Java接口 - 普通接口中的常量和静态类

考虑以下界面.

public interface ThirdPartyApiHandler {

    public OperationResult doOperation(OperationInput input);

    public static class OperationResult {
         //members of OpeationResult. metrics after file processing
         private int successfulRecords;
         private int failedRecords;
    }  

    public static class OperationInput {
         //implementations call third party API to process this file.
         private String inputBatchFile; 
    }  

    //Constant which would be same across all implementations.
    public static final int GLOBAL_CONSTANT = 1;
}
Run Code Online (Sandbox Code Playgroud)

界面设计不好吗?

  1. OperationResultOperationInput定义为静态类.它们仅用于实现而不是其他任何地方.我在这里看到的优点是 - 我不必为这两个类创建单独的文件.他们也获得了父类的命名空间.

  2. 我已阅读有关常量接口的信息.但在这种情况下,我在普通接口中定义常量,这些常量在所有实现中都必须相同,并且将在这些实现中使用.

我是第一次使用这种模式,所以想得到建议.

java

5
推荐指数
1
解决办法
344
查看次数

使用DecimalFormat格式化大双数

我试图使用DecimalFormat格式化双数字只打印2位小数的数字,如果它有小数部分,我想打印数字.当数字很小时,下面的代码工作正常但数字很大,它没有按预期工作.

    DecimalFormat df = new DecimalFormat("#.##"); //have tried just # too
    double d1 = 56789d;
    System.out.println(df.format(d1)); //works fine - prints 56789

    double d2 = 1234567879123456789d;
    System.out.println(df.format(d2)); // does not work
Run Code Online (Sandbox Code Playgroud)

1234567879123456770我想要的第二个输出1234567879123456789.对于带小数部分的双精度值,我只想保留两个小数点.

什么是错的任何建议?

java

5
推荐指数
1
解决办法
2040
查看次数

从java中的String中删除除少数特定的标记之外的Html标记

我的输入是纯文本字符串,要求删除除少数特定标记之外的所有html标记,例如:

<p>
<li>
<u>
<li>
Run Code Online (Sandbox Code Playgroud)

如果这些特定标签具有类似class或的属性id,我想删除这些属性.

几个例子:

<a href = "#">Link</a>            ->   Link

<p>paragraph</p>                  ->   <p>paragraph</p>

<p class="class1">paragraph</p>   ->   <p>paragraph</p>
Run Code Online (Sandbox Code Playgroud)

我已经完成了从String中删除HTML标记但它没有完全回答我的问题.

它可以由一组正则表达式处理,还是可以使用某些库?

html java

4
推荐指数
2
解决办法
7641
查看次数

JVisualVM 内存采样:不支持远程应用程序

我正在尝试在 Red Hat Linux 中使用 JVisualVM 监视远程 tomcat 进程。CPU 采样工作正常,但内存采样选项卡被禁用。它说“内存采样:不可用。不支持远程应用程序”

进程的命令行参数:

-Djavac.source=1.5 -Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.port=11107
Run Code Online (Sandbox Code Playgroud)

JVisualVm 详细信息:

Version: 
1.6.0_24 (Build 100930); platform 100909-1140d3a55456
System: 
Linux (2.6.18-53.1.14.el5) , i386 32bit
Java: 
1.6.0_24; Java HotSpot(TM) Client VM (19.1-b02, mixed mode)
Run Code Online (Sandbox Code Playgroud)

有什么我想念的吗?我对这一切都很陌生。

java out-of-memory jvisualvm

4
推荐指数
1
解决办法
2万
查看次数

Oracle SQL查询:如何使用count

我有以下格式的数据

userid  amount  term  APR
1        10       5    1
1        10       4    2
2        20       6    1
2        20       4    3
2        20       3    1
Run Code Online (Sandbox Code Playgroud)

我想按金额,期限,APR做订单,所以在输出中我想要最大金额和相应的期限,APR.如果金额相同,请选择一个最大期限,如果期限也相同则相同.但这三者的结合总是独一无二的.

输出列:

userid,  amount, term, apr, numberOfRowsForEachUser
  1       10       5   1      2
  2       20       6   1      3
Run Code Online (Sandbox Code Playgroud)

问题:我能够获得前四列,但不确定如何获得"总计没有优惠"或"每个用户的总行数".

我的查询看起来像这样.

select 
  userid,amount,term,apr
  from 
( select userid, amount, term,  apr
   RANK() OVER (PARTITION BY userid ORDER BY amount,term,apr) amount_rank,   
from 
   tableXYZ
) 
where amount_rank = 1 
Run Code Online (Sandbox Code Playgroud)

sql oracle

4
推荐指数
1
解决办法
551
查看次数