我正在尝试向需要cookie的网页发出请求.我正在使用HTTPUrlConnection,但响应总是回来说
<div class="body"><p>Your browser's cookie functionality is turned off. Please turn it on.
Run Code Online (Sandbox Code Playgroud)
我如何发出请求,以便查询的服务器认为我已打开cookie.我的代码就是这样的.
private String readPage(String page) throws MalformedURLException {
try {
URL url = new URL(page);
HttpURLConnection uc = (HttpURLConnection) url.openConnection();
uc.connect();
InputStream in = uc.getInputStream();
int v;
while( (v = in.read()) != -1){
sb.append((char)v);
}
in.close();
uc.disconnect();
} catch (IOException e){
e.printStackTrace();
}
return sb.toString();
}
Run Code Online (Sandbox Code Playgroud) 一些背景......
我们有一个ASP.NET应用程序,我们正在慢慢转换为EmberJS.我们有一个Ember应用程序,我们为网站的某些部分实例化.当我们迁移页面时,他们会在Ember应用程序中获得路由.目标是随着时间的推移将所有东西都放在Ember中.在此期间,用户可以单击将它们带回ASP.NET部分的链接.
我们的问题是重置Ember应用程序的状态,如果用户点击返回Ember或点击新链接将其带回Ember部分.
我们尝试在应用程序上调用.reset,但这样做会给我们一个错误说明如下.我们的应用程序称为ConsoleCli,而不是标准App.
Library "ConsoleCli" is already registered with Ember
Run Code Online (Sandbox Code Playgroud)
此外,我们得到以下错误,说我们的一个模块已经注册.
Cannot re-register: `location:history-js`, as it has already been resolved.
Run Code Online (Sandbox Code Playgroud)
我试着用一张支票包装历史模块的注册,但这会产生另外一大堆错误
if(!application.__container__.lookup('location:history-js')){
application.register('location:history-js', HistoryJsLocation, { singleton: true });
}
Run Code Online (Sandbox Code Playgroud)
我阅读https://github.com/emberjs/ember.js/issues/10310,我认为这意味着一旦将所有注册表合并到主分支中,reset()应该清除所有注册表.
不应该在使用EmberJS应用程序的过程中调用App.reset()只是重置它没有问题?
请原谅我缺乏理解,我们正在学习所有这些.
我们正在运行以下版本
Ember 1.11.0-beta.2
Ember Data 1.0.0-beta.15
jQuery 2.0.3
Run Code Online (Sandbox Code Playgroud)
TIA!
我想找到获得long long最低位的索引的最快方法.即:
00101001001000 -> 3
Run Code Online (Sandbox Code Playgroud)
涉及循环和移位的解决方案太慢了.即:
int i;
if(bits == 0ULL) {
i = 64;
} else {
for(i = 0;!(bits & 1ULL);i++)
bits >>= 1;
}
Run Code Online (Sandbox Code Playgroud)
编辑:使用信息
使用ffsll的函数不能真正减少它的用法,但在这里(当然简化).它只是遍历索引并对它们做了一些事情.这个函数可能是我整个应用程序中使用最广泛的函数,尽管有很多缓存它的价值.它是我的alpha-beta搜索引擎中的合法移动生成器.
while(bits){
index = ffsll(bits);
doSomething(index);
index &= index-1;
}
Run Code Online (Sandbox Code Playgroud) 有人可以解释为什么下面的C#行与下面的foeach块的行为不一样吗?
string [] strs = {"asdf", "asd2", "asdf2"};
strs.Select(str => doSomething(str));
foreach(string str in strs){
doSomething(str);
}
Run Code Online (Sandbox Code Playgroud)
我在doSomething()中放置了一个断点,它不会在Select中触发,但它与foreach一起触发.
TIA
我的数据库中有一列设置了Identity(1,1)的列,但无法获取休眠注释来工作。尝试创建新记录时出现错误。
就我而言,我有以下几点。
@Entity
@Table(schema="dbo", name="MemberSelectedOptions")
public class MemberSelectedOption extends BampiEntity implements Serializable {
@Embeddable
public static class MSOPK implements Serializable {
private static final long serialVersionUID = 1L;
@Column(name="SourceApplication")
String sourceApplication;
@Column(name="GroupId")
String groupId;
@Column(name="MemberId")
String memberId;
@Column(name="OptionId")
int optionId;
@GeneratedValue(strategy=GenerationType.IDENTITY, generator="native")
@Column(name="SeqNo", unique=true, nullable=false)
BigDecimal seqNo;
//Getters and setters here...
}
private static final long serialVersionUID = 1L;
@EmbeddedId
MSOPK pk = new MSOPK();
@Column(name="OptionStatusCd")
String optionStatusCd;
@Column(name="EffectiveDate")
Date effectiveDate;
@Column(name="TermDate")
Date termDate;
@Column(name="SelectionStatusDate")
Date selectionStatusDate;
@Column(name="SysLstUpdtUserId")
String sysLstUpdtUserId …
Run Code Online (Sandbox Code Playgroud) 给定二进制数,删除最低位的最快方法是什么?
01001001010 - > 01001001000
它将在代码中用于迭代变量的位.伪代码如下.
while(bits != 0){
index = getIndexOfLowestOrderBit(bits);
doSomething(index);
removeLowestOrderBit(bits);
}
Run Code Online (Sandbox Code Playgroud)
我正在考虑使用的可能语言是C和Java.
我遇到了SELECT NEW查询的问题.
Query q = em.createQuery(
"SELECT NEW com.bcbst.odstats.ejb.RangeStats(a.folderName, SUM(a.hits)) " +
"FROM ODStat a GROUP BY a.folderName");
return q.getResultList();
Run Code Online (Sandbox Code Playgroud)
当我尝试运行此查询时,我得到以下stacktrace. RangeStats确实有公共方法,FQN是准确的,实际上RangeStats与创建查询的类位于同一个包中.我以前在ODStat上做过查询,所以我也相信a.folderName和a.hits是可以的.
我正在开发RAD 7.5,WAS 7,OpenJPA 1.2.1,MS SQL JDBC Driver 1.2.
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:896)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1527)
Caused by: javax.ejb.EJBException: See nested exception; nested exception is:
<openjpa-1.2.1-SNAPSHOT-r422266:686069 nonfatal user error>
org.apache.openjpa.persistence.ArgumentException: Result type "class
com.bcbst.odstats.ejb.RangeStats" does not have any public fields or setter methods
for the projection or aggregate result element "jpqlalias1", nor does it have a
generic put(Object,Object) method …
Run Code Online (Sandbox Code Playgroud) 我有两个实体:Message和GeneratedMemberMessage.这里有更多的字段,而不是我在代码中显示的字段,但这些字段应足以提供我的问题的上下文.
我正在尝试做一个简单的双向OneToMany关系,从我读过的所有内容来看,这就是它要做的事情.你会注意到我正在使用复合键.
我得到以下错误和堆栈跟踪.我见过其他人在互联网上遇到过这个问题,但没有人能找到适合我的解决方案.有没有人在这看到问题?
正如ST建议的那样,我在WAS 7.0中使用openJPA 1.2.2.我正在使用RAD 7.5.4和EJB 3.0进行开发.
Message.java
@Entity
@Table(schema="dbo", name="Messages")
public class Message implements Serializable {
@Embeddable
public static class MessagePK implements Serializable {
@Column(name="SourceApplication")
String sourceApplication;
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="MessageId")
BigDecimal messageId;
//Getters and setters here
}
@EmbeddedId
MessagePK pk = new MessagePK();
...
@OneToMany(cascade={CascadeType.ALL}, mappedBy="message")
List<GeneratedMemberMessage> generatedMemberMessages = new ArrayList<GeneratedMemberMessage>();
...
}
Run Code Online (Sandbox Code Playgroud)
GeneratedMemberMessage.java
@Entity
@Table(schema="dbo", name="GeneratedMemberMessages")
public class GeneratedMemberMessage implements Serializable {
@Embeddable
public static class GMMPK implements Serializable {
@Column(name="SourceApplication")
String sourceApplication;
@Column(name="MessageId")
int messageId;
@Column(name="MessageGenerationDateTime")
Date …
Run Code Online (Sandbox Code Playgroud) 我被迫从代码管理自动增量字段.我决定编写一个存储过程来为我做这个.我们的想法是拥有一个插入新行并将自动递增的值返回给Java的过程,以便我可以进一步使用它.以下是我到目前为止的情况.我不知道要改变什么来填补空白,使一切顺利.
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE addNewMSO
@sourceApplication char(8),
@selectionStatusDate datetime = NULL,
@sysLstUpdtUserId char(10)
AS
BEGIN
SET NOCOUNT ON;
Declare @newVal int
SET @newVal = (select max(seqNo) from MemberSelectedOptions) + 1
INSERT INTO MemberSelectedOptions
([SourceApplication]
,[SeqNo]
,[SelectionStatusDate]
,[SysLstUpdtUserId])
VALUES
(@sourceApplication
,@newVal
,@selectionStatusDate
,@sysLstUpdtUserId)
END
GO
Run Code Online (Sandbox Code Playgroud)
然后在我的Java代码中,我有以下内容.
@NamedNativeQuery(name="addNewMSO",
query="exec addNewMSO :sourceApplication :selectionStatusDate :sysLstUpdtUserId", callable=true)
Run Code Online (Sandbox Code Playgroud)
我的DAO称之为......
Query q = session.getNamedQuery("addNewMSO");
q.setParameter("sourceApplication", mso.getSourceApplication());
q.setParameter("selectionStatusDate", mso.getSelectionStatusDate());
q.setParameter("sysLstUpdtUserId", mso.getSysLstUpdtUserId());
q.executeUpdate();
Run Code Online (Sandbox Code Playgroud)
即使这样,这也行不通,因为我得到了"尚未支持纯本机标量查询"错误.所以我不知道下一步该去哪里.我已经阅读了Hibernate文档,但我不知道如何从SP获取返回值.但我还是不能称之为......唉!
TIA提供所有帮助.