以编程方式设置Jetty服务器,我尝试通过ajax和xmlHttpRequest访问.没有授权,通话工作正常但是,我得到401 Unauthorized.有什么建议.
Javascript调用看起来像这样(缩短):
var auth = base64encode('name','pwd');
try{
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("POST", "http://127.0.0.1:5563/ajax/index.html", true);
xmlhttp.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xmlhttp.setRequestHeader('Authorization', auth);
xmlhttp.withCredentials = 'true';
xmlhttp.send();
xmlDoc = xmlhttp.responseXML;
$('#textResult').val(xmlDoc);
}
catch(e){
$('#textResult').val('CATCH: ' + e);
}
Run Code Online (Sandbox Code Playgroud)
服务器代码看起来像这样(甚至更短)
class CallObject extends HttpServlet {
//...
@Override
public void doOptions(HttpServletRequest request, HttpServletResponse response)
throws IOException
{
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods",
"GET, POST, HEAD, OPTIONS");
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Headers",
"X-Requested-With, authorization");
}
//...
}
class WebServer{
//...
SecurityHandler sh = null;
if (logins != null && logins.length …Run Code Online (Sandbox Code Playgroud) 在我当前的Web项目中,我们为每个远程服务的方法调用执行ClientFactory.CreateChannel.
这真的有必要吗?什么是最佳做法?
我正在使用DirectoryIterator列出文件.在这种情况下,我的目录包含19个文件.
我需要创建一个包含7个文件的列表<div>.
我一定很累,因为我无法做这个简单的任务.
我的代码已更新,以反映以下建议:
$i = 0;
echo '<div class="first_div">';
foreach ($dir as $fileinfo) {
if ($fileinfo->isFile()) {
if(($i % 7 == 0) && ($i > 0) )
echo '</div><div>';
echo 'My file';
$i++;
}
}
echo '</div>';
Run Code Online (Sandbox Code Playgroud)
有任何帮助.
在许多程序中,a #define用作与常量相同的目的.例如.
#define FIELD_WIDTH 10
const int fieldWidth = 10;
Run Code Online (Sandbox Code Playgroud)
我通常认为第一种形式优先于另一种,依靠预处理器来处理基本上是应用程序的决定.这个传统有原因吗?
我最近问了一个关于同一个函数的问题,它解决了我的探针问题,并指导我进行tutoraial,因为我使用的是while循环,这意味着我的函数没有动画,只是冻结然后调整大小.这种新方法,使用setTimeout应该有效.唯一的问题是它只是抓住新的尺寸而不是动画.根据萤火虫没有错误.这是我目前管理动画的代码部分.
// Resize in timeframe
// Work out distance
var widthdiff = width - parseInt(element.style.width);
var heightdiff = height - parseInt(element.style.height);
// Work out how miliseconds per step (100 in total)
var steptime = timeframe / 100;
// Work out how many pixels it needs to move each step
var widthpps = widthdiff / 100; // ERROR?
var heightpps = heightdiff / 100;
// Set up original sizes
var origwidth = parseInt(element.style.width);
var origheight = parseInt(element.style.height);
// Loop through all …Run Code Online (Sandbox Code Playgroud) 我有两个字符串列表,在一个更好的世界中,它将是一个列表.我需要连接列表,但第一个列表的最后一个元素需要与第二个列表的第一个元素连接.所以这些家伙:
list1 = ["bob", "sal"]
list2 = ["ly", "nigel"]
Run Code Online (Sandbox Code Playgroud)
需要成为
out = ["bob", "sally", "nigel"]
Run Code Online (Sandbox Code Playgroud)
所以这并不难,但我想知道为什么我的一个班轮不起作用?
out = (list1[-1] += list2.pop(0)) += list2
Run Code Online (Sandbox Code Playgroud)
为什么这不等于
out = list1[-1]+=list2.pop(0)
out += list2
Run Code Online (Sandbox Code Playgroud)
?
通过大约400K的记录,我必须在很大程度上做到这一点.所以,如果有人有更好的方法来做到这一点,那么我将不胜感激!
我有一个FTP服务器,它只通过运行FTPS(显式FTP over TLS)接受连接.我需要能够使用Ruby on Rails应用程序连接到此.
有人知道这样做的方法吗?我已经尝试过该Net::FTP库,但这似乎不支持FTPS连接.
我目前有方法试图找出收到的obj是什么.它知道是在某个接口上,例如IService,但是我有代码查看它并试图告诉我它是例如Service1还是Service2.我目前有很多if(obj是thisObj)样式语句,什么是使这段代码漂亮的最佳解决方案?
这是我的确切样本:
public void DoSomething(IService service)
{
if (service is Service1)
{
//DO something
}
if (service is Service2)
{
//DO something else
}
}
Run Code Online (Sandbox Code Playgroud)
现在有两个不是太糟糕的事情,但我看到可能有20多个这些使用起来很糟糕.
有任何想法吗?
确定需要进一步的细节,这里是:
在这个方法之前,我有另一种方法,即接收一个xml doc,它将它们反序列化到接口IService中,所以我们有这样的东西:
private static void Method(InnerXml)
{
var messageObj = (IServiceTask)XmlSerialization.Deserialize(typeof(IServiceTask), InnerXml);
var service = GetService(messageObj);
service.PerformTask(xmlDoc);
}
private static IService GetService(IServiceTask messageObj)
{
var service = new IService ();
if (messageObj is Task1)
{
service = (SomeService)messageObj;
}
if (messageObj is Task2)
{
service = (SomeOtherService)messageObj;
}
return service ;
} …Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我使用Log4j进行日志记录.目前我将log4j.xml放在WEB-INF/classes中.以下是我用来加载log4j.xml文件的配置.
<!-- language: xml -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
Run Code Online (Sandbox Code Playgroud)
现在我需要将log4j.xml文件放在war文件之外.该位置很可能是JBOSS_HOME/server/default/deploy/settings.在设置目录中,我需要放置我的log4j.xml.
我尝试通过编辑run.bat设置jboss类路径加载它,如下所示设置JBOSS_CLASSPATH =%RUN_CLASSPATH%;%JBOSS_HOME%\ server\default\deploy\settings我在web.xml下面使用
<!-- language: xml -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:/log4j.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
Run Code Online (Sandbox Code Playgroud)
但它在部署应用程序时抛出异常.例外是
java.lang.IllegalArgumentException: Invalid 'log4jConfigLocation' parameter: class path resource [/log4j.xml] cannot be resolved to URL because it does not exist
现在我的问题是如何加载它.
我有一个Flex 4应用程序,它连接到基于FluorineFx的ASP.NET webservice .它通过cookie验证RemoteObject.setCreadentials()
两个应用程序都连接到FMS服务器,并通过RTMFP直接连接(P2P)相互通信.
我想通过单击(F11)一次在Firefox和Internet Explorer中调试此应用程序的两个实例.
现在我只能在一个浏览器中通过在Flash Builder 4中运行Debug来调试.我创建了双浏览器运行器,其中bat文件注册为默认浏览器Preferences > General > Web browser,如下所示:
start "IE" /b "c:\Program Files (x86)\Internet Explorer\iexplore.exe" -private %1
start "FF" /b "c:\Program Files (x86)\Mozilla Firefox\firefox.exe" -private %1
Run Code Online (Sandbox Code Playgroud)
但这只是将调试器连接到Internet Explorer中首先运行应用程序的实例.
如何附加和调试两个实例?
谢谢.
javascript ×2
actionscript ×1
ajax ×1
animation ×1
apache-flex ×1
browser ×1
c ×1
c# ×1
coding-style ×1
debugging ×1
java ×1
jetty ×1
list ×1
log4j ×1
php ×1
python ×1
ruby ×1
settimeout ×1
wcf ×1