我正在尝试使用以下命令从Java 6应用程序调用Jython javax.script:
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class jythonEx
{
public static void main (String args[]) throws ScriptException
{
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine pyEngine = mgr.getEngineByName("python");
try {
pyEngine.eval("print \"Python - Hello, world!\"");
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
这导致NullPointerException:
java.lang.NullPointerException
at jythonEx.main(jythonEx.java:12)
Run Code Online (Sandbox Code Playgroud)
有谁知道我在这里做错了什么?
编辑:
谢谢你的回复!我将jython.jar添加到类路径中并且运行正常:
java -cp "./;jython.jar" jythonEx
Run Code Online (Sandbox Code Playgroud) 是否可以使用curl或其他方法在另一个域上设置cookie?我可以访问其他域上的php文件,可以设置cookie,但我不知道如何使用curl访问该php文件,然后设置cookie.
我试图得到这方面的支持,但我完全糊涂了.
这是我的代码:
from twisted.internet import reactor
from twisted.web.client import getPage
from twisted.web.error import Error
from twisted.internet.defer import DeferredList
from sys import argv
class GrabPage:
def __init__(self, page):
self.page = page
def start(self, *args):
if args == ():
# We apparently don't need authentication for this
d1 = getPage(self.page)
else:
if len(args) == 2:
# We have our login information
d1 = getPage(self.page, headers={"Authorization": " ".join(args)})
else:
raise Exception('Missing parameters')
d1.addCallback(self.pageCallback)
dl = DeferredList([d1])
d1.addErrback(self.errorHandler)
dl.addCallback(self.listCallback)
def errorHandler(self,result):
# Bad thingy! …Run Code Online (Sandbox Code Playgroud) 嗨伙计们菜鸟Java问题.
我有一个Java项目,我想在可执行jar包含一个文本文件.现在,文本文件位于默认包中.
InputFlatFile currentFile = new InputFlatFile("src/theFile.txt");
我可以使用src获取该行的文件.但是,这不适用于可执行jar.
有人可以让我知道如何使用可执行jar保存此文件,以便使用该程序的人只需单击一个图标并运行该程序.
谢谢!
我有一个PHP脚本,通过以下方法对字符串进行基本加密:
<?php
$key = 'secretkey';
$string = $_GET['str'];
if ($_GET['method'] == "decrypt")
{
$output = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($string), MCRYPT_MODE_CBC, md5(md5($key))), "\0");
}
if ($_GET['method'] == "encrypt")
{
$output= base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key))));
}
echo $output;
?>
Run Code Online (Sandbox Code Playgroud)
加密字符串的URL示例如下所示:
Encrypt.php?method = encrypt&str =快速狐狸
哪个会将此作为加密字符串返回:
LCUT/ieVa6cl3/4VtzE + jd9QPT3kvHYYJFqG6tY3P0Q =
现在要解密字符串,您只需将"方法"查询更改为"解密",如下所示:
Encrypt.php?方法=解密&STR = LCUT/ieVa6cl3/4VtzE + jd9QPT3kvHYYJFqG6tY3P0Q =
唯一的问题是,当加密的字符串被解密时,它会返回:
¬ƒ§rYV}̳5Äš·NSSI(ñïX8Þ,B
我已将问题缩小到加密字符串中的加号.PHP的GET方法似乎将加号转换为空格.我搜索了这个bug,发现它已经在这里提交了.我尝试过该页面上列出的不同方法,其他方法没有成功.我得到的最接近的是使用这个:
$fixedstring = str_replace(" ", "+", $string);
Run Code Online (Sandbox Code Playgroud)
然后在加密方法中使用$ fixedstring,问题是,在解密时,所有空格都转换为加号.有任何想法吗?
我知道使用POST会更有意义,但我出于特定原因使用GET.我会遗漏细节.
我正在努力为QPushButton设置背景图像.直到现在都没有成功.以下是我的代码.
appsWidget::appsWidget(QWidget *parent)
:QWidget(parent)
{
QPushButton *button1 = new QPushButton("SETTINGS",this);
QPushButton *button2 = new QPushButton("TEST",this);
QPushButton *button3 = new QPushButton("IE",this);
button1->setStyleSheet("background-image:url(config.png)"); -> No success
qDebug("appWidget initialized.");
QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(button1);
layout->addWidget(button2);
layout->addWidget(button3);
this->setLayout(layout);
connect(button1,SIGNAL(clicked()),this,SLOT(setClickIndex1()));
connect(button2,SIGNAL(clicked()),this,SLOT(setClickIndex2()));
connect(button3,SIGNAL(clicked()),this,SLOT(setClickIndex3()));
}
Run Code Online (Sandbox Code Playgroud)
我在样式表中使用的图像位于同一个项目文件夹中.有人有任何解决方案吗?
我有这样一个基类:
package MyClass;
use vars qw/$ME list of vars/;
use Exporter;
@ISA = qw/Exporter/;
@EXPORT_OK = qw/ many variables & functions/;
%EXPORT_TAGS = (all => \@EXPORT_OK );
sub my_method {
}
sub other_methods etc {
}
--- more code---
Run Code Online (Sandbox Code Playgroud)
我想要子类MyClass,但只适用于一种方法.
package MySubclass;
use MyClass;
use vars qw/@ISA/;
@ISA = 'MyClass';
sub my_method {
--- new method
}
Run Code Online (Sandbox Code Playgroud)
我想把它称为MySubclass我原来的MyClass,并且仍然可以访问所有的变量和函数Exporter.但是我在Exporter从原始类获取变量时遇到问题MyClass,要正确导出.我需要Exporter在子类内再次运行吗?这似乎多余而且不清楚.
示例文件:
#!/usr/bin/perl
use MySubclass qw/$ME/;
-- rest of …Run Code Online (Sandbox Code Playgroud) 我想知道是否有人有幸获得一个DynamicObject序列化和使用WCF?
这是我的小测试:
[DataContract]
class MyDynamicObject : DynamicObject
{
[DataMember]
private Dictionary<string, object> _attributes =
new Dictionary<string, object>();
public override bool TryGetMember(GetMemberBinder binder, out object result)
{
string key = binder.Name;
result = null;
if (_attributes.ContainsKey(key))
result = _attributes[key];
return true;
}
public override bool TrySetMember(SetMemberBinder binder, object value)
{
_attributes.Add(binder.Name, value);
return true;
}
}
var dy = new MyDynamicObject();
var ser = new DataContractSerializer(typeof(MyDynamicObject));
var mem = new MemoryStream();
ser.WriteObject(mem, dy);
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
System.Runtime.Serialization.InvalidDataContractException未处理Message = Type'ElasticTest1.MyDynamicObject'无法从未使用DataContractAttribute或SerializableAttribute标记的类型继承.请考虑使用DataContractAttribute或SerializableAttribute标记基本类型"System.Dynamic.DynamicObject",或者从派生类型中删除它们.
有什么建议?
我一般在过去使用数据库序列实现序列号生成.
例如,使用Postgres SERIAL类型http://www.neilconway.org/docs/sequences/
我很好奇,因为如何为没有数据库的大型分布式系统生成序列号.对于多个客户端,是否有任何经验或建议以线程安全的方式生成序列号生成的最佳实践?
问候,论坛.
我正在开发一个使用Twisted来管理网络的Python程序.该程序的基础是一个TCP服务,用于侦听多个端口上的连接.但是,我不是使用一个Twisted工厂来处理每个端口的协议对象,而是尝试为每个端口使用单独的工厂.这样做的原因是强制连接到不同端口的客户端组之间的分离.
不幸的是,似乎这种架构并不完全工作:连接到一个端口的客户似乎所有的工厂(例如,通过各厂所使用的协议类包括"self.factory.clients.append(个体经营)中可用'声明...而不是将给定的客户端仅添加到特定端口的工厂,客户端被添加到所有工厂),每当我在一个端口上关闭服务时,所有端口上的监听器也会停止.
我已经和Twisted合作了一段时间,并且担心我根本不完全理解它的工厂类是如何管理的.
我的问题是:是否根本不可能在不同的端口上使用相同工厂和相同协议的多个同时实例(没有这些实例踩在彼此的脚趾上)?