我想访问网站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) 所以我已经开始使用git了一段时间,并逐渐理解它是如何工作的.我理解的一个要点是 - 每次进行新提交时都会创建一个快照.当然,快照只包含已更改的文件和指向未更改文件的指针.
每次你在Git中提交或保存项目的状态时,它基本上都会记录当时所有文件的外观,并存储对该快照的引用.为了提高效率,如果文件没有改变,Git不会再次存储文件 - 只是指向它已存储的先前相同文件的链接.
但是,假设我有一个很大的文件,例如2GB的文本文件.我将该文件更改10次,因此每天进行10次提交,这是否意味着 - 我现在在我的计算机上有10个2GB文件?这似乎对我来说效率很低所以我相信情况可能并非如此.
有人可以澄清这种情况会发生什么吗?
自从我升级到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)
有没有办法将此设置更改回第一个样式?
谢谢
我在Facebook上创建了一个APP并使用图形API浏览器,我从应用程序下拉框中选择了我的应用程序,请求了具有manage_pages,offline_access和publish_stream权限的访问令牌.
使用此访问令牌,我成功地能够使用restfbAPI 在页面上发布消息,但是当我退出时,它开始抛出The session is invalid error.
我在几篇帖子中读到了不推荐使用offline_access的帖子.有人能告诉我如何获得永久访问令牌吗?
谢谢
我正在尝试使用 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)
有关如何解决此问题的任何建议?
考虑以下界面.
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)
界面设计不好吗?
OperationResult并OperationInput定义为静态类.它们仅用于实现而不是其他任何地方.我在这里看到的优点是 - 我不必为这两个类创建单独的文件.他们也获得了父类的命名空间.
我已阅读有关常量接口的信息.但在这种情况下,我在普通接口中定义常量,这些常量在所有实现中都必须相同,并且将在这些实现中使用.
我是第一次使用这种模式,所以想得到建议.
我试图使用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.对于带小数部分的双精度值,我只想保留两个小数点.
什么是错的任何建议?
我的输入是纯文本字符串,要求删除除少数特定标记之外的所有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标记但它没有完全回答我的问题.
它可以由一组正则表达式处理,还是可以使用某些库?
我正在尝试在 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)
有什么我想念的吗?我对这一切都很陌生。
我有以下格式的数据
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)