使用Jetty Web服务器,从maven开始,包括iBatis,Spring,Jersey,以及其中的一小部分,我得到了一系列格式的日志记录输出.
有些人来自maven:
[INFO] [war:war]
[INFO] Exploding webapp...
Run Code Online (Sandbox Code Playgroud)
有些人来自码头:
2009-03-25 21:01:27.781::INFO: jetty-6.1.15
2009-03-25 21:01:28.218:/example:INFO: Initializing Spring root WebApplicationContext
Run Code Online (Sandbox Code Playgroud)
一些来自Spring:
INFO ContextLoader - Root WebApplicationContext: initialization started (189)
INFO XmlBeanDefinitionReader - Loading XML bean definitions from ServletContext resource [/WEB-INF/applicationContext.xml] (323)
Run Code Online (Sandbox Code Playgroud)
有些人来自泽西岛:
Mar 25, 2009 9:01:29 PM com.sun.jersey.spi.spring.container.SpringComponentProviderFactory register
Run Code Online (Sandbox Code Playgroud)
还有一些来自我的代码:
INFO ExampleApp - [User@14ef239 ...stuff] (69)
Run Code Online (Sandbox Code Playgroud)
我希望他们都使用标准的日志包(log4j,commons-logging,java-logging ......)
我正在尝试在php中调试一个大而复杂的DOMDocument对象.理想情况下,如果我能让DOMDocument以类似数组的格式输出,那就太好了.
DOM文档:
$dom = new DOMDocument();
$dom->loadHTML("<html><body><p>Hello World</p></body></html>");
var_dump($dom); //or something equivalent
这输出
DOMDocument Object ( )
而我希望它输出
DOMDocument: html =>body ==>p ===>Hello World
或类似的东西.为什么没有方便的调试或输出?!?
我一直对葡萄酒感到惊讶.有时我想破解它,修复一些小东西并且通常理解它是如何工作的.所以,我下载了Wine源代码,之后我感到不堪重负.代码库是巨大的 - 与Linux内核不同 - 几乎没有关于代码的指南.
理解如此庞大的代码库的最佳实践是什么?
我想配置Windsor容器,以便单个单例样式的实例可以通过容器提供两个或更多服务.
我发现在多个组件声明(基于XML的配置)中使用相同的类型将导致创建该类型的实例以提供每个组件的服务接口,这不是我想要的行为.
例如:
interface IA { }
interface IB { }
class AB : IA, IB { ... }
Run Code Online (Sandbox Code Playgroud)
我希望AB的一个实例提供IA和IB服务.
我想要这样做的具体原因是我的具体DAO实现扩展了多个接口.另一方面,我有几个工作组件,它们包含对不同接口的引用.具体的DAO实例尊重这一点,但是这些单独的工作组件的构造函数需要实现它们的单独接口,并且我希望Castle.Windsor通过相应的服务请求将相同的对象实例传递给这些工作容器.
大声笑,我认为这很明显是泥!:P
有没有人明白我的意思,有没有人有任何想法如何通过组件的XML配置实现这一点?
我正在学习来自C++的C#并且遇到了问题.
我有一个抽象类AbstractWidget,一个接口IDoesCoolThings,以及一个派生自AbstractWidget的类,名为RealWidget:
public interface IDoesCoolThings
{
void DoCool();
}
public abstract class AbstractWidget : IDoesCoolThings
{
void IDoesCoolThings.DoCool()
{
Console.Write("I did something cool.");
}
}
public class RealWidget : AbstractWidget
{
}
Run Code Online (Sandbox Code Playgroud)
当我实例化一个RealWidget对象并在其上调用DoCool()时,编译器给出了一个错误说法
'RealWidget'不包含'DoCool'的定义
我可以将RealWidget对象转换为IDoesCoolThings,然后调用就可以了,但这似乎是不必要的,我也失去了多态性(即使我定义了RealWidget.DoCool(),也总是会调用AbstractWidget.DoCool()).
我想解决方案很简单,但我尝试了各种各样的事情,因为我的生活无法想象这一点.
我正在尝试json_encode从Zend_DB查询返回的数组.
var_dump给出:(手动添加0成员不会改变图片.)
array(3) {
[1]=>
array(3) {
["comment_id"]=>
string(1) "1"
["erasable"]=>
string(1) "1"
["comment"]=>
string(6) "test 1"
}
[2]=>
array(3) {
["comment_id"]=>
string(1) "2"
["erasable"]=>
string(1) "1"
["comment"]=>
string(6) "test 1"
}
[3]=>
array(3) {
["comment_id"]=>
string(1) "3"
["erasable"]=>
string(1) "1"
["comment"]=>
string(6) "jhghjg"
}
}
Run Code Online (Sandbox Code Playgroud)
编码的字符串如下所示:
{"1":{"comment_id":"1","erasable":"1","comment":"test 1"},
"2":{"comment_id":"2","erasable":"1","comment":"test 1"},
"3":{"comment_id":"3","erasable":"1","comment":"jhghjg"}}
Run Code Online (Sandbox Code Playgroud)
我需要的是:
[{"comment_id":"1","erasable":"1","comment":"test 1"},
{"comment_id":"2","erasable":"1","comment":"test 1"},
{"comment_id":"3","erasable":"1","comment":"jhghjg"}]
Run Code Online (Sandbox Code Playgroud)
这是php.ini/json_encode文档所说的应该是什么样子.
有没有办法禁用Windows窗体上的退出按钮,而无需导入一些外部.dll?我通过使用以下代码导入dll来禁用退出按钮,但我不喜欢它.有更简单的(内置)方式吗?
public Form1()
{
InitializeComponent();
hMenu = GetSystemMenu(this.Handle, false);
}
private const uint SC_CLOSE = 0xf060;
private const uint MF_GRAYED = 0x01;
private IntPtr hMenu;
[DllImport("user32.dll")]
private static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);
[DllImport("user32.dll")]
private static extern int EnableMenuItem(IntPtr hMenu, uint wIDEnableItem, uint wEnable);
// handle the form's Paint and Resize events
private void Form1_Paint(object sender, PaintEventArgs e)
{
EnableMenuItem(hMenu, SC_CLOSE, MF_GRAYED);
}
private void Form1_Resize(object sender, EventArgs e)
{
EnableMenuItem(hMenu, SC_CLOSE, MF_GRAYED);
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Windows批处理文件来执行一个简单的操作,该操作要求用户输入一个非负整数.我正在使用简单的批处理文件技术来获取用户输入:
@ECHO OFF
SET /P UserInput=Please Enter a Number:
Run Code Online (Sandbox Code Playgroud)
用户可以在此处输入他们想要的任何文本,因此我想添加一些例程以确保用户输入的是有效数字.那就是......他们输入了至少一个字符,每个字符都是0到9之间的数字.我想要一些可以将UserInput输入的字符.例程结束时就像if/then那样根据它是否实际上是一个有效的数字来运行不同的语句.
我已经尝试过循环和子串等等,但我的知识和理解仍然很渺茫......所以任何帮助都会受到赞赏.
我可以构建一个可执行文件,我知道有更好的方法来处理批处理文件,但至少对于这个任务,我试图通过使用批处理文件来保持简单.
假设我有一个边缘列表,每个边包含两个节点(往返).找到两个给定节点的边缘的最佳方法是什么?请注意,边缘中的节点可能会重复.
说我有这种格式的优势:
1 - - > 5
3 < - > 7
5 < - > 6
2 < - > 6
然后查询如1 5将返回true.
然后查询如5 2将返回true,因为5连接6和6连接到2.
然后查询如1 7将返回false.
然后查询如7 4将返回false,因为4不存在,这意味着它是无边节点.
c# ×3
java ×2
php ×2
.net ×1
algorithm ×1
batch-file ×1
cmd ×1
codebase ×1
colors ×1
domdocument ×1
formatting ×1
image ×1
inheritance ×1
interface ×1
json ×1
logging ×1
scripting ×1
validation ×1
windows ×1
wine ×1
winforms ×1