ASP.NET 中使用 Log4Net 记系统日志

Unmi原来一直是做 Java 的,凡是做 Java 的项目都会用到 Log4J 来记载日志,比如那些开源的框架,Struts/Hibernate/Spring 都有用到 Log4J, 系统日志成了一个必要的东西,没有它,软件出问题了很难去定位。

最近无奈间接手了一个 .NET 项目,代码一片混乱,又没有错误日志,只在不很紧要处用 LogEvent 写了些东西到系统事件日志中。经常的客户有对这个项目提些 TroubleShooting, 基本只能对代码走查找到问题所在,实在是累啊,而且有些问题可就无能为力了。所以希望在新的版本上线时有记录错误日志信息,这样以后发生错误就能根椐日志信息迅速定位到代码行以及了解到发生了何种具体异常。 阅读全文 >>

Spring MVC 初体验

相信很多搞过Java的人都用过 Struts,或者转到用 Spring 框架后使用的仍然是Struts提供的MVC,那么是否想更多了解一下 Spring 本身的 MVC 呢,其实 Spring 的 MVC 还是很不错的,它×?Struts 中好的东西,还集 WebWork 的拦截器,下面来让我对 Spring MVC 作一个最简单的体验。 

称之谓简单是我觉得要去体验 Spring 的 MVC 的这个例子已经是精小到极致了,应用中没有配置ContextLoaderServlet或者ContextLoaderListener。借鉴于 Struts 的概念,这个实例中的的请求处理过程依次是/helloSpring.unmi->helloSpringController->helloSping.jsp) 阅读全文 >>

为何Java的有包名的类不能引用默认包中的类

有两个java类,源代码如下:

 //没指定包名,也就是在默认包中public class B {
  public void print(){
    System.out.println("Printed By B Class");
  }
}
 package com.unmi;
import B; //引用默认包中的B类
public class A {
  public static void main(String[] args) {
    B b = new B(); //在A中想要引用默认包中的B类
  }
}

先不说在IDE中如何编译它们以及会提示什么语法错误,只是用命令javac来编译它们,先是把它们放在同一个目录下,注意的是,虽然A.java有package unmi.com;声明,我们还是先把它放在下B.java同一目录,希望由javac命令来生成相对应的包目录。 阅读全文 >>

ASP.net从服务器端向客户端弹出alert对话框,但不使页面变成白板

在做ASP.net的项目时,碰到在页面上输入一些数据后,然后点击提交按钮,然后服务器端校验数据,如果数据不合格,用

Response.Write("<script>alert(' 用户名不存在!')</script>") 

向客户端推出一个警告窗口提示,这时候会发现,显示警告窗口的时候,在警告窗口的背面页面是一片空白,非得你按了警告窗口上的确定按钮,主页面才会显示出需要的内容。

为什么会出现一个页面白板呢?包括服务器端向客户端推出的 showModalDialog 模态窗口一样,用 Response.Wrtie()输出到客户端页面,可以通过查看生成页面的源文件,就能发现是在页面的最前面加上了 alert() 或 showModalDialog() js函数,这种警告窗口或模态窗口弹出来之后,将会阻止页面显示接下来的内容,所以您看到的就是一片空白,只有用户关了警告或模态窗口才会继续显示页面内容。那么怎么才能让显示 alert对话框或 showModalDialog 窗口时,主页面有内容显示呢?很简单,需要让生成的 html 中 alert 和 showModalDialog 处在显示内容的后面。 阅读全文 >>

用VS.NET开发asp.net时调试的时候出现错误,不能调试!

我用的是vs2003.net,原来本机安装的是IE6.0,现在换成了IE7.0,在vs2003.net中来调试C#写的ASP.net程序,启动时出现错误,不能调试
错误对话框是:
试图运行项目时出错:无法在Web服务器上启动调试。您不具备调试此应用程序的权限,此项目的URL位于Internet区域。有关更多信息,请单击"帮助"。

在网络上搜索找到下面这篇比较全面的资料:http://www.jxcn.cn/so/cnstu/3865/3865450.htm
--------------------------------------------------------------------------------
看一下网站的文件夹安全属性.是不是有操作权限.还有就是IIS的安全设置.要启用windows验证密码
-------------------------------------------------------------------------------- 阅读全文 >>

C++的头文件中类声明后忘记加分号产生不可预期的编译错误

头文件 Test.h 的内容是
class Test
{
public:
 virtual void test1();
}
实现文件是 Test.cpp
#include "Test.h"
#include <iostream>
using namespace std;
void Test::test1(){  cout<<"Hello"<<endl; }

编译时出现错误
c:\program files\microsoft visual studio\vc98\include\errno.h(29) : error C2143: syntax error : missing ';' before 'string' 阅读全文 >>

为什么Oracle的伪列rownum不支持>,>=,=,between...and,而都用<比较

对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(<、<=、!=),并非说用>,>=,=,between..and 时会提示SQL语法错误,而是经常是查不出一条记录来,还会出现似乎是莫名其妙的结果来,其实您只要理解好了这个 rownum 伪列的意义就不应该感到惊奇,同样是伪列,rownum 与 rowid 可有些不一样,下面以例子说明

假设某个表 t1(c1) 有 20 条记录

如果用 select rownum,c1 from t1 where rownum < 10, 只要是用小于号,查出来的结果很容易地与一般理解在概念上能达成一致,应该不会有任何疑问的。 阅读全文 >>