我在注册后使用以下方法进行编程登录
private void autoLogin(User user,
HttpServletRequest request)
{
GrantedAuthority[] grantedAuthorities = new GrantedAuthority[] { new GrantedAuthorityImpl(
"ROLE_ADMIN") };
UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(
user.getUsername(), user.getPassword(),grantedAuthorities);
// generate session if one doesn't exist
request.getSession();
token.setDetails(new WebAuthenticationDetails(request));
Authentication authenticatedUser = authenticationManager.authenticate(token);
SecurityContextHolder.getContext().setAuthentication(authenticatedUser);
}
Run Code Online (Sandbox Code Playgroud)
用户是经过身份验证但总是有ROLE_ANONYMOUS我不知道为什么?有任何想法吗 ?
我有一些C函数,我通过JNI调用它接受一个结构的指针,以及一些其他函数,它们将分配/释放一个指向同一类型结构的指针,这样它就更容易处理我的包装器.令人惊讶的是,JNI文档对如何处理C结构几乎没有说明.
我的C头文件看起来像这样:
typedef struct _MyStruct {
float member;
} MyStruct;
MyStruct* createNewMyStruct();
void processData(int *data, int numObjects, MyStruct *arguments);
Run Code Online (Sandbox Code Playgroud)
相应的JNI C包装文件包含:
JNIEXPORT jobject JNICALL
Java_com_myorg_MyJavaClass_createNewMyStruct(JNIEnv *env, jobject this) {
return createNewMyStruct();
}
JNIEXPORT void JNICALL
Java_com_myorg_MyJavaClass_processData(JNIEnv *env, jobject this, jintArray data,
jint numObjects, jobject arguments) {
int *actualData = (*env)->GetIntArrayElements(env, data, NULL);
processData(actualData, numObjects, arguments);
(*env)->ReleaseIntArrayElements(env, data, actualData, NULL);
}
Run Code Online (Sandbox Code Playgroud)
...最后,相应的Java类:
public class MyJavaClass {
static { System.loadLibrary("MyJniLibrary"); }
private native MyStruct createNewMyStruct();
private native void processData(int[] data, int numObjects, …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用JSP页面生成PDF,我的编码大纲如下,
Document document = new Document(PageSize.A4,70/*Left*/,70/*Right*/,140/*Top*/,30/*Bottom*/);
response.setContentType("application/pdf" );
response.setHeader("Content-Disposition","inline; filename=vishwa-mandate.pdf");
PdfWriter.getInstance(document, response.getOutputStream());
document.open();
HeaderFooter footer = new HeaderFooter(new Phrase("This is page "), true);
document.setFooter(footer);
/* PAGE 01 */
document.newPage();
/* PAGE 02 + */
document.close();
Run Code Online (Sandbox Code Playgroud)
一旦我明确调用,页面页脚不适用于PAGE 01 document.newPage();
如何在整个文档中获取页脚?
我在
这里创建了一个示例
http://jsbin.com/eqiti3,我们有三个div.现在,我想要做的是:点击任何div它应该在其他div的顶部然后淡出然后回到它原来的位置.这就是我正在使用的:
$(".box").click( function () {
var zindex = $(this).css('z-index');
/* this too is not working
$(this).css('z-index',14);
$(this).fadeTo ( 'slow', 0.5 ).fadeTo('slow', 1 )
$(this).css('z-index',zindex);
*/
$(this).css('z-index',14).fadeTo ( 'slow', 0.5 ).fadeTo('slow', 1 ).css('z-index',zindex);
} );
Run Code Online (Sandbox Code Playgroud)
只要$(this).css('z-index',14)
这一点能够让div超过其他div.
是否可以创建一个不跨越256字节边界的数组?也就是说,各个数组项的地址仅在低位字节中有所不同.这比将数组保持为256字节所需的要求要弱.我能想到的唯一解决方案是调整next_power_of_two(sizeof(array))
,但我不确定这种方式会出现的差距.
它适用于AVR微控制器的库,这可以在中断处理程序中省去一些宝贵的指令.应该具有此属性的数组长度为54字节,而库中使用的总静态存储器大约为80字节.我正在寻找一种不会增加内存需求的方法.
我正在使用avr-as gnu汇编程序和avr-ld链接器.
示例:如果数组从地址0x00f0开始,则在遍历数组时,较高的字将从0x00更改为0x01.
我不关心它是否从地址0x0100或0x0101开始,只要它不跨越边界.
我有一个元组列表,它们是http标头.我想将列表转换为JSON对象.我尝试mochijson2但无济于事.
所以我有以下内容:
[{'Accept',"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"},
{'Accept-Charset',"ISO-8859-1,utf-8;q=0.7,*;q=0.7"},
{'Accept-Encoding',"gzip,deflate"},
{'Accept-Language',"en-us,en;q=0.5"},
{'Cache-Control',"max-age=0"},
{'Connection',"close"},
{'Cookie',"uid=CsDbk0y1bKEzLAOzAwZUAg=="},
{'User-Agent',"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10"}]
Run Code Online (Sandbox Code Playgroud)
并希望这(二进制JSON字符串):
<<"{\"Accept\":\"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\",
\"Accept-Charset\":\"ISO-8859-1,utf-8;q=0.7,*;q=0.7\",
\"Accept-Encoding\":\"gzip,deflate\",
\"Accept-Language\":\"en-us,en;q=0.5\",
\"Cache-Control\":\"max-age=0\",
\"Connection\":\"close\",
\"Cookie\":\"uid=CsDbk0y1bKEzLAOzAwZUAg==\",
\"User-Agent\":\"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10\"}">>
Run Code Online (Sandbox Code Playgroud)
我尝试这个,其中A是元组的原始列表:
list_to_binary(mochijson2:encode(A)).
Run Code Online (Sandbox Code Playgroud)
我怀疑我需要把它变成mochijson2可以更好地解释的格式.然后转换为二进制.或者找出一种方法将所有字符表示为字符串(而不是将其作为整数列表).
非常感谢,如果你能用一些示例代码指出我正确的方向.
考虑以下功能:
void func(const char & input){
//do something
}
Run Code Online (Sandbox Code Playgroud)
显然,参数是常量值而不是引用关于char类型的大小的常量是有意义的,现在编译器可以将其优化为常量值,以便它与下面的相同吗?
void func(const char input){
//do something
}
Run Code Online (Sandbox Code Playgroud) 什么是"好"(以及为什么?)解决方案List
从a 获得Set
并针对给定的排序Comparator
?
我有一个长时间运行的宏,我在其中定期向Output写消息,以便用户知道发生的事情.问题是在宏完成之前输出不会显示(除非你打开"继续等待?"对话框,这很奇怪).
反正有没有'冲洗'事件队列?
我刚读完"Nutshell中的C#4.0"(O'Reilly),我认为这对于愿意转向C#的程序员来说是一本好书,但它让我感到疑惑.我的问题是using
声明的定义.根据这本书(第138页),
using (StreamReader reader = File.OpenText("file.txt")) {
...
}
Run Code Online (Sandbox Code Playgroud)
恰好相当于:
StreamReader reader = File.OpenText("file.txt");
try {
...
} finally {
if (reader != null)
((IDisposable)reader).Dispose();
}
Run Code Online (Sandbox Code Playgroud)
但是,假设这是真的,并且此代码在单独的线程中执行.此线程现在已中止thread.Abort()
,因此ThreadAbortException
抛出a并假设线程正好在初始化读取器之后和输入try..finally
子句之前.这意味着读者不会被处置!
一种可能的解决方案是以这种方式编码:
StreamReader reader = null;
try {
reader = File.OpenText("file.txt");
...
} finally {
if (reader != null)
((IDisposable)reader).Dispose();
}
Run Code Online (Sandbox Code Playgroud)
这将是中止安全的.
现在我的问题:
using
声明是不是中止安全还是错误,它的行为与我的第二个解决方案相似?using
等同于第一方案(不放弃安全的),为什么它检查null
的finally
?ThreadAbortException
可以在托管代码中的任何位置抛出.但也许有例外,第一个变种毕竟是中止安全的?编辑:我知道使用thread.Abort()
不被认为是好习惯.我的兴趣是纯粹的理论:如何在using
声明中表现究竟?
java ×3
abort ×1
alignment ×1
android-ndk ×1
assembly ×1
avr-gcc ×1
c ×1
c# ×1
c++ ×1
comparator ×1
erlang ×1
function ×1
html ×1
itext ×1
javascript ×1
jquery ×1
json ×1
list ×1
macros ×1
memory ×1
mochijson2 ×1
mochiweb ×1
optimization ×1
parameters ×1
reference ×1
set ×1
spring ×1
spring-mvc ×1
tuples ×1