ASP.NET Custom Error Pages 
By Milan Negovan

ASP.NET provides a simple yet powerful way to deal with errors that occur in your web applications. We will look at several ways to trap errors and display friendly meaningful messages to users. We will then take the discussion a step further and learn how to be instantly notified about problems so you can cope with them right away. As a geek touch we will also track the path 404's travel.
In the days of "classic" ASP you used to get cryptic—an often times downright misleading—error messages. "White pages" leave your visitors in the dark who don't know what happened and what to do next besides closing the browser or navigating away.

It's obvious that "white pages" are ugly but there's another angle to this—ASP.NET displays an exception stack trace which may reveal what your code does and how it works. These days, when the word "security" is in vogue, this could be a dangerous side effect.

Custom error pages are not luxury any more, they are a must-have. You have several ways to implement them.

Trapping Errors On Page Level
Every time you create a web form in Visual Studio .NET you see that your page class derives from System.Web.UI.Page. The Page object helps you trap page-level errors. For this to happen you need to override its OnError method as follows:

protected override void OnError(EventArgs e)
{
// At this point we have information about the error
HttpContext ctx = HttpContext.Current;

Exception exception = ctx.Server.GetLastError ();

string errorInfo =
"<br>Offending URL: " + ctx.Request.Url.ToString () +
"<br>Source: " + exception.Source +
"<br>Message: " + exception.Message +
"<br>Stack trace: " + exception.StackTrace;

ctx.Response.Write (errorInfo);

// --------------------------------------------------
// To let the page finish running we clear the error
// --------------------------------------------------
ctx.Server.ClearError ();

base.OnError (e);
}
This works for one page only, you may say. To have every page benefit from this kind of error handing we need to take advantage of the Page Controller pattern. You define a base class and have every page inherit from it. Download sample code for this article and see the CustomError1 project for an example.

Later on in this article you will learn why may need to collect exception information in this manner. Stay tuned.

Trapping Errors On Application Level
The idea of capturing errors on the application level is somewhat similar. At this point we need to rehash our understanding of the Global.asax file.

From the moment you request a page in your browser to the moment you see a response on your screen a complex process takes place on the server. Your request travels through the ASP.NET pipeline.

In the eyes of IIS each virtual directory is an application. When a request within a certain virtual directory is placed, the pipeline creates an instance of HttpApplication to process the request. The runtime maintains a pool of HttpApplication objects. The same instance of HttpApplication will service a request it is responsible for. This instance can be pooled and reused only after it is done processing a request.

Global.asax is optional which means if you are not interested in any session or application events you can live without it. Otherwise the ASP.NET runtime parses your global.asax, compiles a class derived from HttpApplication and hands it a request for your web application.

HttpApplication fires a number of events. One of them is Error. To implement your own handler for application-level errors your global.asax file needs to have code similar to this:

protected void Application_Error(object sender, EventArgs e)
{
}
When any exception is thrown now—be it a general exception or a 404—it will end up in Application_Error. The following implementation of this handler is similar to the one above:

protected void Application_Error(Object sender, EventArgs e)
{
// At this point we have information about the error
HttpContext ctx = HttpContext.Current;

Exception exception = ctx.Server.GetLastError ();

string errorInfo =
"<br>Offending URL: " + ctx.Request.Url.ToString () +
"<br>Source: " + exception.Source +
"<br>Message: " + exception.Message +
"<br>Stack trace: " + exception.StackTrace;

ctx.Response.Write (errorInfo);

// --------------------------------------------------
// To let the page finish running we clear the error
// --------------------------------------------------
ctx.Server.ClearError ();
}
Be careful when modifying global.asax. The ASP.NET framework detects that you changed it, flushes all session state and closed all browser sessions and—in essence—reboots your application. When a new page request arrives, the framework will parse global.asax and compile a new object derived from HttpApplication again.

Setting Custom Error Pages In web.config
If an exception has not been handed by the Page object, or the HttpApplication object and has not been cleared through Server.ClearError() it will be dealt with according to the settings of web.config.

When you first create an ASP.NET web project in Visual Studio .NET you get a web.config for free with a small <customErrors> section:

<customErrors mode="RemoteOnly" />
With this setting your visitors will see a canned error page much like the one from ASP days. To save your face you can have ASP.NET display a nice page with an apology and a suggested plan of action.

The mode attribute can be one of the following:

On – error details are not shown to anybody, even local users. If you specified a custom error page it will be always used.
Off – everyone will see error details, both local and remote users. If you specified a custom error page it will NOT be used.
RemoteOnly – local users will see detailed error pages with a stack trace and compilation details, while remote users with be presented with a concise page notifying them that an error occurred. If a custom error page is available, it will be shown to the remote users only.
Displaying a concise yet not-so-pretty error page to visitors is still not good enough, so you need to put together a custom error page and specify it this way:

<customErrors
mode="RemoteOnly"
defaultRedirect="~/errors/GeneralError.aspx"
/>
Should anything happen now, you will see a detailed stack trace and remote users will be automatically redirected to the custom error page, GeneralError.aspx. How you apologize to users for the inconvenience is up to you. Ian Lloyd gives a couple of suggestions as to the look and feel of a custom 404 page.

The <customErrors> tag may also contain several <error> (see MSDN) subtags for more granular error handling. Each <error> tag allows you to set a custom condition based upon an HTTP status code. For example, you may display a custom 404 for missing pages and a general error page for all other exceptions:

<customErrors mode="On" defaultRedirect="~/errors/GeneralError.aspx">
<error statusCode="404" redirect="~/errors/PageNotFound.aspx" />
</customErrors>
The URL to a custom error page may be relative (~/error/PageNotFound.aspx) or absolute (http://www.yoursite.com/errors/PageNotFound.aspx). The tilde (~) in front of URLs means that these URLs point to the root of your web application. Please download sample code for this article and see the CustomErrors3 project.

That's really all there's to it. Before we move on to the next (and last approach) a few words about clearing errors.

Clearing Errors
You probably noticed I chose to call Server.ClearError() in both OnError and Application_Error above. I call it to let the page run its course. What happens if you comment it out? The exception will leave Application_Error and continue to crawl up the stack until it's handled and put to rest. If you set custom error pages in web.config the runtime will act accordingly—you get to collect exception information AND see a friendly error page. We'll talk about utilizing this information a little later.

Handling Errors In An HttpModule
Much is written about HTTP modules. They are an integral part of the ASP.NET pipeline model. Suffice it to say that they act as content filters. An HTTP module class implements the IHttpModule interface (see MSDN). With the help of HttpModules you can pre- and post-process a request and modify its content. IHttpModule is a simple interface:

public interface IHttpModule
{
void Dispose();
void Init(HttpApplication context);
}
As you see the context parameter is of type HttpApplication. It will come in very handy when we write out own HttpModule. Implementation of a simple HttpModule may look as follows:

using System;
using System.Web;

namespace AspNetResources.CustomErrors4
{
public class MyErrorModule : IHttpModule
{
public void Init (HttpApplication app)
{
app.Error += new System.EventHandler (OnError);
}

public void OnError (object obj, EventArgs args)
{
// At this point we have information about the error
HttpContext ctx = HttpContext.Current;

Exception exception = ctx.Server.GetLastError ();

string errorInfo =
"<br>Offending URL: " + ctx.Request.Url.ToString () +
"<br>Source: " + exception.Source +
"<br>Message: " + exception.Message +
"<br>Stack trace: " + exception.StackTrace;

ctx.Response.Write (errorInfo);

// --------------------------------------------------
// To let the page finish running we clear the error
// --------------------------------------------------
ctx.Server.ClearError ();
}

public void Dispose () {}
}
}
The Init method is where you wire events exposed by HttpApplication. Wait, is it the same HttpApplication we talked about before? Yes, it is. You've already learned how to add handlers for various evens to Global.asax. What you do here is essentially the same. Personally, I think writing an HttpModule to trap errors is a much more elegant solution than customizing your Global.asax file. Again, if you comment out the line with Server.ClearError() the exception will travel back up the stack and—provided your web.config is properly configured—a custom error page will be served.

To plug our HttpModule into the pipeline we need to add a few lines to web.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.web>
<httpModules>
<add type="AspNetResources.CustomErrors4.MyErrorModule,«
CustomErrors4"
name="MyErrorModule" />
</httpModules>
</system.web>
</configuration>
As MSDN states the type attribute specifies a comma-separated class/assembly combination. In our case MyErrorModule is the name of a class from the AspNetResources.CustomErrors4 assembly. Tim Ewald and Keith Brown wrote an excellent article for MSDN Magazine on this subject.

You will find a full-fledged sample in the CustomErrors4 project in code download.

To gain deeper understanding of HttpModules and their place in the HTTP pipeline I encourage you to search the web since the nuts and bolts are not relevant to the topic of error handling.

What about HTML pages?
What happens if you request a non-existent HTML page? This question comes up in news groups very often.

By default you will get a canned "white page". When you install the .NET Framework is maps certain file extensions to the ASP.NET ISAPI, aspnet_isapi.dll. Neither HTML nor HTM files are mapped to it (because they are not ASP.NET pages). However, you can configure IIS to treat them as ASP.NET pages and serve our custom error pages.

Run the IIS Manager
Select a web application
Right click and go to Properties
On the Virtual Directory tab click Configuration
In the Extension column find .aspx, double click and copy the full path to aspnet_isapi.dll. It should be something like C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\«
aspnet_isapi.dll
Click Add and paste the path in the Executable box
In the Extension box type .html
Make sure Check that file exists is NOT checked
Dismiss all dialogs
If you type a wrong URL to an HTML page now you should get our user-friendly error page.

Analyze That
The reason we went this far with error trapping is the insight we gain about the problem. As strange as it may sound, exceptions are your friends because once you trap one you can alert responsible people right away. There are several ways to go about it:

Write it to the system event log. You could have WMI monitor events in the log and act on them, too. See MSDN for more information
Write it to a file
Email alerts
Please refer to an excellent whitepaper, Exception Management Architecture Guide from Microsoft for a comprehensive discussion of different aspects of error handling.

I've implemented the last option—email alerts—in a production environment and it worked great. Once someone pulls up a (custom) error page we get an email and jump right on it. Given the fact that users grow impatient with faulty sites and web applications, it's critical to be notified of errors right away.

The Path of 404
As I was researching the topic of custom error pages I couldn't help wondering where 404s originate from and how we end up seeing custom 404 pages. To follow this exercise you will need MSDN and Lutz Roeder's Reflector.

When IIS receives a resource request it first figures out if it will process it directly or match against an ISAPI. If it is one of the ASP.NET resources, IIS hands the request to the ASP.NET ISAPI, aspnet_isapi.dll.

For example, when a request for an .aspx page comes the runtime creates a whole pipeline of objects. At about this time an object of type HttpApplication (which we already talked about) is instantiated. This object represents your web application. By tapping into the various events of HttpApplication you can follow request execution every step of the way (the image on the left shows the sequence of these events).

Next, HttpApplication calls its MapHttpHandler method which returns an instance of IHttpHandler (an object that implements IHttpHandler, to be more precise). The IHttpHandler interface is a very simple one:

public interface IHttpHandler
{
void ProcessRequest(HttpContext context);
bool IsReusable { get; }
}
The IsReusable property specifies if the same instance of the handler can be pooled and reused repeatedly. Each request gets its own instance of HttpHandler which is dedicated to it throughout the lifetime of the request itself. Once the request is processed its HttpHandler is returned to a pool and later reused for another request.

The ProcessRequest method is where magic happens. Ultimately, this method processes a request and generates a response stream which travels back up the pipeline, leaves the web server and is delivered to the client. How does HttpApplication know which HttpHandler to instantiate? It's all pre-configured in machine.config:

...
<httpHandlers>
<add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory"/>
<add verb="*" path="*.ashx"
type="System.Web.UI.SimpleHandlerFactory"/>
<add verb="*" path="*.asax" type="System.Web.HttpForbiddenHandler"/>
...
</httpHandlers>
This is only an excerpt. You have more HttHandlers configured for you. See how .aspx files are mapped to the System.Web.UI.PageHandlerFactory class?

To instantiate the right handler HttpApplication calls its MapHttpHandler method:

internal IHttpHandler MapHttpHandler (
HttpContext context, string requestType,
string path, string pathTranslated,
bool useAppConfig);
If you follow the assembly code of this method you will also see a call to the PageHandlerFactory.GetHandler method which returns an instance of HttpHandler:

L_0022: call HttpApplication.GetHandlerMapping
L_0027: stloc.2
L_0028: ldloc.2
L_0029: brtrue.s L_004a
L_002b: ldc.i4.s 42
L_002d: call PerfCounters.IncrementCounter
L_0032: ldc.i4.s 41
L_0034: call PerfCounters.IncrementCounter
L_0039: ldstr "Http_handler_not_found_for_request_type"
L_003e: ldarg.2
L_003f: call HttpRuntime.FormatResourceString
L_0044: newobj HttpException..ctor
L_0049: throw
L_004a: ldarg.0
L_004b: ldloc.2
L_004c: call HttpApplication.GetFactory
L_0051: stloc.3
L_0052: ldloc.3
L_0053: ldarg.1
L_0054: ldarg.2
L_0055: ldarg.3
L_0056: ldarg.s pathTranslated
L_0058: callvirt IHttpHandlerFactory.GetHandler
Every ASP.NET page you write, whether you insert a base class in-between or not, ultimately derives from the System.Web.UI.Page class. It's interesting to note that the Page class inherits the IHttpHandler interface and is an HttpHandler itself! What that means is the runtime will at some point call Page.ProcessRequest!

Page.ProcessRequest request delegates all work to its internal method, ProcessRequestMain:

if (this.IsTransacted)
{ this.ProcessRequestTransacted(); }
else
{ this.ProcessRequestMain(); }
Finally, ProcessRequestMain is where all the fun stuff happens. Among all the many things it does, it defines an exception handler as follows:

Try
{
// code skipped
catch (Exception exception4)
{
exception1 = exception4;
PerfCounters.IncrementCounter(34);
PerfCounters.IncrementCounter(36);
if (!this.HandleError(exception1)) { throw; }
}
}
If you follow HandleError further you'll notice that it will try to look up the name of your custom error page and redirect you to it:

if ((this._errorPage != null) &&
CustomErrors.GetSettings(base.Context).«
CustomErrorsEnabled(this._request))
{
this._response.RedirectToErrorPage(this._errorPage);
return true;
}

internal bool RedirectToErrorPage(string url)
{
bool flag1;
try
{
if (url == null)
{
flag1 = false;
goto L_0062;
}

if (this._headersWritten)
{
flag1 = false;
goto L_0062;
}

if (this.Request.QueryString["aspxerrorpath"] != null)
{
flag1 = false;
goto L_0062;
}

if (url.IndexOf(63) < 0)
{
url = string.Concat(url, "?aspxerrorpath=", this.Request.Path);
}

this.Redirect(url, 0);
}
catch (Exception exception1)
{
flag1 = false;
goto L_0062;
}

return true;
L_0062:
return flag1;
}
This method does you a favor by appending the offending URL. You can see ?aspxerrorpath= in the URL each time a custom 404 page is displayed.

If everything goes smooth—no exceptions thrown, no redirects to custom error pages—ProcessRequest finishes its job, and the response travels back through the pipeline.

Conclusion
This article gave a detailed overview of ASP.NET custom error pages and several different approaches of setting them up. It's important that users see meaningful, friendly error pages. By the same token it's important that people on the other end are alerted about problems right away. ASP.NET provides a powerful and flexible framework to achieve both goals.

Link

[ add comment ]   |  permalink  |  related link  |   ( 3 / 741 )
乒坛名将高军讲述海外11年的曲折生活 

乒坛名将高军讲述海外11年的曲折生活
2004-08-09 14:24:00 乒乓世界 宋斐 夏娃

 哥德堡,瑞典的第二大城市,拥有宏伟的城市广场和浓厚的人文环境。1993年,24岁的女将高军在那里以一枚来之不易的世乒赛女单铜牌结束了自己的中国国手生涯,开始了一段跨越太平洋、曾经美好但又充满辛酸的乒乓情缘。

  作为我国80年代末、90年代初期最优秀的直拍正胶快攻手之一,高军在第42届世乒赛女单比赛中成为中国女队进入四强的仅存硕果。那届世乒赛,“海外兵团”这个词的使用率达到了顶峰,一日之内世界头两号种子邓亚萍和乔红分别负于代表新加坡和德国出战的井浚泓和施捷。半决赛高军对垒代表中国台北出战的前国手陈静,高军正手打不上、反手推不死,以0比3完败对手。从41届世乒赛女团决赛连负玄静和、俞顺福开始,不紧不慢的高军总给人一种“就差那么一口气”的感觉。是的,从铜牌到金牌,两步之遥、咫尺巅峰,她为自己圈了一个并不完满的句号。

  其实从我内心来讲,我是很喜欢打乒乓球的。但是1993年世乒赛后,我就说什么都不想再打了。不是觉得打够了,而是觉得压力太大了,就是打得很痛苦,享受不到什么乐趣,看见它我就烦。那个时候我还很年轻、状态也非常好,42届女单,中国队就我一人进了前四名。半决赛的时候,我就觉得自己不行了,扛不住了。因为中国队全输了,我当时承受不了那种压力。输给陈静,我觉得不是因为自己输在技术上,而是输在了心理上。如果我赢了她,决赛对玄静和我也不下风。陈静为什么在决赛的时候输给了玄静和了,我觉得她也是输在心态上。此前的比赛,她对玄静和几乎全胜,到决赛了,她觉得她能赢,结果却以0比3输了。当然她可能没有我那么大的压力,但可以肯定的是她的思想变化直接影响到了她技术上的发挥。

  于是,我的球就这样停了好多年,大概有个五六年吧,基本就没有摸过拍子。而且去美国的时候我的甲状腺有点问题,就是不能运动,一运动就心慌,心跳特别快。那时,我每天的生活就是早起上班,到点下班。再后来,我就是随便打打球,周末约个人“哎咱们俩去玩玩去吧”,几乎五六年就是这样过来的。我每次打完后都挺美的,就是觉得打球还真好玩,然后偶尔参加个小比赛,谁也赢不了我,我自己觉得挺美。

  1999年的国际乒联职业巡回赛英格兰公开赛,是隐退多年的高军首次在央视转播的大型比赛上以“美国队队员”的身份露面。时过境迁,新潮的发型和略微发福的身材都告诉人们,眼前的这个高军已经不是往日的那个国手高军了,但有一点没变的就是她打球的灵气以及毫不张扬的独特个性。那次比赛她杀入四强,在半决赛上负于法国选手安尼-布尔热。

  1997年,我正式成为美国公民之后,美国乒协一直问我想不想代表美国队打比撒。我说还打什么呀,就这么玩玩挺好的。他们就劝我,你干嘛不打,你看你不练球,在美国都还没有人能打过你。我当时想,我原来打球有个目标,可现在纯粹是为了好玩,没有目标去打,有什么意思啊,就一直没有同意。到1999年的时候有个泛美运动会,级别相当于亚运会,美国乒协又来动员我,说咱们一直都赢不了加拿大,你出山了就有希望了,如果成绩好以后还可以代表美国队打奥运会。美国一直跟加拿大拼嘛,加拿大有一个耿丽娟,美国队谁也赢不了她,正巧有个小比赛我赢她了,他们就觉得希望来了。可当时我入籍的年限不够,按着国际乒联的规定,要参加泛美运动会和奥运会必须征得原乒协的同意。于是,美国奥委会的人就写信到中国乒协问我能不能打,中国乒协同意了。盛情之下,我只好打吧,一打吧,还真把耿丽娟给打下去了。团体赢了、单打也把她赢了,好像是3比2赢的。帮我写信给中国乒协的John Ruge特别高兴,其实他一点也不懂乒乓球,决赛那天他去看球,怎么算是赢球怎么才是输球他一点都没有概念,裁判员翻分翻我这边他才鼓掌,后来他知道怎么看球了,就说:“太紧张了,我手上全是汗,我从来没有看过这种比赛。”

  悉尼奥运会是高军第二次走入奥林匹克的圣殿。1992年的巴塞罗那,高军和“怪球手”陈子荷搭档负于邓亚萍和乔红取得女双银牌,时隔八年,她已经从一个职业球员转变成为一个名副其实的“二把刀”。女单小组赛,高军顺利出线,但在和韩国名将柳智惠的遭遇战中,她以1比3败北。虽然输了球,可高军觉得很满足,因为她在美国就没进行过系统训练,能拿下对手一局已经很美了。可是谁又知道高军的悉尼之旅经历了多少不为人知的艰辛和磨难呢?

  泛美运动会之后,美国队和我有竞争的人认为我是个很大的威胁,就联名向美国奥委会告我。John Ruge这时候就站出来给我作证,说他写信征得了中国乒协的同意。在大家的帮助下,我的官司打赢了,当时,我请了在马里兰州最有名的华人女律师屈启慧,她中文英文都特别流利。因为当时她跟我学打球,所以律师费也给我打了很多折,但还是花了将近一万美金。

  官司赢了之后,她又帮我写信给美国奥委会,申请赔偿。她说这个官司并不是因为我而起的。最后美国奥委会把这钱全部赔给我了。所以,那会儿打比赛的时候我也有压力,我想美国奥委会这么帮我,又是写信又是打官司,不赢球就特对不起人家。这种压力和代表中国队打的压力还不一样,是另外一种压力。当时打泛美运动会的时候我都没有世界排名了。打完那比赛接着打美国公开赛,又把陈静给赢了。她和耿丽娟的世界排名很高,赢了她俩,我一下子世界排名到了第20。正好排在前20的选手自动入选奥运会,我卡了一个壳,就去了悉尼。当时中国乒协也是同意我去打奥运会的。在这点上,中国乒协做得非常大度,谁都没卡,包括倪夏莲、陈静等人。其实中国乒协不用说不同意,只要他们说一句:我们按照国际乒联的规矩办,我们就打不了。这一点我挺感谢中国乒协的。没想到大家打着打着还很上瘾。现在打比赛的时候我也紧张,不可能不紧张,因为想赢就紧张。但和原来不一样了,原来是想赢怕输,现在是想赢不怕输,输了就输了呗,输了又怎么了。

  2001年初,高军随丈夫回国,落脚上海,不久即在甲B联赛中露面了。一年多之后,高军和丈夫分道扬镳,凭着对乒乓球的热爱和坚韧的个性,她在球场上和生活中重新开辟一片静谧的天地。

  我们是2001年初从美国回来的,之后陆陆续续发生了一些不愉快的事情,我们俩就决定分开,那时是2002年底。刚回国时我也没有事情做,有一次打电话跟唐寅生指导聊天,他说我给你找个甲B打打吧,我心说我这球也就打打甲B吧,打得还挺好的。其实,2001年的甲B还算是挺强的,当时李小霞还打甲B呢。但是除了打甲B外我还是没有什么事情做,张燮林就说你去念念书吧,华东理工大学有球队,一边打打球,一边充充电。张指导就帮我跟臧老师联系了,学国际贸易专业,她也挺欢迎我来的。这也算是一个转折点吧,念念书,打打球,我挺适应这种生活的。

单说乒乓球,中国和美国的差异就是一个天上一个地下。在物质生活上,生态环境上,当然是美国好。但你说美国除了生态环境,我还喜欢它什么啊,没有什么好喜欢的,在国内如果有钱也能买大房子,也能买好车啊。但要是想打球,你还是要到中国来打,哪儿都不如在中国好,教练水平,训练条件,是任何国家都没法比的。

  我刚到华东理工大学的时候邬娜还没有来,我和赵月住一个宿舍。冬天没暖气,夏天没空调,我一点不觉得苦。现在回过头去分析,第一是我对物质条件要求不高,平时一盘蛋炒饭之类的就可以把我打发了。第二可能是因为我很留恋国家队的那种集体生活。我在上海的生活很简单,在这个国际化的大都市里我对穿衣服也不讲究,圆领衫、牛仔裤、旅游鞋,也没有什么开销,最多的开销就是平日里和同学一起出去吃吃饭,带着一群小孩,有叫我阿姨有叫我姐的,当然我买单。

  在我情绪最低落的时候,也多亏他们了。刚离婚的时候我心里很不愉快,自己一个人的时候很压抑很痛苦,老是想哭啊什么的。在学校每天跟一群小孩子在一起,觉得生活特别美好,等于帮助我走出了那段阴影。老师们对我也挺照顾的,有的时候我不想训练了,想睡觉,行,你就睡觉吧。我觉得我特高兴,一个人的精神生活很重要,我觉得我就是那种东北人常说的“穷乐和”,我一般都在学校里,很少出去,和上海的乒乓球界没有什么接触。联系比较多的就是蝴蝶的总代理肖新民,因为我现在用的是蝴蝶器材。

  在这个弧圈球“肆虐”的国际乒坛里,直拍正胶打法就像一颗颗散落在夜幕中的璀璨星辰,虽然渺小却耀眼异常。自戴丽丽、高军、杨影乃至张莹莹之后,国家队再也难以找出一块像样的正胶。曾经百花齐放的芬芳,如今闻来多少有些无奈和悲凉。可不甘寂寞的高军在2003年5月的巴黎世乒赛和2003年12月的女子世界杯上,却放了两颗令人大跌眼镜的卫星,也为处在生存夹缝中的正胶争得了一点点宝贵的空间。先是在巴黎,她完胜女子乒坛头号削球手韩国人金景娥,以34岁的高龄和克罗地亚名将鲍罗斯上演了惨烈的7局大战最终无缘四强。转战香港,在女子世界杯中,高军以4比2击败王楠再度入围八强。在今年5月份举行的韩国公开赛中,高军与德国的沃西克搭档战胜了中国奥运选手牛剑锋/郭跃,单打以3比4负于张怡宁,最后获得女双亚军。在随后的新加坡公开赛上,高军战胜了欧洲高手鲍罗斯。

  鲍罗斯的整体技术不像中国队那么细,她虽然有劲,但就是那么一板有劲。处理短球,只要你稍微变化一下,她就出现无谓失误,而中国选手不可能出现这种情况。我觉得直板正胶原来也是这样的,那时可能大家的打法都是类似的,都比较接近,所以要求得没有那么细致。现在如果直板正胶要是想打好、打到主力的话,需要具备的条件太多了。首先就是你的脑子必须够用,手上的感觉够用,有力量有速度跑得够快,具备这些你还需要有实力去和人家横板去抗衡,因为打到最后大家都是控制严密吧,接发球各方面都比以前好了,而且整个战术上都和原来不一样了。反正我觉得直板正胶确实不好打,但也不是说完全不能打。

  过去在国家队的时候,我特恨“海外兵团”,心想又要打外国人,又要对付你们这些人,输给外国人吧也就算了,输给“海外兵团”,怎么说都说不过去。但是现在,我自己也成了“海外兵团”了,这边的心态我也体验到了。我们没有训练对手,没有好的教练,比国家队现在的主力都大十来岁。我拿什么赢她们?赢不了。美国队就老说,你是不是和中国队不拼啊,我说你去拼拼看。那个时候“海外兵团”和我们打肯定也是这个心态,就像我现在和张怡宁、王楠、牛剑锋打一样,总觉得赢一局我就满足了。偶尔赢上一两场,也正是得益于这种心态。像去年女子世界杯,与王楠比赛之前我一直和焦志敏购物,晚上9点钟的比赛我应该坐8点钟的班车,因为逛街没赶上,心思根本就没在比赛上,总觉得反正自己也赢不了。到最后稀里糊涂地赢了,都不知道怎么赢的。就记得当时场地里只有一张球台,自己连个教练都没有,觉得特别丢人,特没面子。

  这次在韩国公开赛跟张怡宁打,我应该很快就输的,最多也就打到2比4吧。第6局我的运气特好,我本来落后了一车,但一会儿一个擦边一会儿一个擦网,可能有点把她擦晕了,后来她赶上了,最后到10:8的时候我还擦了一网,要不然我应该2比4输的。我和她们打,能赢一局已经感觉挺美的了,3比4输的时候已经特美了,不错了,管你是擦网还是擦边赢的。

  双打是沃西克主动找我配的,以前我们俩连话都没说过。我心想反正闲着也是闲着,随便配一个什么人吧,我也没有指望上。后来我才知道其实李惠芬想让我和张瑞配,但沃西克已经先跟组委会说了。我们俩先打了小组预选赛,上来以后第一场就碰到了牛剑锋和郭跃,可能她俩刚开始也没有把我们放到心上吧,打到后来,我们俩确实打得也挺好的。我觉得郭跃和牛剑锋情愿碰上那种她们事先准备好的强手,就跟你死拼了,也不愿意打我们这样看起来不使劲,但是实际上还是挺使劲的那种。但是她俩双打确实不错,老牛的双打控制挺好的,郭跃进攻强,可能也是由于年龄小吧,技术方面掌握得不是那么全。相对来讲,她们俩威胁比较大,但是说要是稳的话还是王楠和张怡宁。如果在同等的压力之下打比赛,我相信谁也打不过中国队。

  “看庭前花开花落,宠辱不惊;望碧空云卷云舒,去留无意”。在华东理工大学附近的一个小咖啡馆里,本来约好半小时的采访在不经意间持续了1个半小时,高军的坦诚让记者始料不及。开心也好,失意也罢,高军毫不掩饰地娓娓道来。

  我在国家队呆了有8年吧,教练都对我挺好的,像张燮林啊,当时我的主管教练惠钧,以及华正德、肖兴国、曾传强。虽然队员之间有一点摩擦,有一点冲突,我还真不计较这些。当时离开国家队的时候,我心情挺矛盾的。我挺喜欢这个队的,有点舍不得,到现在我还很怀念它。队友里除了几个关系特别好的,与其他人联系也不多,但一见面还是挺亲的。我和焦志敏联系最多,韩国公开赛的时候,她特意让安宰亨从汉城开车去接我,本以为我早早就会被淘汰,没想到一直打到最后,让他白等了两天。超级联赛的时候偶尔能碰上乔红,她是技术监督,世界比赛的时候也见过,在一起聊得挺好的,还时不时的发条短信。有时候给子荷打个电话,我知道她生个儿子。有一次在上海见过小邓,在一起吃的饭,也挺好的。跟乔云萍也通过电话。我们这一批没有谁混的特别不好的,大家都有自己的发展天地,在个人的环境里都挺好的。

说句实话,当时我们在队里时,确实是因为竞争吧,总是会有点矛盾的,比方说小邓吧,那个时候觉得真烦她,她怎么那么狠呢?觉得看不惯她这个看不惯她那个,当我放下球拍的那一天,我马上就想明白了,有什么啊?你打不过人家啊,你赖谁啊你?我真的是这种想法,你打不过人家,就证明你没有本事。其实,现在回过头去看,包括小邓啊还有其他人,我觉得他们都挺好的。

  雅典奥运会我没有任何目标,就是去雅典玩一趟,说得再直接一些,可能让人听了都挺丢人的,我还是比较看重公开赛,因为公开赛我赢了还可以赚两个小钱花花。奥运会赢了也没有钱,而且也赢不了,能赢谁啊?人家都那么强,都在奥运会之前憋着劲练呢。我在学校,训练条件比国外都差好多,更别提咱们的国家队了,所以我对自己没有任何要求。

  奥林匹斯山上的号角已经吹响,就在国家女队在厦门紧张备战的同时,她们的前辈高军却这般出语惊人。35载风霜雪雨,29年乒乓结缘,彼岸到此岸,高军就像那朴实无华的风信子般吹过太平洋,不断写下自己无欲无求的人生轨。

A Cool Passion For Table-Tennis

Gao Jun talks about her last eleven years.

(Chung’s notes: this article appeared in the July 2004 edition of Table Tennis World. Song Fei and Xia Wa were the reporters.)

Gothenburg: Sweden’s number-two city. In 1993, 24-year-old Gao Jun won a difficult bronze medal here to finish her career in the Chinese national team. She then embarked on a trans-Pacific bitter-sweet affair with table-tennis. As one of the best fast-attack pips-out penholders on the national team in the late 80’s and early 90’s, she made it to the final 4 in the 42nd World Championships singles event. That was at the peak of the “Overseas Troops” phenomenon, when on the same day, two top Chinese players Deng Yaping and Qiao Hong lost respectively to Chinese expatriate players Jing Jun Hong and Jie Schoppe. In the semifinals, Gao played former Chinese national team member Chen Jing, who now represented Taipei. She could not establish her forehand attacks or her backhand blocks, and lost easily at 0-3. Since the 41st Worlds women’s team finals, when she lost consecutively to Koreans Hyun Jing Hwa and Yu Sun Bok, Gao continued to give us the impression that she always came up a little short. The bronze medal was only a couple of steps from the gold, and she finished her national team career on a not very satisfactory note.

I have always loved playing table-tennis. But after the 1993 Worlds, I said I did not want to play anymore. It was not because I had played enough; it was because the pressure was too great. Playing became painful, and I stopped enjoying it; I got sick of the game. I was still young then and in good shape. In that Worlds, I was the only Chinese player to make it to the final 4. In the semifinals, I felt that I could not make it, and that I could not hold it up. Because everyone had lost already, I felt an unbearable pressure. I feel that I lost to Chen Jing not because of my techniques, but because of my mental state. If I had beaten her, I would not have been at any disadvantage playing Hyun Jing Hwa. Why did Chen lose to Hyun? I believe it was also due to mental reasons. She faced Hyun before, and she won just about every time they played. At the finals, she felt she could win, but she lost 0-3. Of course she might not have faced the same amount of pressure that I did, but definitely her thoughts were affecting her performance and her execution.

So I stopped playing for a few years, and I basically did not touch my racket. Also, I developed some hormonal problems when I got to the US. I could not do a lot of exercises, because my heart would beat too fast. At that time, my life consisted of going to work every morning, and coming home every evening. Later I started playing casually. I felt great every time I played, and I felt that it was a lot of fun. Occasionally I would play in a tournament, and no one could beat me. I felt really good.

The 1999 English Pro-Tour Open was the first time Gao appeared on Chinese TV, wearing the USA uniform. Her new hairstyle, and the slight weight gain, seemed to tell everyone that this was a new Gao Jun. One thing that had not changed was her style and her unusual individuality. In that tournament, she made it into the semifinals but lost to the French player Anne Boileau.

In 1997, after I became a US citizen, the USATT kept asking me to play for them. I told them I couldn’t really do that, and I was just having a little fun playing in the domestic tournaments. They said that I was winning everything even without training, so why not play more seriously? I thought that I used to have a goal when I played table-tennis in China, but now I was simply playing for enjoyment. Without a concrete goal, why bother? So I said no to them. In 1999, there was a Pan-American championship, sort of equivalent to our Asian Games, and the USATT people asked me to play for them again. They said that they could never beat Canada, but with me on the team, they would have a chance. And if I were to do well, I could even play in the Olympics. The US team had always been competing against the Canadians who had Geng Lijuan on their team. No one on the US team could beat Geng. It so happened that I beat Geng in a small tournament just recently, so they felt like they had a chance now. But I had not been a US citizen sufficiently long, therefore according to ITTF rules I needed approval from my former association in order to play for the US. So the US Olympic Committee wrote a letter to the CTTA asking for permission to release me, and the CTTA agreed right away. Since they tried so hard, I decided that I would do it. And I actually beat Geng, in both teams and singles! I think it was 3-2 in the singles match. John Ruge was the one who wrote the letter to CTTA on my behalf. He did not previously understand the game, but he was there watching me play. He would clap his hands after the referee turned over the score card. Later he learned the rules of the game and he said “It was so exciting. My palms were sweaty. I had never seen this kind of game before!”

The Sydney Olympics was the second Olympics for Gao Jun. At Barcelona in 1992, Gao and her partner Chen Zihe were silver medalists, losing to Deng Yaping and Qiao Hong in the finals. In 8 years, she had changed from a professional player to a part-time player. In the women’s singles, Gao advanced from group play, but lost 1-3 to Korean Ryu Ji Hye. She was satisfied despite the loss, because she did not have systematic training in the US, and she felt good winning one game from Ryu. But how many people knew about the difficulties Gao faced on her way to Sydney?

After the Pan-American Championships, some people who were my competitors on the US team felt that I was a threat to them, and jointly filed a case against me with the US Olympics Committee. At this time John Ruge stood up for me, and said that I had obtained a release from the CTTA. With the help of many people, I won that case. I hired a famous female Chinese lawyer in Maryland to represent me. She was taking lessons from me, and she discounted the fees, but still it was close to $10,000 that I had to pay.

After I won that case, she helped me apply to the Olympics Committee for compensation for the litigation expenses, because I was not the one who started the law suit. Finally I was reimbursed for all my expenses. So I was under some pressure then, since I felt that I would have let a lot of people down if I did not win in tournaments. This was a different kind of pressure than the ones I faced on the Chinese national team. When I played in the Pan-Am Championships, I did not have a world ranking. After that tournament, I played in the US Pro-Tour and beat Chen Jing. Chen and Geng were highly ranked, so all of a sudden, I was ranked in the top 20. I got an automatic qualification for the Olympics because I was among the top 20. So I made it to Sydney. The CTTA agreed to let me play in the Olympics, and I feel that they showed a lot of class. They also did not try to prevent Chen Jing or Ni Xialian from playing in the Olympics. If they had said no to the ITTF, I would not have been able to play, so I want to thank them for their generosity. I sometimes play a little nervously; if I want to win, I would get nervous. But it is different than before. I used to really want to win and was afraid of losing. Now I just want to win, and I am not afraid of losing. A loss is just a loss now, it is not a big deal anymore.

In the beginning of 2001, Gao Jun followed her husband back to China, and lived in Shanghai. Soon after that she played in the 1-B league. Less than two years later, she and her husband went on separate ways. Because of her love of the game and her persevering personality, she has now found a new peaceful space in table-tennis and in the world.

We came back from the US in the beginning of 2001. A sequence of unhappy events followed, and we decided to separate. That was at the end of 2002. When I first came back, I had little to do. One time I called up my old coach Tang Yinsheng, and he said that he would find me a 1-B team to play in. I thought that 1-B was probably about my level, and it would be good if I could do well. Actually in 2001, the 1-B league was a very tough league; Li Xiaoxia was playing in that league then. Besides playing in that league, I still did not have much to do, so coach Zhang Xielin told me to go back to school. The East China Polytechnic University had a table-tennis team, and coach Zhang spoke to coach Zang there to arrange a spot for me, as a student in international trade. Coach Zang was happy to have me, and this became another turning point in my life: I have really adapted to going to school and playing on the school team.

If you talk about table-tennis, there is a night and day difference between China and the US. When you talk about living conditions and material aspects, of course the US is much better. But apart from those things, what else do I like about the US? There is really not that much. In China, I can also buy a big house, or a big car, if I have the money. But if you want to play table-tennis, you have to come to China. The coaches, the playing levels, and the training conditions here are simply beyond comparison.

When I first arrived at the university, Wu Na was not here yet. I roomed with Jiao Yue. We do not have heating in the winter or air-conditioning in the summer, and we use communal bathrooms. But I do not feel uncomfortable at all. First of all, I have very low needs for material things; a plate of fried rice would easily satisfy me. Second, I really miss the time I spent in the national team; I really enjoy being part of a community. I lead a very simple life in Shanghai. In this cosmopolitan city, I wear very simple clothes: a T-shirt, a pair of jeans, and a pair of sneakers are all I need, so I do not spend much. My biggest expense is eating out with my teammates and classmates. They all call me auntie or big sister, so naturally I end up paying the bill.

When I was emotionally at the lowest point, they helped me pull through. Right after the divorce I was very unhappy. When I was alone, I felt really oppressed and always wanted to cry. But being in school with a lot of young people, I began to feel that life is wonderful. They helped me step out of the shadows. My coaches and teachers were very nice to me. Sometimes I did not want to practice and just wanted to sleep, and they would let me do that. I feel happy now. The state of mind is very important, and I feel that I am what the northeasterners call “poor-but-happy”. I spend most of my time on the campus and seldom go out. I do not have much contact with the table-tennis community in Shanghai, except with the Butterfly representative here since I use Butterfly equipment.

In today’s loop-dominated game, the pips-out fast-attack penholder style is a vanishing style, but it had its bright moments. After Dai Lili, Gao Jun, Yang Ying and Zhang Yingying, there is no more female player with this style on the national team. This once blossoming style is now a thing of the past, and we feel a certain amount of helplessness and sadness. Gao Jun is the lone star left, and in the 2003 Worlds and the December 2003 World Cup, she shone brightly. In Paris, she beat the top chopper in the world, Kim Kyung Ah. At age 34, Gao barely lost to Boros in the quarterfinals. At the last Women’s World Cup in Hong Kong, she beat Wang Nan 4-2 to make it to the final 8. In the recently held Korean Open, she and Wosik of Germany beat China s Olympic pair Niu Jianfeng and Guo Yue. In singles, she lost a close quarter-finals match at 3-4 to eventual winner Zhang Yining. In the following Singapore Open, she beat Boros.

Boros’ overall skills are not as fine as the Chinese players’. She has power, but only on that one stroke. When she plays the short balls, you can force her into errors if you put in a little bit of variation. You don’t see this in the Chinese players. In the past, there was less demand on the skills of the pips-out penholder, but now, if you want to play this style well, you need to meet a lot of requirements. You have to be smart, you need a great touch, and you have to have power as well as quickness. If you meet all these prerequisites, and you have a solid game, then you can challenge the shakehanders. In the end, both styles need to have very tight control. Serve receive techniques are now better than in the past, and the overall strategies have changed. I feel that the pips-out penholder style is very difficult to play well, although I can't say that it is impossible.

When I was on the national team, I especially hated the “overseas troops”. We did not want to have to prepare for the expat players in addition to the foreign players. Losing to the foreigners was one thing, but losing to an expat Chinese player, now that was really hard to accept. But now I am one of the overseas troops. I know how it feels on the other side. We don’t have training partners or good coaches, and we are more than 10 years older than the national team members. How can we beat them? We can’t. People on the US team asked me several times: “Are you backing off when you play the Chinese?” They should try it themselves. That must have been how those expat players felt when they played us, the national team members. Just like when I play Wang Nan, Zhang Yining, and Niu Jianfeng now: if I win one game, I feel very happy. Now and then I would win a match, and perhaps it is because of this attitude. Like last year at the World Cup, I was shopping with Jiao Zhimen before my match against Wang Nan. It was a 9 pm match, and I missed the 8 pm bus because of the shopping. My mind was not really on that match, because I felt that there was no way I could win. But then, serendipitously, I did, although I could not remember how. I only remember there was only one table in the playing hall, and I did not even have a coach; I felt ashamed, it was a loss of face.

At the Korean Open, I should have quickly lost to Zhang Yining. Perhaps 2-4 at the most. In that 6th game, I was especially lucky. I fell behind, but then I got an edge here and a net there, and that seemed to have messed up her game. She caught up, but at 10-8 I got another net, otherwise I would have lost in 6 games. When I played them, I feel great just winning one game. It was wonderful losing 3-4, regardless of how many edges and nets I got.

Wosik asked me to play doubles with her, and before then we had never even spoken to each other. I agreed because I had free time, and it did not really matter who I partnered with since I never expected to win. Later I found out that Li Huifun (Hong Kong’s coach) wanted me to partner Zhang Rui, but by then Wosik already had signed us up with the tournament committee. We made it through the qualifying rounds, and the first match in the final draw was against Niu Jianfeng and Guo Yue. Perhaps they never took us seriously, but we played really well at the end of that match. I think Niu and Guo would rather play some of the better pairs that they have prepared for, instead of playing us who looked like we were not trying hard but in fact were really trying hard. Actually Niu and Guo were very good: Niu especially had very good control, and Guo attacked very strongly. But perhaps of their ages, they lacked experience, and did not had a great grasp of their techniques. They are always a great threat, but in comparison Wang Nan and Zhang Yining are a more steady pair. Assuming under equal pressure, no other team could beat the Chinese team.

In this small café next to the university, what was scheduled as a 30 minute interview stretched into a 90 minute one. Gao Jun’s frankness was unexpected. Whether she was talking about pleasant things or not-so-pleasant things, she was straightforward and never tried to hide her feelings.

I was on the national team for about 8 years, and the coaches had been very nice to me. Like Zhang Xielin, my coach Hui Jun (now Hong Kong's head-coach), Hua Zhengde, Xiao Xingguo, and Ceng Chuanjiang. Sometimes there was friction among the players, but I never minded that. When I left the team, I had conflicting emotions. I really loved the team, and did not want to leave. I still really miss it. I have not made a lot of contact with my teammates, other than the several that were especially close to me. But whenever we meet, we still feel that camaraderie. I have the most contact with Jiao Zhimin. During the Korean Open, she asked her husband Ahn Jae Hyung to drive from Seoul to pick me up. I thought I was going to be eliminated early, but I lasted till the quarter-finals, so he had to wait two days. In the Super League matches I sometimes run into Qiao Hong. She is the league's technical advisor, and I also saw her in international tournaments. It was great spending time with her, and we often exchange short messages. I sometimes talk to Chen Zihe on the phone; she has a son now. Once I met Deng Yaping in Shanghai. We had dinner together, and it was great. I also talked to Qiao Yunping on the phone. The people in our group are all doing quite well, and each of us has found her own space.

To be honest, when we were in the team, there were some conflicts because of the competition. For example, at that time Deng Yaping really bothered me. Why was she always so merciless and ferocious? I was not used to her personality. The day I put away my racket, I immediately understood: you couldn’t beat her, so you came up with excuses. If you can’t beat someone, you are just not as good. Looking back, people like Deng Yaping were actually perfectly good people.

I do not have any goals in Athens, except to enjoy myself. To put it bluntly, and it is a little embarrassing, I value the Pro-Tour tournaments more, because I can make some money if I win. There is no money in doing well at the Olympics, and I can’t win anyway. Who can I beat? They are so strong, and they have been training so hard. At the university, I have worse training conditions than overseas, let alone the national team. So I do not make any demands on myself.

While the national team is furiously preparing for the Olympics in Xiamen, ex-member Gao Jun speaks her mind so freely. After 29 years of playing, Gao, at 35, has no more needs from this sport.

[ add comment ]   |  permalink  |  related link  |   ( 3 / 485 )
Connection Pooling for the .NET Framework Data Provider for SQL Server 
.NET Framework Developer's Guide

Connection Pooling for the .NET Framework Data Provider for SQL Server
Pooling connections can significantly enhance the performance and scalability of your application. The .NET Framework Data Provider for SQL Server provides connection pooling automatically for your ADO.NET client application. You can also supply several connection string modifiers to control connection pooling behavior (see the section "Controlling Connection Pooling with Connection String Keywords" later in this topic).

Pool Creation and Assignment
When a connection is opened, a connection pool is created based on an exact matching algorithm that associates the pool with the connection string in the connection. Each connection pool is associated with a distinct connection string. When a new connection is opened, if the connection string is not an exact match to an existing pool, a new pool is created.

In the following example, three new SqlConnection objects are created, but only two connection pools are required to manage them. Note that the first and second connection strings differ by the value assigned for Initial Catalog.

SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Integrated Security=SSPI;Initial Catalog=northwind";
conn.Open();
// Pool A is created.

SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Integrated Security=SSPI;Initial Catalog=pubs";
conn.Open();
// Pool B is created because the connection strings differ.

SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Integrated Security=SSPI;Initial Catalog=northwind";
conn.Open();
// The connection string matches pool A.
Once created, connection pools are not destroyed until the active process ends. Maintenance of inactive or empty pools involves minimal system overhead.

Connection Addition
A connection pool is created for each unique connection string. When a pool is created, multiple connection objects are created and added to the pool so that the minimum pool size requirement is satisfied. Connections are added to the pool as needed, up to the maximum pool size.

When a SqlConnection object is requested, it is obtained from the pool if a usable connection is available. To be usable, the connection must currently be unused, have a matching transaction context or not be associated with any transaction context, and have a valid link to the server.

If the maximum pool size has been reached and no usable connection is available, the request is queued. The connection pooler satisfies these requests by reallocating connections as they are released back into the pool. Connections are released back into the pool when you call Close or Dispose on the Connection.

CAUTION It is recommended that you always close the Connection when you are finished using it in order for the connection to be returned to the pool. This can be done using either the Close or Dispose methods of the Connection object. Connections that are not explicitly closed might not be added or returned to the pool. For example, a connection that has gone out of scope but that has not been explicitly closed will only be returned to the connection pool if the maximum pool size has been reached and the connection is still valid.
Note Do not call Close or Dispose on a Connection, a DataReader, or any other managed object in the Finalize method of your class. In a finalizer, only release unmanaged resources that your class owns directly. If your class does not own any unmanaged resources, do not include a Finalize method in your class definition. For more information, see Programming for Garbage Collection.
Connection Removal
The connection pooler will remove a connection from the pool if the connection lifetime has expired, or if the pooler detects that the connection with the server has been severed. Note that this can be detected only after attempting to communicate with the server. If a connection is found that is no longer connected to the server, it is marked as invalid. The connection pooler periodically scans connection pools looking for objects that have been released to the pool and are marked as invalid. These connections are then permanently removed.

If a connection exists to a server that has disappeared, it is possible for this connection to be drawn from the pool even if the connection pooler has not detected the severed connection and marked it as invalid. When this occurs, an exception is generated. However, you must still close the connection in order to release it back into the pool.

Transaction Support
Connections are drawn from the pool and assigned based on transaction context. The context of the requesting thread and the assigned connection must match. Therefore, each connection pool is actually subdivided into connections with no transaction context associated with them, and into N subdivisions that each contain connections with a particular transaction context.

When a connection is closed, it is released back into the pool and into the appropriate subdivision based on its transaction context. Therefore, you can close the connection without generating an error, even though a distributed transaction is still pending. This allows you to commit or abort the distributed transaction at a later time.

Controlling Connection Pooling with Connection String Keywords
The ConnectionString property of the SqlConnection object supports connection string key/value pairs that can be used to adjust the behavior of the connection pooling logic.

The following table describes the ConnectionString values you can use to adjust connection pooling behavior.

......

Link

[ add comment ]   |  permalink  |  related link  |   ( 3 / 657 )
完全葱姜龙虾做法 
配 料 : 料 酒,鸡汤,砂糖,芡粉,青葱 , 嫩 姜 , 酱 油(鲜抽) , 盐 ,

1。将料 酒,鸡汤,砂糖和少许芡粉调成一小碗 卤汁;
2。将新鲜龙 虾对半切开再切段;
3。在龙 虾切口上均匀撒上芡粉;
4。将龙 虾段放入油锅中爆炒,待虾壳变红后捞起;
5。将葱 条和姜 片各一把放入油锅中(火扁)炒出香味 (葱,姜偏多为佳)
6。将龙 虾段放入和葱,姜同炒 (约两分钟),
7。倒入卤汁, 盖 锅 焖 5~六 分 钟,即可。

[ add comment ]   |  permalink  |  related link  |   ( 3 / 705 )
Tuning Up ADO.NET Connection Pooling in ASP.NET Applications 
Dmitri Khanine
08/30 /2004

Opening a database connection is a resource intensive and time consuming operation. Connection pooling increases the performance of Web applications by reusing active database connections instead of creating a new connection with every request. Connection pool manager maintains a pool of open database connections. When a new connection requests come in, the pool manager checks if the pool contains any unused connections and returns one if available. If all connections currently in the pool are busy and the maximum pool size has not been reached, the new connection is created and added to the pool. When the pool reaches its maximum size all new connection requests are being queued up until a connection in the pool becomes available or the connection attempt times out.
Connection pooling behavior is controlled by the connection string parameters. The following are four parameters that control most of the connection pooling behavior:


Connect Timeout - controls the wait period in seconds when a new connection is requested, if this timeout expires, an exception will be thrown. Default is 15 seconds.
Max Pool Size - specifies the maximum size of your connection pool. Default is 100. Most Web sites do not use more than 40 connections under the heaviest load but it depends on how long your database operations take to complete.
Min Pool Size - initial number of connections that will be added to the pool upon its creation. Default is zero; however, you may chose to set this to a small number such as 5 if your application needs consistent response times even after it was idle for hours. In this case the first user requests won't have to wait for those database connections to establish.
Pooling - controls if your connection pooling on or off. Default as you may've guessed is true. Read on to see when you may use Pooling=false setting.
Common Problems and Resolutions

Connection pooling problems are almost always caused by a "connection leak" - a condition where your application does not close its database connections correctly and consistently. When you "leak" connections, they remain open until the garbage collector (GC) closes them for you by calling their Dispose method. Unlike old ADO, ADO.NET requires you to manually close your database connections as soon as you're done with them. If you think of relying on connection objects to go out of scope, think again. It may take hours until GC collects them. In the mean time your app may be dead in the water, greeting your users or support personnel with something like this:

Exception: System.InvalidOperationException Message: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached. Source: System.Data at System.Data.SqlClient.SqlConnectionPoolManager.GetPooledConnection(SqlConnectionString options, Boolean& isInTransaction) at System.Data.SqlClient.SqlConnection.Open() ...


Exception: System.InvalidOperationException
Message: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.
Source: System.Data

at System.Data.SqlClient.SqlConnectionPoolManager.GetPooledConnection(SqlConnectionString options, Boolean& isInTransaction)
at System.Data.SqlClient.SqlConnection.Open()

Closing your connections

When you intend to close your database connection, you want to make sure that you are really closing it. The following code looks fine yet causes a connection leak:


SqlConnection conn = new SqlConnection(myConnectionString);

conn.Open();

doSomething();

conn.Close();

If doSomething() throws an exception - conn will never get explicitly closed. Here is how this can be corrected:


SqlConnection conn = new SqlConnection(myConnectionString);

try

{

conn.Open();

doSomething(conn);

}

finally

{

conn.Close();

}

or


using (SqlConnection conn = new SqlConnection(myConnectionString))

{

conn.Open();

doSomething(conn);

}

Did you notice that in the first example we called conn.Close() explicitly while in the second one we make the compiler generate an (implicit) call to conn.Dispose() immediately following the using block? The C# using block guarantees that the Dispose method is called on the subject of the using clause immediately after the block ends. Close and Dispose methods of Connection object are equivalent. Neither one gives you any specific advantages over the other.

When returning a connection from a class method - make sure you cache it locally and call its Close method. The following code will leak a connection:


OleDbCommand cmd new OleDbCommand(myUpdateQuery, getConnection());

intres = cmd.ExecuteNonQuery();

getConnection().Close(); // The connection returned from the first call to getConnection() is not being closed. Instead of closing your connection, this line creates a new one and tries to close it.


If you use SqlDataReader, OleDbDataReader, etc., close them. Even though closing the connection itself seems to do the trick, put in the extra effort to close your data reader objects explicitly when you use them.

Last but not the least, never Close or Dispose your connection or any other managed object in the class destructor or your Finalize method. This not only has no value in closing your connections but also interferes with the garbage collector and may cause errors. For more information see http://msdn.microsoft.com/library/en-us ... ction.asp.

Testing your changes

The only way to know the effect of your changes on connection pooling behavior is to load-test your application. If you have existing unit tests - use them. Running your unit tests repeatedly in a loop may create a fair bit of stress on application. If you don't, use the Web load testing tool. There are plenty of commercial load testing tools on the market. If you prefer freeware, consider OpenSTA available at www.opensta.org. All you need to setup your load test is to install the tool, bring up your Web application and click your way through. OpenSTA will record your HTTP requests into test scenarios that you can run as part of your load test.

Knowing that your application crashes under the load doesn't often help to locate the problem. If the app crashes fairly quickly, all you may need to do is run several load tests - one for each module and see which one has a problem. However, if it takes hours to crash you will have to take a closer look.

Monitoring connection pooling behavior

Most of the time you just need to know if your application manages to stay within the size of its connection pool. If the load doesn't change, but the number of connections constantly creep even after the initial "warm-up" period, you are most likely dealing with a connection leak. The easiest way to monitor the number of database connections is by using the Performance Monitor available under Administrative tools on most Windows installations. If you are running SQL Server, add SQL Server General Statistics -> User Connections performance counter (The counter is available on the SQL Server machine so you may need to put its name or IP address into the Select Counters From Computer box). The other way to monitor the number of database connections is by querying your DBMS. For example, on SQL Server run:

EXEC SP_WHO

Or on Oracle, run:

SELECT * FROM V$SESSION WHERE PROGRAM IS NOT NULL

.NET CLR Data performance counters

In documentation you may run into .Net CLR Data performance counters. They are great if you know what they can and cannot do. Keep in mind that they do not always reset properly. The following KB article sheds some light on the problem but in my opinion does not cover all the issues: http://support.microsoft.com/default.as ... us;314429. Another thing to keep in mind is that IIS unloads app domains under stress so don't be surprised when your number of database connections has dropped to zero while your min pool size is five!

Short term fixes

What if you discovered the connection pooling issue in production and you cannot take it offline to troubleshoot? Turn pooling off. Even though your app will take a performance hit, it shouldn't crash! Your memory footprint will also grow. What if it doesn't crash all that often, and you don't want to take a performance hit? Try this:


conn = new SqlConnection();

try

{

conn.ConnectionString = "integrated security=SSPI;SERVER=YOUR_SERVER;DATABASE=YOUR_DB_NAME;Min Pool Size=5;Max Pool Size=60;Connect Timeout=2;"; // Notice Connection Timeout set to only two seconds!

conn.Open();

}

catch(Exception)

{

if (conn.State != ConnectionState.Closed) conn.Close();

conn.ConnectionString = "integrated security=SSPI;SERVER=YOUR_SERVER;DATABASE=YOUR_DB_NAME;Pooling=false;Connect Timeout=45;";

conn.Open();

If I fail to open a pooled connection within two seconds, I am trying to open a non-pooled connection. This introduces a two second delay when no pooled connections are available, but if your connection leak doesn't show most of the time, this is a good steam valve.

Conclusion

In this article you've learned that the most common cause of connection pooling issues is database connections that are left open or not closed properly. You've learned that when you type "conn.Close()", you almost always want to put that in the "Finally" block. You also learned not to interfere with the class destructor unless you use unmanaged resources. You've learned how to monitor your connection pool and diagnose a potential problem. You also learned how to keep a system with a connection leak in production if you really have to, until the problem is resolved. I hope this article has helped you resolve your connection pooling issue. However, there is more to connection pooling that is not covered in this article. Check out Bill Vaughn's "Swimming in the .NET connection pool" at http://www.winnetmag.com/Article/Articl ... 8356.html.

About the Author

Dmitri Khanine is senior web developer and architect working for a major Canadian Bank. His 10+ years of experience are mostly in backend and middle tier development of enterprise Web applications on Microsoft as well as J2EE platforms. Industry experience includes Banking, Finance, Automotive and software consulting. Dmitri's areas of interest and expertise include rapid enterprise application development, MVC frameworks and code generation. Dmitri can be contacted at Khanine@hotmail.com.

[ add comment ]   |  permalink  |  related link  |   ( 3 / 647 )
2006奥斯卡,终于很“文艺”  
虽然年复一年,奥斯卡的风水总是在电影人素朴的理想与奢华的影像间徘徊往复,可今年的这几部都称得上过去一年里美国电影人的诚意之作,我们终可以看到领奖台上,这些人文思想的坚守者的美丽笑容

  奥斯卡这么多年,数今年的第78届金像奖提名最“文艺”,5部候选的最佳影片不是低成本、诉衷情的独立制作,就是揭黑幕、刺良心的政治辣片:反思巴以血仇的《慕尼黑》、描摹同性恋情的《断背山》、剖析种族矛盾的《撞车》、痛批50年代麦卡锡主义的《晚安,好运》,以及拿社会歧视与作家良知做文章的《卡波特》,简直比一贯标榜“独立”“政治”的圣丹斯或柏林电影节还要苦大仇深、义正词严。而观众觉得很有看头的《金刚》只落得几个技术奖提名,曾经以《角斗士》捧得5尊金像的名导演雷德利·斯科特在2005年摄制的古装大片《天国王朝》居然石沉大海,全无亮相的机会。

  豪华巨片的退位

  新世纪以来,奥斯卡对于靠金钱和特效砸出视觉奇观的豪华巨片逐渐增强了抗药性。2003年的《指环王3:王者无敌》被盆满钵溢地隆重表彰之后,原本浩荡无匹的魔幻(或者科幻/玄幻/史幻)电影大潮似乎一夜之间调转了风头,大有盛极而衰的态势。一直挣扎在票房底线上的小文艺片多少嗅到几分春天的气息,尤其是去年第77届的学院奖评委们让克林特·伊斯特伍德的《百万美元宝贝》血拼了马丁·斯科西斯的《飞行家》,更预示这些主宰小金人走向的“贝弗利山众神”看腻了“泰坦尼克”式的视觉轰炸与浪漫爱情,转而赞美起人间的悲欢苦难和纵贯时空的文明冲突来。

  除了入围影片规格朝向中低成本、中小明星的“亲民”路线靠拢之外,本届奥斯卡奖提名电影的创作视角也介乎主流与异端之间,每一部影片都多少惹过点争议,溅了些口水。由大牌影星成功转行导演的乔治·克鲁尼,虽然没有在去年的威尼斯国际电影节上斩获金狮,但他参与编剧并执导的《晚安,好运》痛揭的却是美国政治的历史伤疤。克鲁尼将这部新闻记者以良知勇气对抗麦卡锡主义的影片,和布什政府利用《爱国者法》干涉美国公民自由的社会现实联系在一起,黑白光影与犀利的对白,颇有些“立此为证,秋后算账”的架势。

  另一位“编而优则导”的导演新锐保罗·哈吉斯(上届奥斯卡大赢家《百万美元宝贝》的编剧),则将洛杉矶臭名昭著的种族矛盾通过几个彼此纠缠的人物,“圆环套圆环”地呈现在银幕上。种族问题是美国社会不敢轻易置喙的烫手馒头,稍有怠慢就会招来各个族裔的不满。但保罗·哈吉斯执导的《撞车》索性在这道禁区里横冲直撞,白人、黑人、亚裔、拉美裔,各个都在这方阴暗的舞台上彼此伤害,一脸的晦气。既然各打五十大板,《撞车》反倒在钢丝绳上走稳了平衡木,一路撞到了奥斯卡的提名金榜上。

  人物传记类的电影《卡波特》也被影评人称为一部“剑走偏锋”之作。单看片中主人公杜鲁门·卡波特那张白花花的胖脸和他东方不败式的嗓音,就让人心里麻酥酥的。这部电影讲述了作家卡波特与灭门凶犯史密斯之间一段充满张力的试探和交往。身为同性恋者的卡波特从史密斯身上读到了他曾经历的一切:被社会遗弃和鄙视,对生命的绝望与挣扎。卡波特蘸着史密斯的罪恶完成了他的小说代表作《冷血》,却不肯从绞刑架上拯救这个罪人的灵肉残生。2005年,前好莱坞巨星——现任加州州长施瓦辛格拒绝赦免一位著名的杀人犯:曾枪杀三名华人,又在狱中反省罪恶,多次获得诺贝尔和平奖与文学奖提名的“瘸子帮”帮主斯坦利·威廉斯。这桩热气腾腾的死刑公案与昔日的《冷血》交相辉映,或许将是下一部被奥斯卡大叔垂青的《卡波特》。

  焦点:犹太苦酒与东方断袖

  “灵肉挣扎”或许正是今年奥斯卡入选影片的共通主题,但最富有悲剧性的恐怕还是李安在《断背山》中塑造的一双同性恋牛仔,抑或是那几名在史蒂芬·斯皮尔伯格的电影《慕尼黑》里杀戮复仇的以色列特工。这两部影片既是两位大师级导演的对垒争霸之作,也各自彰显出他们最本色的文化底蕴与艺术风格。

  自从《拯救大兵瑞恩》在上个世纪末摘得多枚奥斯卡金像奖之后,素有好莱坞头牌导演之称的斯皮尔伯格已经六年没有拿出像样作品,以至于靠《指环王》起家的新西兰导演彼得·杰克逊隐然有了新一代霸主的气象。2005年斯皮尔伯格一气推出两部电影:请“靓汤”克鲁斯担纲主演的科幻大片《世界大战》和以1972年慕尼黑惨案为背景的历史反思片《慕尼黑》。《世界大战》在人物塑造和特技效果上虽然可圈可点,却引不起审美疲劳的电影观众和奥斯卡评委们太大的兴趣 彼得·杰克逊重弄的《金刚》其实更有王者的卖相 于是斯皮尔伯格年底打出的底牌《慕尼黑》显得尤为慎重,大有拿自己的艺术履历和民族血统孤注一掷的气派。一杯“犹太苦酒”,成了其在本届奥斯卡菜单上的招牌大餐。

  曾经以《辛德勒名单》在犹太世界声名卓著的斯皮尔伯格,借用几名以色列杀手对“慕尼黑惨案”制造者的复仇故事,反思的不止是五十年血光不绝的巴以冲突,更将影片的锋芒指向了布什政府远非人道的反恐战争。在接受采访时,背负着美国公民与犹太子裔双重身份的斯匹尔伯格曾经表明过他的立场,“我并非不支持反恐事业,而是主张合法、正义的手段,要让反恐斗争的结果与我们反对恐怖主义的初衷相吻合。”斯氏的勇气在于将恐怖主义的原罪追溯到此前以色列对巴勒斯坦民众的深重压迫。虽然这一观念在阿拉伯世界早已根深蒂固,同时入围奥斯卡(最佳外语片奖)的巴勒斯坦电影《天堂此时》也以两名人体炸弹的遭遇与《慕尼黑》彼此呼应,但斯匹尔伯格的江湖地位和他在犹太人心目中的代言人角色,还是让这声叹息格外地悲苦而沉重。

  电影《慕尼黑》中,以色列杀手们在一次次“定点清除”行动之后,日渐难当良心的谴责,先后付出了生命死灭或灵魂受创的惨重代价。而30多年间的巴勒斯坦与以色列、伊斯兰世界与西方国家,却从未中止过“慕尼黑”式的杀戮与复仇,冲突和误解。两年前,以色列特工曾经用和电影情节如出一辙的手法,杀害了“哈马斯”精神领袖亚辛,但时至今日这个激进的伊斯兰军政组织却赢得了巴勒斯坦大选的全面胜利。这些活生生的历史事件将当下的世界令人不安地“电影化”了,似乎预示着将来更为猛烈的文明冲突,而斯匹尔伯格酿造的这樽“犹太苦酒”,或许只是我们沾唇的第一滴。

  与斯皮尔伯格的“民族之忧”相比较,华人导演李安更多地在他的电影《断背山》中表达了一种“人伦之辩”。其实同性之爱绝非西方文艺的专利,中国在汉朝的时候,就有“断袖”的典故,讲的是汉哀帝午睡起床时,袖子被压在他同性恋人的身下。不忍惊醒爱人的汉哀帝悄然挥剑将衣袖割断,从此让“断袖”一词少涉情欲,多添了几分风雅。在李安的《断背山》中,两位恋人以一件初识时身穿的衣服作为他们毕生的信物,也算是“断袖”情结的一种西方映象。即便是以美国西部牛仔为故事的载体,李安也在影像语言上铺衬得如一幅青绿山水画,看惯了西部片中穷山恶水、飞沙走石的电影观众身处苍翠清凉的断背山中,难免有些错愕惊喜。良辰美景佳时,爱情倏忽而至,也就更显得顺理成章了。

  李安虽然不在好莱坞的“王霸”导演之列,但他十年来的艺术影响力却与日俱增,如今已是代表着东方价值观而驰骋于美国影坛的旗手级人物。《断背山》自从斩获威尼斯金狮大奖之后,又在美国外国记者协会颁发的金球奖上大获全胜,风头之劲,一时无匹。它的魅力与其说来自美国牛仔的同性恋故事,倒不如说是李安为影片赋予的一份温和隐忍、大爱无疆的东方境界。他诠释的这段感情如地下涌动不息的岩浆,却始终没有冲出地表,焚毁断背山间的草木生灵。如果说李安为《卧虎藏龙》中李慕白和俞秀莲安排了一段可望而不可及的爱情,那么今日打动电影观众心灵的《断背山》,在两名沉默的美国牛仔之间,仍然是那份“十年生死两茫茫,不思量,自难忘”的古典情怀。

  即将揭晓的第78届奥斯卡奖究竟花落谁家,并不是一个关键性的命题。虽然在潜意识里,我们仍期待着李安能体行老子之道,“上善若水”“柔弱胜刚强”,但无论是李安的《断背山》、斯皮尔伯格的《慕尼黑》,还是同列最佳影片提名册的另三部作品,都称得上过去一年里美国电影人的诚意之作,是泛滥的娱乐大潮中几块坚硬的磐石。

  虽然年复一年,奥斯卡的风水总是在素朴的理想与奢华的影像间徘徊往复,但至少在今年3月举行的金像奖颁奖典礼上,我们尽可以看到这些人文思想的坚守者在领奖台上绽放出他们美丽的笑容。

[ add comment ]   |  permalink  |  related link  |   ( 3 / 561 )
中国大学改名之最篇最NB篇、SB篇、委屈求全篇 
  哈尔滨船舶工程学院——〉哈尔滨工程大学(是我国船舶工业系统唯一一所全国重点大学。改后的校名不但抹杀了学校的特色及其“哈军工”海军工程系血统的荣耀。而且给人的感觉就是有意想和哈尔滨工业大学搅在一起,让考生莫辨东西,可笑复可怜,兼可厌!)。

  华东纺织工学院——〉中国纺织大学——〉东华大学(一听还以为是民办的,如果说第一次改名,华东改为中国,学院改为大学算是为学校壮了胆的话,那再次改名有什么含义?对学校的发展有什么帮助?却让人有些云里雾里的。显然,学校当局改校名是既无远见又无卓识的。)

  华中理工大学——〉华中科技大学(好好的“华工”送给人家华南理工了)

  无锡轻工大学——〉江南大学(莫名其妙!像所民办大学!后来知道原来是创办人的爷爷曾创办“江南大学”。故不顾师生竭力反对硬是在2001年改为此名。)

  北京语言学院——〉北京语言文化大学——〉北京语言大学(也属于翻来覆去型的。该校更名固然有着语言习惯的原因,但更主要的原因却是季羡林先生曾经指出的,语言本身就是文化的重要组成部分,“语言文化”并列本身就不妥当。为了向“知名大学”靠拢,更为了纠正语法错误。所以改了!作为一个语言学校,此等语法错误多年了才引起重视?可叹啊!)

  四川大学——四川联合大学——四川大学(也是折腾型的!因为北京有个市属的“北京联合大学”,弄得四川联合大学也被误认为是这等档次的高校,在北京都招不上学生,改名四川大学后,报考的人数很快上来了)。

  石油大学——〉中国石油大学(怕人家不知道自己是中国的一样!)

  长春光学精密机械学院——〉长春理工大学(说光机学院知道的人是有的,说长理还真没人知道呢!)

  广东民族学院——〉广东职业技术师范学院——〉广东技术师范学院(4年间,改了2次名,广东民族学院,简称民院,所有人都没有意见;广东职业技术师范学院,官方简称职师,但学生不干,学生们都说应该简称技院。)

 西南师范大学和西南农业大学合并为西南大学~听起就像稀烂大学
浙江经济高等专科学校,升为本科后改名为“嘉兴学院”(该校位于浙江嘉兴),听上去就像个民办的。想那会改名,咱也是多么地不愿意戴上校徽!
  
  中国大学改名之最NB篇  
  
  绵阳经济技术高等专科学校和西南工学院(前身:四川建材学校)合并后——〉西南科技大学(表面上看和西南交大是同等档次了!)

  四川工业学院、成都师范高等专科学校合并——〉西华大学(本想改名“四川工业大学”,上头不同意,叫“华西大学”又不够格,所以只好改了如今这个名。)

  沈阳工业学院——〉沈阳理工大学(名字还像是比以前响些,但是要和同省的大连理工比,差了十万八千里!)

  南医科大学、长沙铁道学院、中南工业大学合并——〉中南大学(英文Central South University 缩写是CSU 反恐大学 NB吧!)

  西南师范大学、西南农业大学合并——〉西南大学

  郑州粮食学院——〉郑州工程学院——〉河南工业大学(能够骗的!)

  河北地质学院——〉石家庄经济学院(变的太离谱了吧!地质——〉经济 一个字“强”!)

  山东农机化学院——〉山东工程学院——〉山东理工大学(越来越“牛”)

  青岛海洋大学——〉中国海洋大学(地方性名称变全国了!领导需要点实力的啊!)

  湛江水产学院——〉湛江海洋大学——〉广东海洋大学(改来改去反正都在水里游!又可以骗更多的外省的水鱼进来了!)

  淮南煤炭学校——〉淮南矿业学院——〉淮南工业学院——〉安徽理工大学(一路升级!顺!)

  株洲工学院——〉湖南工业大学(又是一个地方成省的)

  达县师范高等专科学校——〉四川文理学院(终于知道达县是四川的了!)

  上海商业职业技术学院——〉上海商学院(这个是多少职业技术学院梦寐以求的啊!)

  常德师范高等专科学校和常德高等专科学校——〉常德师范学院——〉湖南文理学院(99年那会儿升级的,03年又升级了)

  岳阳师范学院——〉湖南理工学院(现该院网站已经完全抹掉了岳阳师范学院的痕迹了!)

  锦州师范学院、辽宁商业高等专科学校合并——〉渤海大学

  郴州师专、郴州医专、郴州教育学院、郴州师范——〉湘南学院(四个专科一合并成了本科了,还有了个好校名!)

  赤峰民族师范高等专科学校、赤峰教育学院、内蒙古电视大学赤峰分校、赤峰卫生学校,内蒙幼儿师范学校部分合并——〉赤峰学院(这么多中专,大专合并还成了本科,牛!)

  西昌农业高等专科学校、西昌师范高等专科学校、凉山大学、凉山教育学院合并——〉西昌学院(因为西昌发射卫星,敢保证改名后招生超好!)

  鹭江职业大学——〉厦门理工学院(“职业”变成“理工” 何止“牛”字能罢了的!)

  彭城职业大学、徐州经济管理干部学院合并——〉徐州工程学院(成人大学变本科)

  金陵职业大学、南京农业专科学校合并——〉金陵科技学院(真是毁了“金陵”美名,金陵仍是南京最雅致的别称,该校起名“金陵科技学院”,也许是想沾“金陵大学”的光,金陵大学是国内历史悠久的著名教会大学之一,是现在南京大学的源头之一。它的前身是创办于1888年的汇文书院,是美国基督教会在华早期创立的一所学校。)

  南昌高等专科学校、南昌农业学校、南昌市高级技工学校、南昌卫生学校、南昌粮食职工中专合并——〉江西科技师范学院——〉南昌科技大学(筹)(中专!!一大堆中专!)

  杭州应用工程学院——〉浙江科技学院(2001年才升本,但是沾了“科技”的光,招生就业上硬是把浙江林学院等拥有近50年本科历史的实力派高等院校比下去了。 备注:浙江高校中有50年本科历史的院校没有几所。)

  天津职业技术师范学院——〉天津工程师范学院(该校是培养职业技术学院教师的师范院校,但是带着“职业技术”招生不佳,改吧!好了!)

  上海机械学院——〉华东工业大学——〉上海理工大学(几易校名,“面孔”每变一次,考生的报考热情就高涨一次。)

  山东矿业学院、山东煤炭教育学院合并——〉山东科技大学(2001年3月,山东省财政学校并入。都不咋地学校成了山科大!)

  北京煤炭干部管理学院分院——〉华北矿业高等专科学校——〉华北科技学院(2003年升本改名华北科技学院,有网友这么评论:这个学校是典型的骗子 ,其实学校根本不在北京在河北一个叫燕郊的镇,可是在年年的招生考试报上都写着校址:北京市。按照官方资料所述:学院地处河北省燕郊经济技术开发区,毗邻北京,距天安门35公里...... 跟首都这么会拉关系,看来不拉关系日子难过啊!请给予理解!)

  哈尔滨工业大学重型机械学院——〉东北重型机械学院——〉燕山大学(还以为是北京的大学呢!河北秦皇岛的!好像河北的大学很爱跟北京套近乎!当然这是人家优势啊!)

  南充师范学院近年更名史:南充师范学院----四川师范学院----西华师范大学;

  四川省人民警察学校(中专)近年更名史:四川省人民警察学校----四川警官高等专科学校----四川警官学院(本科)。

  自贡的原“四川轻化工学院”更名为“四川理工学院”,不知道把成都理工大学放在哪里?!

江苏大学和江苏科技大学在哪个城市?----南京?? 错!!!
   在镇江!! 镇江,小比地方, 原来有个江苏理工改成江苏大学了,原来的华东船舶工业学院改成江苏科技大学了, 江苏科技大,牛比吧

  河北省五七干校-->河北经济管理干部学院+河北省行政学院+河北省社会主义学院+河北乡镇企业学院+-->河北经贸学院-->河北经贸大学

  ------------------------------------------------------------------------
  以下两所大学的合并在规模上值得大家关注
  
  吉林大学  
  经教育部批准,分别隶属教育部、卫生部、国土资源部、信息产业部的原吉林大学、吉林工业大学、白求恩医科大学、长春科技大学、长春邮电学院5所高校组建成新吉林大学;2004年8月,中央军委、国务院决定原解放军军需大学合并到吉林大学。  
  合并后的吉林大学有6个校区、9个校园,教职工近2万人,全日制在校生近7万人,涵盖了12大学科门类。
    
  贵州大学  
  最近天涯上有个叫 板桥路 的跳出来说他的母校“贵州大学”的合并,可以称中国最大规模、最华丽的大学合并。还轮不到吉林大学。  
  
  原贵州大学部分    
  贵州人民大学(1993-11-3并入)
  贵州农学院(1997-2-3并入)
  贵州艺术高等专科学校(1997-2-3并入)
  贵州农业管理干部学院(1997-2-3并入)
    
  原贵州工业大学部分    
  贵州建筑高等专科学校(1992-5-18并入)
  贵州经济管理干部学院(2000-3-27并入)
    
  2005年8月,贵州大学与贵州工业大学合并,组建成新的贵州大学,顺利的进了211。
    
  新贵州大学共有八所学校合并而成的,现在10个校区:花溪北校区、花溪南校区、蔡家关校区、太慈桥校区、小关校区、茶店校区、花果园校区(教学点)。
    
  学校现有24个学院,101个本科专业, 9个博士学位授权点,132个硕士学位授权点和5个专业硕士授权点,学科专业涵盖了哲学、经济学、法学、教育学、文学、历史学、理学、工学、农学、医学、管理学等11个学科门类。有1个国家级工程技术中心和2个教育部省部共建重点实验室,18个省级重点学科, 10个省(部)级重点实验室, 2个省级人文社科基地,3个国家重大项目博士后工作站。现有全日制在校生45174人,其中普本专科生42144人,研究生3030人。全校4973名教职工中,有专任教师2623人,教授272人,副教授863人,有国家级突出贡献专家6人,省管专家58人,国家“百千万人才工程”一、二层次人选3人,贵州省优秀青年科技人才24人,享受ZF特殊津贴的专家102人。
  ------------------------------------------------------------------------
  
  中国大学改名之最NB又篇
  
  北京广播学院——〉中国传媒大学(北京变中国是大了,但是“北广”50年的老字号没了。实属不解,你要升格成大学,叫“北京广播大学”不就完了,是不是怕人家误以为你是“广播电视大学”“电大”,这下好了“中国传媒大学”校名听起来更像个民办大学。浙江传媒学院的校友们常说“北广”是看到他们由“浙江广播高等专科学校”改成“浙江传媒学院”后才模仿着改名的,原浙广的人现在很愿意自称自己是“浙传”的,不知道以前的“北广”校友们愿不愿意自称是“中传”的?)

  北方交通大学——〉北京交通大学(1923年更名为北京交通大学。新中国成立后,经政务院批准定名为北方交通大学。官方说恢复校名的目的是为了突出学校地处首都北京的地理位置,改名的效果是立竿见影的,之后招生形势一片大好。首都的学校嘛!吃香啊!)

  太原机械学院——〉华北工学院——〉中北大学(作为国防军工特色的一所院校,“太原机械学院”这个牌子老一辈的军工人都知道的。硬是改名了,还没熟悉华北工学院呢,又改了!中北——不同于华东,华南这些常规地域名称,初次听说的人肯定要问这学校在哪啊?)

  杭州商学院——〉浙江工商大学(省会升级成省名了,是大了。不过刚改名那会儿,学生是多么的不愿意戴“浙江工商大学”的校徽。)

  第一军医大学——〉南方医科大学(牛!真是人有多大胆地有多大产!大学上一级管理机构发生变化,军队的院校转给地方了,干嘛非得改名?)

  浙江丝绸工学院——〉浙江工程学院——〉浙江理工大学(表面看名称越来越牛了!事实上,浙江丝绸工学院,在老一辈心中的地位是很高的!至今在中国纺织服装界人们依旧留恋的说“浙丝院模式”,可见影响的深远!就连2002年4月15日,时任中共中央政治局常委、国务院副总理李岚清视察浙江理工大学时,还无不留恋的回忆了当时的“浙丝院”,因为他在浙江省委党校呆过很久,当时浙江省委党校与浙江丝绸工学院一强之隔,那是一个神秘的学府!)

  西安公路交通大学、西安工程学院、西北建筑工程学院——〉长安大学(像个民办大学,好好的西安公路交大被糟蹋了。)

  吉林师范学院、吉林医学院、吉林林学院、吉林电气化高等专科学校合并——〉北华大学(没实力叫“华北大学”啊!只好愁合着用!)

  江汉石油学院、湖北农学院、荆州师范学院、湖北省卫生职工医学院合并——〉长江大学(好好的长江这个好名被这样糟蹋了!也像个民办的!)

  郑州纺织工学院——〉中原工学院(由于中国纺织行业不景气,也直接导致该校的不景气。要改可以改的好听点嘛!叫中原也挺像民办大学的。)

  中南工学院、衡阳医学院合并——〉南华大学(冲着北大清华叫板的味道)

  兰州铁道学院——〉兰州交通大学(趟“交大”这浑水了,简称“兰交”!)
  
  
  高校改名之委屈求全篇
  
  南方冶金学院——〉江西理工大学(南方冶金学院本想改名为南方工业大学或者南方理工大学,被教育部否决了,说是不能带有与实际不符的区域性名字。得南方之名,失大学、得大学之名,失南方。)

  华东地质学院——〉东华理工学院(华东华东地质学院改名的时候也是遇到这样的难题,想升大学则必然华东两字不保,委曲求全,改成“东华”,不知何意?后据了解,该校前任院长周文斌说要华东要不到理工,要理工要不到华东,所以就叫东华。当时被选的校名有“南方工业大学”、“江西理工大学”、“南华工业大学”。如今该校很多学生对“东华”这个名字十分不喜欢,觉得像民办大学,不过大家要“理解”校领导的“苦心”,毕竟为了“大学”啊!注:该校位于江西省抚州市)

  温州师范学院、温州大学合并——〉温州大学(外人一听还好,但是温州本地人谁不知道温州大学是所贵族学校,全国少有的名叫“大学”却是专科的末流大学。温州师范学院是好歹是所地方性本科院校,历史也比温州大学悠久。但是温州大学面临要被摘掉“大学”的危机,温州师范学院希望升格“大学”的关头,上演了“以弱吞强”的好戏。后来原温州师范学院的毕业生为文凭上是“温州大学”而不是“温州师范学院”而感到苦恼。)

  甘肃工业大学——〉兰州理工大学(同样道理,得甘肃之名,失理工,得理工之名,失甘肃)

  西北轻工业学院——〉陕西科技大学(不喝“西北”风了,咱科技了!)

  华东船舶工业学院——〉江苏科技大学(本来是以船舶制造为其特色的高校,这从其原来的校名中可以一望而知,但如今改为了“江苏科技大学”,谁还能看出它的专业特色是什么?)

  吉林工学院——〉长春工业大学(以后是不是还想改名成“理工”呀?没戏了!已经有长春理工大学了!是原长春光学精密机械学院改的。)

  中国煤炭经济学院——〉山东工商学院(弃煤从商了,也知道了您原来是在山东混得呀!)
  
  高校改名之郁闷篇
  
  浙江工业大学——〉如果要改名的话,按照当今的“理工”热,毫无疑问应该更名为“浙江理工大学”,无奈被浙江工程学院捷足先登了,该校于2004年5月更名为“浙江理工大学”。据说浙工大想改名为“杭州大学”,哎!降级不说!老杭大的人也不愿意啊!

  南京大学、东南大学合并——〉南京大学?东南大学?(一直以来,影响南京大学和东南大学合并的最大障碍是合并后的命名问题,南大坚持取南京大学的“京”字与东南大学的“南”字,叫“南京大学”;而东大要求取其“东”字与南大的“南”字,叫东南大学。双方长期无法达成一致,最终教育部出面,取东南大学的“东”字与南京大学的“京”字,叫东京大学!)
  
  高校改名之成功篇
  
  海淀走读大学——〉北京城市学院(因为“走读”在今天已经属于过时的词语,改名比较合适!)

  杭州电子工业学院——〉杭州电子科技大学(名称没变,简称还是“杭电”,又有“科技”,又是“大学”,皆大欢喜啊!)
  
  高校改名之BT篇
  
  北京建筑工程学院分院——〉京北职业技术学院(误以为是北京职业技术学院,也不是什么名校呀!)

  华北航天工业学院——〉北华航天工业学院(抛弃掉华北这个好名儿,用北华真是高觉悟啊!)
  
  高校改名之申请篇
  
  华南农业大学——〉“广东大学”或“华南大学”,想摆脱农字,定位由部属多科性全国重点农业大学向广东省属综合性大学转变。

  中南财经政法大学即将更名——〉中原大学 (有个校友说得好:改名中原大学,我们给人的印象好象是个中原河南地区的高校,本来在中南地区特别是广东的高校,优势全无.改名中原大学的人居心何在?你们考虑过我们这些在全国各地的校友们的感受吗?“中南财经政法大学”的名字可以让原中南财经大学和中南政法学院的老校友有归属感.中原大学只存在2,3年时间,且是解放战争时期的军政特色,实难担当几十万校友的有归属感的校名.)

  中国农业大学校长陈章良提出,农大如果去掉“农业”二字,将在招生和人才吸纳上具有更大的优势,一时间引发社会对于农林地矿水等类型高校的关注。

  杭州师范学院——〉“杭州大学”或“钱江大学”(杭州师范学院要变成杭州大学,招致了极大的反对,一方面有教育部规定的因素,一方面主要是因为老杭大的很多校友在浙江省各行各业都身居要职,他们的反对声音无疑成了杭师院更名杭大的最大阻力。)

  浙江林学院——〉“钱江大学”(地处浙江杭州临安县,地理环境已经限制了其发展,加之“”林学"影响了其招生及学生就业。改名对该校确实有相当大的好处!但是浙江省教育厅的诸多领导却要求浙江林学院更名不能丢掉林字。哎!正所谓不该改的乱改,急需改名的没法该!)

  昌吉学院、乌鲁木齐职业大学、成人教育学院将合并——〉乌鲁木齐大学(学院)

  景德镇陶瓷学院、江西工艺美术职业技术学院合并——〉中国陶瓷大学

  河南财经学院、河南政法管理干部学院合并——〉河南财经政法大学(想傍“中南财经政法大学的名啊!”)

  荆门职业技术学院、沙洋师范高等专科学校合并——〉湖北理工学院

  上海水产大学——〉华东科技大学

  西安石油学院——〉陕西工业大学

  福建农林大学——〉福建科技大学

  通化师范学院——〉长白山大学(有点怕山名给毁了!)

  福建师范大学——〉福建大学(困难重重!感觉是没戏!)

  长春税务学院、长春金融专科学校合并——〉吉林财经大学

  南京师范大学、南京中医药大学、南京农业大学合并——〉金陵大学(能不能恢复“金陵”美名呢?)

  鞍山科技大学——〉辽宁科技大学

  北京联合大学旅游学院、北京第二外国语学院合并——〉北京旅游大学(“突然得知学校要改名的消息,我们很多女同学都哭了。”北京第二外国语学院中文系的三位女同学接受记者独家采访时伤心地说。哎!搞笑吧!看看校领导的智商吧!)

  合肥工业大学、安徽医科大学合并——〉华东科技大学   
    
  高校改名之搞笑篇
  
  以下两条纯属网友杜撰,大家一笑料之吧!
  
  湖北麻城职业技术学院——〉麻城理工学院(英文缩写 MIT,呵呵!世界名校啊!)

  哈尔滨佛学院——〉哈佛(简称“哈佛”,也是冒充世界名校的!可惜确实没这学校,即使哈尔滨工业大学、哈尔滨医科大学、哈尔滨工程大学、哈尔滨师范大学、哈尔滨商业大学、哈尔滨理工大学都没有佛学院这样的二级学院。)
    
  容易混淆的大学校名  
  
  北京师范大学 VS 首都师范大学 前者北京师范大学是教育部隶属的一所拥有百年历史的著名高等学府,教学和科研力量居于全国一流水平。其前身是创办于1902年的京师大学堂,地址在北太平庄路。 后者首都师范大学是原北京市市属的北京师范学院改名的,地址在西三环花园村。 两个学校没有什么关系的,并不是什么分流出来的.

  中国青年政治学院 VS 北京青年政治学院 后者办学层次为高职高专,学院占地面积40亩

  哈尔滨工业大学 VS 哈尔滨工程大学

  广西师范大学 VS 广西师范学院 前者是省属重点,后者是区属普通本科院校

  湖南科技大学 VS 湖南科技学院 前者是(原湘潭工学院、湘潭师范学院) 后者是(原零陵学院)

  中央音乐学院 VS 中国音乐学院

  中央美术学院(北京) VS 中国美术学院(浙江)  
  
  湖南文理学院 VS 湖南理工学院 VS 湖南工学院 VS 湖南工业大学
  
  湖南文理学院(原常德师范学院)

  湖南理工学院(原岳阳师范学院)

  湖南工学院(原湖南建材高等专科学校、湖南大学衡阳分校合并组建)

  湖南工业大学(原株洲工学院、株洲师专、湖南冶金职业技术学院合并组建)
  
  很明显,这些学校的名字是如此的相似,很容易让人混淆。就连《商标法》也有规定不能取同样或近似的商标,可教育部还是批准了这些相似的校名,原因何在?

  湖南文理学院、湖南理工学院、湖南工学院只有一字之差,相信很多人都会混淆。最离谱的还要算湖南科技大学和湖南科技学院,广西师范大学和广西师范学院,所谓学院和大学并没有十分确切的界线。
  
  “华工”之争  
  华南理工大学,华东理工大学,华中科技大学(原华中理工大学),理论上来说这三所学校都有叫“华工”的资格!但是本来最有资格叫的应该是华中理工大学,可是改名成华中科技大学了,硬是把“华工”让给了华南理工大学。华东理工大学嘛!还需要努力!  
  
  貌似兄弟的大学
  
  东华大学、西华大学、南华大学、北华大学、清华大学——中国五华(建议合并为中华大学!呵呵!)

  东南大学,东北大学

  西北大学,西南大学

  中南大学,中北大学
  
  中北,中南,西北,西南,西华,华南,华东,东北,北华等都被人使用了,还有“中东”,“中西”等好名称等待有关院校选用,可以预见“中华大学”也即将诞生!
  
  中国五大交通大学
  
  1896年,津海关道、太常寺少卿盛宣怀筹款在上海徐家汇创办了南洋公学,隶属招商、电报两局。民国成立后,学校改隶交通部,并易名为交通部上海工业专门学堂。1920年12月,上海工业专门学校、唐山工业专门学校、唐山工业专门学校、北京铁路管理学校和北京邮电学校合并成一所学校,定名为交通大学。1921年8月,上海工业专门学校改名为交通大学上海学校。交通大学和交通并没有直接的关系,因为它是隶属民国交通部的大学,所以才被称为交通大学的。“交通大学”四个字也不是可以随便滥用的,它有特定的历史原因,据说正因为叫交通大学,后来唐文治校长确定校庆的时候,就定于4月8日,取自交通是为了“四通八达”的意思。
  
  “交通大学(Jiao Tong University,旧名Chiao Tung University)”在中国一直以来是个特定名称,并不是类别名,这和工业大学、理工大学、科技大学、师范大学、农业大学、矿业大学等的称法有着本质的区别,后者属于行业名称,尽管现在很多的行业大学都是多科性大学,但总是以本行业学科或相关学科为主。而交通大学却不是行业大学,这个从交通大学一直沿用的英文名(Jiao Tong University)就可看出,而尤其对于上海交大和西安交大,是两所不搞交通的交通大学。从这个层面上来说,“交通”两字一旦和“大学”组合在一起,是一个特定的名字,这和清华、复旦、同济等名称是一样的。因历史渊源沿用交通大学并同属交通大学大家庭的共有5所:上海交通大学、西安交通大学、北京交通大学、西南交通大学和台湾新竹交通大学,这5所交大都被海内外校友广泛认同。现在,上海交通大学、西安交通大学、西南交通大学、北方交通大学、新竹交通大学五所交大已经联合成立“交通大学校友总会“(Jiao Tong University Alumni Association)。其宗旨是:加强校友与母校、校友之间的联系、团结和合作,发扬交大的优良传统,共同为振兴中华,为增进各国人民之间的友谊,为母校的发展贡献力量。其任务是:沟通校友与母校、校友之间的联系、发挥海内外校友的智力优势和广泛影响,为母校的发展作贡献,为祖国的统一和现代化建设作贡献。  
  上海交通大学(1959.9-)
  北京交通大学(1970.6-)
  西南交通大学(1972)
  西安交通大学(1959.9-)
  新竹交通大学(台湾)
  
  其他一些成为交通大学的大多是近年改的!为了沾“交大”的光啊!这些“交通大学”有一个共性:英文校名升格为Jiao Tong University,都使用毛体字(毛泽东曾题“交通大学”四字)。咋一看,真是惹眼,像极了正牌的交大,一时间引来许多非议。
  
  兰州交通大学:兰州铁道学院——〉兰州交通大学,虽然兰州铁道学院称与原交大有历史瓜葛(其称自己是西南交通大学的前身唐山铁道学院和北京交通大学的前身北京铁道学院迁部分系科迁兰组建而成的),虽然更名为“交通大学”时,北京交大和西南交大还发去贺信,但终究不能被原交大校友总会承认为嫡系。
  
  华东交通大学:位于江西南昌的华东交通大学,其英文名也是Jiao Tong,因为称其是“1971年9月22日,国务院、中央军委联合下发《关于六所高等院校的体制调整和领导关系的通知》,决定将上海交通大学机车车辆系和同济大学铁道工程专业并入上海铁道学院迁往江西,改名为华东交通大学。”
  
  大连交通大学:大连铁道学院——〉大连交通大学,大连铁道学院经教育部批准更名为所谓“大连交通大学”。看其校史,确实跟“交通大学”没有任何关系。
  
  重庆交通大学:重庆交通学院——〉重庆交通大学,最让人气愤的还是重庆交通大学,其学校网络域名为www.cquc.edu.cn,可见其原来的英文名为Chongqing University of Communication,然而其主页抬头已经赫然写着Chongqing Jiaotong University了。
  
  既然这些学校原来都是铁道学院,改名为铁道大学似乎更合乎常理,但为何要改为交通大学呢,从英文名称的使用上,我们不难发现这些学校有其不正当利益所驱动。退一万步讲,你改成交通大学也就算了,为何连英文名也要盗用成Jiao Tong University?或者干脆翻译成Univ. of Transportation(或Communication),这并不是不可行。我们没见过有哪个工业大学把学校翻译成Gongye University的,或者农业大学翻译成Nongye University,显然,行业大学应该遵照字面的原意翻译才利于国际交流和理解。很明显,它们是想利用交大在海外形成的知名度。  
  
  纺织高校“说变就变”
  
  近些年,纺织高校的名字就象时装一样,频频变脸。叫人难以产生悠远的历史感,由于文化积淀而产生的自豪感也荡涤一空。倒是应了那句古话,人在江湖,身不由己。象我这样有怀旧情绪的的人是不是也要象九斤老太那样叹息:如今的豆子也比从前硬多了。
  据说在纺织风光的时候,全国纺织院校及有纺织系科的学校有二十几所,如今没有一所独立的“纺织学院”,“纺织大学”了!一些纺织院校“变脸”如下:  
  原 名 现 名 变更原因 改名时间   
  山东纺织工学院 青岛大学 4校合并 1993年
  南通纺织工学院 南通工学院 改名 1995年
  苏州丝绸工学院 苏州大学 4校合并 1997年
  中国纺织大学 东华大学 改名 1999年
  上海纺织专科学校 中国纺织大学 2校合并 1999年
  天津纺织工学院 天津工业大学 改名 2000年
  武汉纺织工学院 武汉科技学院 改名 2000年
  西北纺织工学院 西北工程科技学院 改名 2000年
  浙江丝绸工学院 浙江理工大学 改名 2000年
  郑州纺织工学院 中原工学院 改名 2000年
  
  以下几所院校未更名
  
  北京服装学院(全国唯一以服装命名,其他的一些所谓号称服装学院的事实上都是民办的服装职业技术学院。)
  成都纺织高等专科学校
  河南纺织高等专科学校  
  
  冠以“中国”的大学们(不包含民办)
  
  中国传媒大学 原北京广播学院
  中国劳动关系学院 原中国工运学院
  中国美术学院 原浙江美术学院
  中国海洋大学 原青岛海洋大学
  中国石油大学 原石油大学
  中国计量学院 原浙江计量学院 简称“中计院”
  中国农业大学
  中国科学技术大学
  中国人民大学
  中国医科大学
  中国矿业大学
  中国政法大学
  中国地质大学
  中国药科大学  
  
  高校专业新名词
  
  大学里的专业是怎么划分和表达的?估计连一些老师也是一头雾水。看看5年前的叫法和现在有什么区别……
  
  中文系——〉文学与传媒学院 
  教育系——〉教育科学学院 
  历史系——〉社会学院 
  数学系——〉数学计算机科学学院 
  物理系——〉电子信息学院
  化学系——〉化学与材料学院
  地质系——〉地理与资源管理学院/地球科学学院
  英语系——〉外国语学院 
  政教系——〉经济法政学院
  生物系——〉生命科学学院  
  无线电系——〉通信工程学院   
  音乐系、美术系——〉艺术学院  
  
  大学改名规律
  
  教育产业化,高校市场化,扩招、圈地、兼并,高校也纷纷出招,打造自己的航空母舰,改名热是最显著的一个环节,如果是专科学校一定要改名为学院;如果是商学院,那就一定要改为工商大学;如果是外国语学院,那一定要变成外国语大学才罢休;于是电子科技大学、科技大学、理工大学、交通大学之类的校名满天飞,明明是个专业院校,却为了吸引考生的需要来一个像是综合性大学的校名。
  
  包括“矿冶”、“地质”、“气象”、“农林”、“石油”、“煤炭”、“纺织”等都是冷门的,这些专业几乎到了无人问津的地步,不仅招生难、毕业生就业难,教师引进也难。所以都要改!
  
  电子工业——〉电子科技    例如:杭州电子工业学院——〉杭州电子科技大学;桂林电子工业学院——〉桂林电子科技大学
  矿业——〉工业,理工,科技  例如:西安矿业学院——〉西安科技学院——〉西安科技大学
  工学,工业——〉理工,科技  例如:华东工学院——〉南京理工大学;沈阳工业学院——〉沈阳理工大学
  地质——〉工程   例如:西安地质学院——〉西安工程学院
  机械——〉理工   例如:陕西机械学院——〉西安理工大学
  经济——〉财经 例如:南京经济学院——〉南京财经大学
  铁道——〉交通 例如:兰州铁道学院——〉兰州交通大学;大连铁道学院——〉大连交通大学
  工程——〉理工 例如:浙江工程学院——〉浙江理工大学
  气象——〉信息工程 例如:成都气象学院——〉成都信息工程学院;南京气象学院——〉南京信息工程大学
  
  
  “改名游戏”有规则
  
  那么,国家教育部门对高校更改名称是如何规定的呢?近几年来,国家教育部对高校名称进行了规范限制,学院升为大学必须具备七个条件:①100名以上正教授;②8000名本科在校生;③三大学科门类,每门有三个以上专业;④有10个以上硕士研究点;⑤国家基金项目获奖20项以上;⑥教师中硕士博士比例占42%以上;⑦科研课题经费在600-2000万元。  
  
  大学校名的商标注册
  
  更名为“鲁东大学”的烟台师范学院也面临一个难题,因为作为核心内容和资产的“鲁东”已经在2005年03月28日被商标投资人申请注册,与其相似的事例还有“济大”商标等等。
  
  目前我国学校更名一般通过上级教育主管部门审批的形式进行,很少有人想到要提前或同期进行商标注册保护,这些学校在更名前本可以查询一下同类商标(第41类)是否已注册,但是这些学校因为不了解商标相关法规忽略了这一点。
  
  所以想问众多更名的院校,你们校名商标注册了吗?
  
  
  一改就能成名校乎?
  
  大多数国人对中国至今未能拥有一所世界名校感到遗憾。上至政要显贵,下到黎民百姓,都大有一种恨铁不成钢的架势。于是,中国由上至下地展开了一场声势浩大的“名校制造”运动。这大概能成为为什么全国各地的很多高校都不约而同的掀起了一股合并热潮的理由。似乎一合并,校园大了,学生多了,师资强了,学校也就跟着上了档次。
  
  大学的品牌是和校名联系在一起的,大学更换一次名字,元气都损伤一次,因此不到万不得已大学不要改校名。对于校名,老师、学生和校友都很有感情,更换校名容易伤害他们。大学校名的频繁更换,一定程度上反映中国高等教育发展有时不太尊重教育规律,行政主导的力量过强。如果只把改名当作学校发展的一个策略,对于学校没有太多的意义。但如考虑学校办学的方向存在问题,校名一改,相应的办学方针、专业设置等方面都随之变更,这也就无可厚非。
  
  其实,对一所高校的评价并不是看它的校名是否显赫、有气派,而是看它能否出大师、出成果、出思想。清华大学校长梅贻琦早就说过:“大学者非谓有楼之谓也,有大师之谓也。”巴黎高等师范学校两百多年来从未改过校名,却不影响它作为世界知名大学的地位,仅仅从这里走出的诺贝尔奖获得者就有10多位。盛名显赫的麻省理工学院就更不用说了,至今未听说他们想把学院改为大学。 德克萨斯农工大学如今已成名校,但始终不把“农工”二字去掉,因为这个校名已经成了响亮的名字。
  
  故意拉长自己的校史
  
  某些高校提升自己的影响故意拉长自己的校史,去年庆祝学校建校49周年,今年就是庆祝建校100周年,如2002年江苏就有南京大学、东南大学、江南大学等多所高校举行百年校庆。然而当中除了南京大学外其他高等学校才刚重新合并组建1年,仅仅是因为合并前某一院校在1952院系调整中曾有一小部分是从一老牌大学中调整而来,就将校史拉长到100年,并于2002年举办百年校庆。这样现象的出现,学生和家长包括很多从事高等教育行业的人也很难客观判断某所学校的真实实力。
  
  
  因时间关系,文中定有疏漏,错误,恳请广大网友指出!再下面跟贴!待日后整理成完整的《中国大学改名全集》!以上资料参考了多家文献!感谢原作者!

[ add comment ]   |  permalink  |  related link  |   ( 2.9 / 502 )
中华千句文 
鸿蒙未辟,宇宙洪荒。亿万斯年,四极不张。盘古开天,浊沉清扬。天高地厚,乾坤朗朗。日月经天,星宿列张。江河行地,浩浩汤汤。女娲补天,日月重光。夸父逐日,血气贲张。精卫填海,荡气回肠。后羿射日,功德无量。神话故事,意味深长。民族精神,积厚流光。

2人猿揖别

浩瀚宇宙,银河苍茫。地球生命,雨露阳光。斗转星移,天行有常。大陆漂移,七洲四洋。四时更替,寒来暑往。云行雨施,万物生长。大千世界,包罗万象。自然造化,大块文章。千岩万壑,层峦叠嶂。电闪雷鸣,狂涛巨浪。云合雾集,千态万状。长林丰草,傲雪凌霜。飞禽走兽,虎视鹰扬。适者生存,不主故常。人猿揖别,挺起脊梁。劳动造人,历尽沧桑。幕天席地,饮露餐霜。栉风沐雨,昼行夜藏。茹毛饮血,食果为粮。穴居野处,袭叶为裳。钻木取火,文明之光。物竞天择,万物灵长。

3人文初祖

赤县神州,地老天荒。文明古国,源远流长。物华天宝,灿烂辉煌。人杰地灵,万世其昌。三皇五帝,视民如伤。经始大业,万古流芳。神农教耕,沐雨经霜。遍尝百草,救死扶伤。轩辕黄帝,始垂衣裳。成命百物,律吕调阳。结绳记事,不得其详。仓颉造字,天雨粟粮。刀耕火种,驯牛牧羊。春耕夏耘,秋收冬藏。日出而作,植谷采桑。日落而息,处顺安常。尧天舜日,鼓腹击壤。天下为公,尧舜禅让。大禹治水,深孚众望。过门不入,千古传唱。

4文武之道

夏桀商纣,多行不义。酒池肉林,骄奢淫逸。怙恶不悛,声名狼藉。恶贯满盈,众叛亲离。文王兴周,鸣琴而治。政简刑清,有凤来仪。拘而演易,太极两仪。变化无穷,天人合一。吉凶祸福,昼乾夕惕。天行其健,自强不息。武王伐纣,仁义之师。吊民伐罪,发扬蹈厉。牧野之战,灭此朝食。放牛归马,与民休息。文武之道,一张一弛。礼乐刑政,宽猛相济。周公吐哺,宵衣旰食。天下归心,沐仁浴义。

5五霸七雄

东周王权,有名无实。礼崩乐坏,鞭长莫及。五霸七雄,各行其是。喧宾夺主,比权量力。厉兵秣马,攻城略地。远交近攻,弱肉强食。名公巨卿,门庭若市。千金买骨,轻财重士。食客三千,良莠不齐。待价而沽,择木而栖。毛遂自荐,露才扬己。脱颖而出,名噪一时。鸡鸣狗盗,等而下之。东奔西走,随物应机。郑伯克段,蔑伦悖理。处心积虑,不寒而栗。宋襄之仁,贻误战机。假仁纵敌,兵法大忌。越王勾践,辱国丧师。卧薪尝胆,报仇雪耻。商鞅变法,顿纲振纪。断而敢行,斧钺不避。开罪权贵,五马分尸。闻者兴起,顽廉懦立。赵武灵王,四面受敌。胡服骑射,高见远识。围魏救赵,声东击西。田忌赛马,动态博弈。悲歌易水,风萧萧兮。图穷匕现,士死知己。李冰父子,兴修水利。天府之国,沃野千里。都江古堰,百世之利。帝王霸业,望尘莫及。

6百家争鸣

诸子百家,应运而生。百花竞放,百家争鸣。各抒己见,异彩纷呈。畅所欲言,众说纷纭。智者见智,仁者见仁。著书立说,各显其能。儒家学说,以仁为本。中庸之道,修齐治平。克己复礼,天下归仁。己所不欲,勿施于人。道德文章,历久弥新。春风化雨,泽被苍生。老庄之道,有无相生。深藏若虚,独善其身。绝圣弃智,和光同尘。遗世独立,小国寡民。清心寡欲,与世无争。顺其自然,返朴归真。墨家巨子,重厚少文。克勤克俭,身体力行。非攻兼爱,排难解纷。摩顶放踵,舍己为人。法家治国,政出一门。君主专权,以刑去刑。令行禁止,富国强兵。严刑峻法,民不堪命。名家善辩,领异标新。白马非马,钩深索隐。苏秦张仪,合纵连横。朝秦暮楚,斗角勾心。巧舌如簧,娴于辞令。高谈雄辩,绵里藏针。孙子兵法,奇正相生。出神入化,莫测高深。兵不厌诈,出奇制胜。诱敌深入,排兵布阵。攻心为上,兵不血刃。知己知彼,百战百胜。

7万世师表

大哉孔子,博闻精思。任重道远,格物致知。十五志学,发愤忘食。举一反三,闻一知十。见贤思齐,闻过则喜。敏而好学,三十而立。首创私学,传授六艺。教学相长,能者为师。有教无类,不偏不倚。因材施教,有的放矢。诲人不倦,苦心孤诣。循循善诱,发蒙启蔽。温故知新,日省月试。不耻下问,学无常师。周游列国,颠沛造次。君子固穷,蹈仁履义。春秋笔法,微言大义。删诗定礼,垂范百世。述而不作,知人论世。煌煌论语,一言穷理。安贫乐道,朝闻夕死。川流不息,逝者如斯。无冕素王,百世之师。金声玉振,高山仰止。孟母三迁,善择邻里。近墨者黑,近朱者赤。断机训子,郑重其事。教子有方,尽心竭力。劳其筋骨,苦其心志。亚圣孟子,终成大器。富贵不淫,贫贱不移。威武不屈,舍生取义。平治天下,鸿鹄之志。舍我其谁,浩然之气。

8诗经楚辞

诗三百篇,直抒胸臆。兴观群怨,诗以言志。窈窕淑女,谦谦君子。一日不见,如三秋兮。雨雪霏霏,杨柳依依。行道迟迟,载渴载饥。乐而不淫,止乎礼义。悠悠我思,中心藏之。屈子行吟,颠沛流离。上下求索,参天地兮。离骚天问,金相玉质。黄钟大吕,沉博绝丽。香草美人,衔华佩实。怀瑾握瑜,秉德无私。举世皆浊,百感交集。负石沉湘,端午享祭。

9秦皇汉武

秦皇嬴政,前无古人。席卷八荒,整顿乾坤。中央集权,雷厉风行。设郡立县,同轨共文。师心自用,独断专行。焚书坑儒,万马齐喑。万里长城,蛟跃龙腾。气势磅礴,横亘古今。佞臣赵高,利令智昏。巧言令色,借刀杀人。指鹿为马,包藏祸心。生灵涂炭,民怨沸腾。陈胜吴广,篝火狐鸣。登高一呼,应者如云。揭竿而起,斩木为兵。星火燎原,三户亡秦。西楚霸王,拔山举鼎。万夫莫当,勇冠三军。破釜沉舟,先声夺人。一以当十,雷霆万钧。火烧阿房,一意孤行。匹夫之勇,妇人之仁。鸿沟中分,鸣金收兵。四面楚歌,心灰意冷。霸王别姬,乌江自刎。英雄本色,江山美人。生为人杰,叱咤风云。死亦鬼雄,青史留名。汉祖刘邦,市井平民。斩蛇逐鹿,临机制胜。避实就虚,捷足先登。约法三章,收买人心。鸿门赴宴,如履薄冰。随机应变,虎口余生。招贤纳士,举贤使能。左右逢源,小屈大伸。威加海内,舞笔弄文。衣锦还乡,竖子成名。淮阴韩信,饱经忧患。怀才不遇,一筹莫展。落魄江湖,时乖运蹇。胯下之辱,委曲求全。登坛拜将,独当一面。明修暗度,背水一战。韩信将兵,多多益善。十面埋伏,稳操胜券。国士无双,如日中天。兔死狗烹,负屈含冤。成也萧何,时来运转。败也萧何,感慨万端。

文景之治,开物成务。休养生息,轻徭薄赋。以农为本,卖刀买犊。精耕细作,五谷丰熟。安居乐业,自给自足。强本节用,民殷国富。萧规曹随,驾轻就熟。无为而治,黄老之术。武帝刘彻,允文允武。雄才大略,高瞻远瞩。犁庭扫穴,开疆拓土。罢黜百家,独尊儒术。

李广难封,命蹇数奇。桃李不言,下自成蹊。张骞出使,不远万里。丝绸之路,沟通中西。苏武牧羊,心存社稷。卧雪吞毡,矢志不移。昭君出塞,深明大义。琵琶胡语,如诉如泣。

太史公迁,大才??。子承父业,家学渊源。犯颜直谏,仗义执言。奇耻大辱,负重致远。学究天人,大笔如椽。通达古今,成一家言。鸿篇巨制,树碑立传。独树一帜,别开生面。传神写照,飞文染翰。秉笔直书,言近旨远。无韵离骚,藏诸名山。史家绝唱,不刊之典。

王莽摄政,谦恭下士。沽名钓誉,偷天换日。托古改制,徒劳无益。朝令夕改,人亡政息。光武中兴,回天挽日。正本清源,与民更始。班超马援,胸怀大志。投笔从戎,马革裹尸。不入虎穴,焉得虎子。西域岭南,立功立事。

10三国演义

东汉末年,民生凋敝。兵荒马乱,群雄竞起。枭雄曹操,首屈一指。龙骧虎步,踌躇满志。唯才是举,远见卓识。济济多士,如虎添翼。发号施令,假传圣旨。身经百战,出生入死。青梅煮酒,旁敲侧击。梦中杀人,狐性多疑。望梅止渴,略施小计。割发代首,工于心计。对酒当歌,横槊赋诗。才兼文武,独步一时。老骥伏枥,志在千里。烈士暮年,壮心不已。

诸葛孔明,惊才风逸。上知天文,下知地理。宁静致远,淡泊明志。用行舍藏,韬晦待时。三顾茅庐,精诚所至。知遇之恩,投桃报李。隆中对策,审时度势。指点江山,面授机宜。临危受命,六出奇计。运筹帷幄,决胜千里。舌战群儒,力排众议。草船借箭,妙算神机。巧借东风,火烧赤壁。空城妙计,化险为夷。七擒七纵,有胆有识。六出祁山,矢志不移。文韬武略,经天纬地。苦心经营,不遗余力。事必躬亲,日理万机。出师未捷,积劳成疾。鞠躬尽瘁,死而后已。后继无人,此恨何及。

武圣关羽,义薄云天。赤胆忠心,神人共鉴。桃园结义,相见恨晚。生死与共,披肝沥胆。身在曹营,忠心在汉。过关斩将,一往无前。华容让道,网开一面。知恩图报,仰不愧天。刮骨疗毒,处之泰然。夜读春秋,手不释卷。单刀赴会,视若等闲。水淹七军,智勇双全。位高权重,志得意满。顾盼自雄,自负不凡。痛失荆州,令人扼腕。败走麦城,虎落平川。

三强会战,临军对阵。决一雌雄,赤壁鏖兵。旌旗蔽日,樯橹连云。刀枪林立,剑戟森森。风猛火烈,流急水深。人喊马嘶,鼓角齐鸣。短兵相接,弓折刀尽。血海尸山,触目惊心。曹军败北,豕突狼奔。灰飞烟灭,片甲不存。周郎赤壁,羽扇纶巾。以寡敌众,大获全胜。成事在天,谋事在人。天下大势,鼎足三分。

11名士风流

建安风骨,三曹七子。各领风骚,驰名当世。登高能赋,龙章凤姿。辞丰意雄,高情远致。文章风尚,民情物理。经国大业,不朽盛事。北海孔融,狷介之士。酒虎诗龙,负才任气。陈王曹植,辞藻华丽。才高八斗,时运不济。兄弟阋墙,七步成诗。煮豆燃萁,相煎何急。洛神之赋,绝妙好辞。出水芙蓉,明眸皓齿。凌波微步,婀娜多姿。风流蕴藉,沁人心脾。

魏晋风度,特立独行。名士风流,卓尔不群。嵇琴阮啸,自由放任。我行我素,旁若无人。恃才傲物,盛气凌人。落拓不羁,桀骜不驯。广陵散绝,千载琴音。六马仰秣,旷古高韵。书圣右军,传世兰亭。矫若惊龙,飘若浮云。谢公灵运,独辟蹊径。寄情山水,怡志养神。渊明高士,野鹤闲云。高风亮节,玉洁冰清。不阿权贵,挂冠归隐。采菊东篱,望峰息心。孤芳自赏,鹤立鸡群。世外桃源,空谷足音。

多事之秋

晋末乱世,多事之秋。兵连祸结,沧海横流。肉食者鄙,未能远谋。新亭对泣,借酒浇愁。祖逖之誓,气冲牛斗。闻鸡起舞,击楫中流。枕戈待旦,先拔头筹。声名鹊起,动辄得咎。前功尽弃,痛心疾首。郁郁而终,壮志未酬。淝水之战,来者不善。投鞭断流,大言不惭。一触即溃,人仰马翻。落花流水,抱头鼠窜。草木皆兵,心惊胆寒。风声鹤唳,魂飞魄散。铩羽而归,只轮不返。一蹶不振,瓦解星散。

乐府民歌,璞玉浑金。鼓角横吹,西曲吴声。关山迢递,木兰从军。巾帼英雄,屡战屡胜。东南雀飞,连理同心。棒打鸳鸯,绵绵此恨。文心雕龙,体大思精。举例发凡,文论之尊。骈四俪六,天机云锦。洛阳纸贵,共赏奇文。

隋帝杨坚,千秋人物。一统天下,鼎新革故。暴君杨广,荒淫无度。大逆不道,杀兄弑父。横征暴敛,巧立名目。衣冠禽兽,暴殄天物。好大喜功,大兴土木。开凿运河,南北通途。劳民伤财,危机四伏。祸不旋踵,引颈就戮。

13大唐雄风

唐宗世民,十八举兵。龙腾云起,虎啸风生。众望所归,发政施仁。励精图治,民为邦本。前车之鉴,警钟长鸣。载舟覆舟,发人深省。广开言路,知人善任。从谏如流,亲贤远佞。魏征直谏,面折廷争。房谋杜断,练达老成。科举取士,选贤任能。英雄入彀,龙跃凤鸣。贞观之治,万象更新。风调雨顺,霞蔚云蒸。路不拾遗,四海升平。夜不闭户,海晏河清。武后建周,改朝换姓。不让须眉,旷古绝伦。大权独揽,高下在心。日月当空,六亲不认。众矢之的,物议沸腾。依然故我,置若罔闻。墓碑无字,聚讼纷纭。是非功过,自有公论。

盛唐气象,大风泱泱。兼收并蓄,博采众长。四方辐辏,万流景仰。风清弊绝,物阜民康。甲第连云,画栋雕梁。琼楼玉宇,金碧辉煌。通都大邑,人来人往。车水马龙,纷纷攘攘。文成公主,和亲入藏。近悦远来,日使遣唐。丝绸古道,驼队相望。商旅如云,迎来送往。敦煌石窟,艺术宝藏。鬼斧神工,穷形尽相。金刚怒目,佛像端庄。力士凶猛,飞天轻翔。吴带当风,飘拂飞扬。下笔风雷,淋漓酣畅。文人墨客,风流倜傥。怡然自得,裘马清狂。英雄豪杰,志在四方。意气风发,慷慨激昂。八面来风,心驰神往。文化交融,其道大光。

开元盛世,好景不长。承平日久,袭故守常。偏听偏信,用人不当。英雄气短,儿女情长。杨家有女,仪态万方。千娇百媚,国色天香。月貌花容,桃羞杏让。倾国倾城,身显名扬。渔阳鼙鼓,惊破霓裳。安史之乱,当头一棒。变生不测,临阵磨枪。仓卒应战,损兵折将。劫后余生,一落千丈。天下汹汹,人心惶惶。积重难返,病入膏肓。风雨飘摇,名存实亡。

佛教西来,落地生根。慈悲为怀,普度众生。晨钟暮鼓,古寺青灯。四大皆空,梦幻泡影。善男信女,心虔志诚。长斋礼佛,看破红尘。苦海无边,因果报应。回头是岸,革面洗心。玄奘鉴真,得道高僧。西行东渡,自度度人。六祖慧能,明心见性。大彻大悟,六根清净。当头棒喝,醍醐灌顶。不立文字,以心传心。

唐诗奇葩,精妙绝伦。登峰造极,炉火纯青。意在笔先,一气呵成。千锤百炼,精益求精。雍容典雅,珠圆玉润。琅琅上口,掷地有声。诗仙李白,文如其人。斗酒百篇,鬼哭神惊。妙笔生花,流水行云。羚羊挂角,无迹可寻。信手拈来,浑然天成。才华横溢,超凡入圣。诗圣杜甫,忧国忧民。切中时弊,入木三分。沉郁顿挫,风骨峭峻。陈言务去,惜墨如金。穷而后工,波澜老成。锋发韵流,下笔有神。浊酒空壶,酌古斟今。广厦万间,好梦难成。

14亡国长恨

南唐后主,绝代才人。不识干戈,荒于朝政。国破家亡,忍辱偷生。阶下之囚,悲不自胜。不堪回首,触景生情。天上人间,刻骨铭心。春花秋月,低唱浅斟。流水落花,人生长恨。故国之思,魂牵梦萦。字字血泪,感人至深。

15清明上河

宋祖匡胤,羽翼既成。陈桥兵变,黄袍加身。江山垂统,先发制人。杯酒释兵,开心见诚。强干弱枝,内重外轻。正理平治,偃武修文。清明上河,游人如云。张灯结彩,积玉堆金。酒楼茶肆,谈笑风生。勾栏瓦舍,鼓瑟吹笙。青天包公,正大光明。疾恶如仇,为民请命。明察秋毫,举重若轻。片言折狱,明正典刑。铁面无私,大义灭亲。执法如山,不徇私情。廉洁奉公,堂堂正正。两袖清风,高悬明镜。

16半壁江山

狼烟四起,南风不竞。靖康之耻,莫此为甚。高宗南渡,一夕数惊。丧家之犬,死里逃生。偏安一隅,粉饰太平。残山剩水,歌舞升平。三秋桂子,香风熏人。十里荷花,悦目赏心。醉生梦死,麻木不仁。及时行乐,苟且偷生。山雨欲来,黑云压城。忠臣义士,泣血椎心。

武穆岳飞,三十功名。还我河山,热血沸腾。岳母刺字,铭刻在心。精忠报国,社稷之臣。整军经武,保国安民。号令如山,鸡犬不惊。壮怀激烈,义愤填膺。怒发冲冠,威风凛凛。金戈铁马,坚甲利兵。捷报频传,声威大震。指日可待,黄龙痛饮。仰天长叹,功败垂成。

奸臣秦桧,祸国殃民。引狼入室,屈节辱命。卖国求荣,狼子野心。为虎作伥,俯首听命。莫须有罪,血口喷人。欺天罔地,自毁长城。东窗事发,人神共愤。遗臭万年,盖棺论定。青山忠骨,万古长春。白铁佞臣,千古骂名。

稼轩放翁,剑胆琴心。中原北望,悲愤填膺。楼船夜雪,铁马秋风。栏杆拍遍,醉里挑灯。慷慨悲歌,报国无门。赍志以殁,抱恨终身。元师南下,风卷残云。半壁江山,大厦将倾。孤臣遗老,断梗浮萍。势单力薄,孤掌难鸣。山河破碎,托孤寄命。主辱臣死,神州陆沉。文公天祥,碧血丹心。坚贞不屈,铁骨铮铮。蹈节死义,杀身成仁。天地正气,永照汗青。

17文章宗匠

文章宗匠,同声相应。经纶天下,著述等身。范公仲淹,宠辱不惊。先忧后乐,胸有甲兵。欧阳文忠,诗文革新。醉翁之意,山水寓情。司马君实,博古通今。资治通鉴,以史为镜。荆公安石,变法维新。矫世变俗,激浊扬清。程朱理学,先知后行。发微阐精,穷理尽性。三纲五常,道心治民。灭绝人欲,斯道何明?

宋词瑰宝,炳炳麟麟。含英咀华,寄兴寓情。清词丽句,情文相生。字字珠玑,清音幽韵。豪放婉约,相反相成。运用之妙,存乎一心。东坡居士,天纵多能。旷世逸才,妙绝时人。随遇而安,乐天知命。豁达大度,豪气干云。大江东去,风流淘尽。铜琶铁板,响遏行云。才女清照,绣口锦心。绿肥红瘦,俊逸清新。寻寻觅觅,冷冷清清。哀感顽艳,凄婉动人。

18一代天骄

塞外茫茫,一望无际。天似穹庐,地广人稀。大漠孤烟,长河落日。风吹草低,牛羊遍地。蒙古健儿,豪放不羁。逐草而居,东迁西徙。好勇斗狠,孔武有力。纵酒放歌,痛快淋漓。成吉思汗,异军突起。一代天骄,无与伦比。弯弓射雕,气吞万里。纵横驰骋,所向披靡。以战养战,因敌取资。烧杀抢掠,无所顾忌。东征西讨,马不停蹄。横扫欧亚,天下无敌。

19明朝兴衰

红巾起义,此起彼伏。风起云涌,群雄逐鹿。明祖元璋,大展宏图。积草屯粮,兵劲城固。后发制人,东荡西除。各个击破,降龙伏虎。开基立业,建元洪武。鸟尽弓藏,滥杀无辜。锦衣横行,如狼似虎。生杀予夺,株连九族。魏氏阉党,飞扬跋扈。一手遮天,政由己出。招权纳贿,藏垢纳污。孝子贤孙,城狐社鼠。东厂西厂,残民害物。率兽食人,鹰犬塞途。血雨腥风,道路以目。罪恶滔天,罄竹难书。

天灾人祸,民不聊生。官逼民反,李闯起兵。均田免粮,旗帜鲜明。转战千里,行踪无定。进退失据,险象环生。一波三折,大功告成。称孤道寡,得意忘形。追赃助饷,杀气腾腾。祸乱相寻,红颜薄命。冲冠一怒,开关降清。腹背受敌,形格势禁。大顺政权,短寿促命。郡王成功,救危扶倾。南征北战,移师金门。收复台湾,指挥若定。金瓯无缺,顺天应人。

郑和远航,大张旗鼓。宣威异域,举世瞩目。舳舻千里,观者如堵。乘风破浪,风雨无阻。飘洋过海,观风察俗。奇珍异宝,互通有无。七下西洋,应付自如。绝域殊方,心悦诚服。

霞客远游,视险如夷。风尘仆仆,穿荆度棘。跋山涉水,乐此不疲。寻幽探胜,甘之如饴。溶洞石林,光怪陆离。暗河伏流,有声无迹。溯流穷源,循名责实。析微察异,世传游记。

20康乾盛世

清朝太祖,一世之雄。白山黑水,戎马倥偬。创业未半,饮恨而终。后继有人,风虎云龙。兵强马壮,有恃无恐。虎视眈眈,待机而动。问鼎中原,来势汹汹。长驱直入,创业垂统。康乾盛世,文治武功。四库全书,取精用宏。民族融合,移孝为忠。幅员辽阔,四海一统。思想桎梏,言出祸从。妄自尊大,囿于传统。

21晚清悲歌

清廷积弱,强敌环伺。闭关锁国,坐失机宜。达官显贵,玩物丧志。王侯将相,文恬武嬉。故步自封,自以为是。夜郎自大,不自量力。虎门销烟,可歌可泣。鸦片战争,一败涂地。南京条约,赔款割地。落后挨打,卑躬屈膝。西方列强,船坚炮利。明火执仗,横行无忌。狼狈为奸,沆瀣一气。蚕食鲸吞,变本加厉。太平天国,金田起义。波澜壮阔,惊天动地。建都天京,分庭抗礼。矜功伐能,忘乎所以。自相残杀,大伤元气。重整旗鼓,有心无力。英法联军,狼贪虎视。火烧名园,掳掠京畿。洗劫一空,残垣断壁。坐地分赃,令人发指。

洋务运动,识时通变。御侮自强,刻不容缓。师夷长技,取长补短。中体西用,瑕瑜互见。兴办实业,热火朝天。舍本逐末,事倍功半。甲午海战,炮火连天。事事掣肘,孤立无援。舰队官兵,浴血奋战。视死如归,捐躯赴难。北洋水师,毁于一旦。京师震恐,举国哗然。马关条约,辱国丧权。千年变局,人心震憾。严译名著,原富天演。优胜劣汰,真知灼见。公车上书,直言切谏。百日维新,昙花一现。浏阳谭公,侠肝义胆。冲决网罗,毅然决然。有心杀贼,无力回天。从容就义,血荐轩辕。垂帘听政,苟延残喘。瀛台落日,风雨如磐。义和团众,赤手空拳。扶清灭洋,可悲可叹。八国联军,荷枪实弹。杀人如麻,欲壑难填。末代王朝,日薄西山。内外交困,天怒人怨。

22西学东渐

有识之士,忧心如焚。反思制度,传播文明。西学东渐,耳目一新。欧风美雨,心开目明。希腊文明,理性精神。罗马政治,共和公民。文艺复兴,倡导人文。宗教改革,观念创新。启蒙运动,深入人心。天赋*****,不刊之论。民主自由,博爱平等。科技发明,工业革命。

孙公逸仙,民国之父。百折不挠,备尝艰苦。仁人志士,挺身而出。赴汤蹈火,义无反顾。武昌首义,振臂一呼。辛亥革命,拉朽摧枯。推翻帝制,欢欣鼓舞。建立民国,鸿业远图。三民五权,共和之路。步履维艰,进退维谷。窃国大盗,民贼独夫。倒行逆施,死有余辜。军阀混战,穷兵黩武。封建残余,根深蒂固。五四运动,如火如荼。知识分子,大声疾呼。反帝反封,奋身不顾。提倡白话,反对八股。开启民智,移风易俗。科学民主,必由之路。

文明碰撞,际会风云。中西论战,反躬自省。祖宗成法,错节盘根。抱残守缺,创巨痛深。全盘西化,急于求成。生搬硬套,矫枉过正。鉴往知来,熔古铸今。中西合璧,相辅相成。传统文化,批判继承。融汇贯通,去芜存精。周虽旧邦,其命唯新。观乎人文,天下化成。

23传承文明

中华文化,生生不息。博大精深,璀璨瑰丽。华夏为号,炎黄为旗。龙凤为图,汉字为记。典章文物,经史子集。文化积淀,书不尽意。厚德载物,通天彻地。薪火相传,百世一系。

24礼仪之邦

礼仪之邦,重情重义。以和为贵,求同存异。推己及人,设身处地。温良恭俭,忠信孝悌。尊老爱幼,子孝父慈。天伦之乐,儿孙绕膝。幼有所养,关怀备至。老有所终,反哺之私。舐犊之爱,倚闾之思。寸草春晖,昊天罔极。手足之情,同气连枝。兄友弟恭,深情厚谊。青梅竹马,心有灵犀。两情相悦,山盟海誓。燕尔新婚,如胶似漆。伉俪情深,连理比翼。相敬如宾,善解人意。白头偕老,恩爱夫妻。高山流水,惺惺相惜。取友必端,管宁割席。莫逆之交,同休共戚。一诺千金,无信不立。街坊邻里,和衷共济。守望相助,唇齿相依。成人之美,乐善好施。见义勇为,水火不辞。四海为家,天涯游子。白云亲舍,莼鲈之思。树高千丈,情系故里。叶落归根,敬恭桑梓。中秋佳节,婵娟千里。花好月圆,今夕何夕。除夕春节,良辰吉日。辞旧迎新,吉祥如意。

25百年树人

十年树木,百年树人。国之大计,教育为本。为人师表,明德惟馨。蜡炬成灰,春蚕丝尽。言传身教,金针度人。潜移默化,春风风人。学海无涯,力学笃行。书山有路,天道酬勤。悬梁刺股,映雪囊萤。凿壁偷光,立雪程门。废寝忘食,枕典席文。目不窥园,聚精会神。滴水穿石,磨杵成针。锲而不舍,持之以恒。孜孜以求,循序渐进。逆水行舟,知难而进。行成于思,业精于勤。厚积薄发,学无止境。立身处世,洁身慎行。温柔敦厚,敬业乐群。严于律己,宽以待人。从善如流,三省吾身。光明磊落,抱诚守真。志存高远,出类拔群。

26琴棋书画

琴棋书画,闲情逸致。弦外之音,蕴藏哲理。繁弦急管,敲金击石。阳春白雪,品竹调丝。千回百转,穿云裂石。八音迭奏,绕梁三日。纹枰玉子,棋布错峙。纵横捭阖,不可端倪。楚河汉界,别有天地。棋逢对手,袖里玄机。三真六草,炫异争奇。龙飞凤舞,渴骥怒猊。铁画银钩,劲骨丰肌。颜筋柳骨,遒劲有力。妙手丹青,尺幅千里。烘云托月,开心写意。画龙点睛,神来之笔。逸态横生,画中有诗。

27乐山乐水

渔樵耕读,林泉之志。竹篱茅舍,墟烟依依。烟波钓徒,雨蓑风笠。曲水流觞,枕流漱石。梅兰竹菊,雅人高致。月白风清,心旷神怡。霞友云朋,梅妻鹤子。胸有丘壑,鸥鹭忘机。梦游天姥,泛舟赤壁。灞桥烟柳,阳关羌笛。乐山乐水,风光月霁。回归自然,物我一体。

28建筑园林

古典建筑,匀齐对称。秦砖汉瓦,玉石鼎铛。飞檐斗拱,碧瓦朱甍。流金溢彩,雕龙画凤。重楼飞阁,美奂美轮。桂殿兰宫,庭院深深。园林艺术,匠心独运。移天缩地,小山假景。曲径通幽,移步换景。诗情画意,怡情养性。

29寓言故事

寓言故事,妙趣横生。言简意赅,引人入胜。掩耳盗铃,自欺欺人。刻舟求剑,冥顽不灵。买椟还珠,舍质求文。画蛇添足,自作聪明。守株待兔,坐享其成。狐假虎威,仗势欺人。揠苗助长,欲益反损。邯郸学步,东施效颦。运斤成风,神乎其神。叶公好龙,徒有虚名。杞人忧天,荒诞不经。杯弓蛇影,疑鬼疑神。滥竽充数,南郭先生。井底之蛙,孤陋寡闻。南辕北辙,背道而行。黔驴技穷,无计可生。塞翁失马,祸福相生。愚公移山,有志竟成。

30戏曲小说

戏曲杂剧,喜闻乐见。曲尽其妙,动人心弦。梨园弟子,优孟衣冠。惟妙惟肖,活灵活现。窦娥奇冤,动地感天。待月西厢,天假良缘。长生殿内,悱恻缠绵。血溅桃扇,柔肠寸断。京剧国粹,鳌头独占。粉墨登场,锣鼓喧天。科班出身,字正腔圆。抑扬顿挫,有板有眼。生旦净丑,争奇斗艳。各擅胜场,众口交赞。

古典小说,雅俗共赏。四大名著,不朽篇章。才子佳人,帝王将相。市井之徒,纨膏粱。悲欢离合,荣辱兴亡。人情冷暖,世态炎凉。呼之欲出,跃然纸上。百读不厌,击节称赏。

齐天大圣,百炼成钢。腾云驾雾,登界游方。大闹天宫,横冲直撞。呵佛骂祖,作乱犯上。西天取经,水阔山长。荆棘塞途,路在何方。妖魔鬼怪,魑魅魍魉。荼毒生灵,兴风作浪。猴王悟空,从天而降。火眼金睛,变幻无常。神通广大,保驾护航。降妖除魔,遇难呈祥。

逼上梁山,地煞天罡。铤而走险,雄踞一方。歃血为盟,捻土为香。有福同享,有难同当。啸聚山林,其应如响。劫富济贫,敢作敢当。梁山好汉,破军杀将。水来土掩,兵来将挡。水泊梁山,固若金汤。替天行道,除暴安良。聚义而兴,迂忠而亡。轰轰烈烈,生死何妨。

红楼梦幻,迷离惝恍。假语村言,谁解痴狂。通灵宝玉,惜玉怜香。寻愁觅恨,似傻如狂。黛玉葬花,百结愁肠。风刀霜剑,满目凄凉。金玉良缘,水月镜像。木石前盟,殒玉消香。贾王史薛,金玉满堂。裘敝金尽,暮景残光。飞鸟投林,渺渺茫茫。太虚幻境,世事无常。

31侠义精神

中国功夫,强身健体。内外双修,刚柔相济。吐纳导引,调心整息。动若脱兔,静若处子。少林武当,武林圣地。南拳北腿,神乎其技。拳经剑谱,不传之秘。勤学苦练,十年面壁。路见不平,行侠仗义。锄强扶弱,伸张正义。尚武精神,阳刚之气。平民百姓,心向往之。武侠小说,风靡一时。成人童话,匪夷所思。绿林好汉,江湖义气。不拘小节,放浪行迹。亡命之徒,害人害己。狐朋狗友,乌烟瘴气。刀客剑侠,轻生重义。人在江湖,身不由己。快意恩仇,萍踪浪迹。刀光剑影,身怀绝技。百步穿杨,借力打力。踏雪无痕,飞檐走壁。侠骨柔情,红颜知己。爱恨情仇,万缕千丝。英雄无泪,豪侠尚义。至情至性,仁者无敌。

32饮食文化

烹调饮食,八大菜系。食不厌精,脍不厌细。风味小吃,比比皆是。满汉全席,列鼎而食。山珍海味,雕盘绮食。美酒佳肴,香留唇齿。色香味形,融为一体。菜名如诗,别出新意。玉液琼浆,香飘十里。以酒会友,惜客好义。置酒高会,座无虚席。开怀畅饮,酒逢知己。

觥筹交错,春风和气。酒酣耳热,谈天说地。猜拳行令,使酒仗气。日暮酒阑,杯盘狼藉。醉眼朦胧,言不达意。尽欢而散,旧雨新知。骚人墨客,他乡故知。一觞一咏,饮酒赋诗。把酒临风,陶然忘机。神游物外,壶中天地。以茶代酒,清神爽气。生津止渴,开郁养体。灵芽玉瓯,云雾绿溪。微缕吐馨,清香四溢。文人雅士,品茗引思。碧蕊天味,清苦到底。

33商业文明

将本求利,天经地义。仓禀丰实,富而好礼。利来利往,攘攘熙熙。民自为市,善者因之。义利并重,农末相资。通商惠工,民生国计。管仲相齐,商贾云集。富民强国,经纶济世。陶朱范蠡,商业祖师。持筹握算,百不失一。长安道上,六街三市。南来北往,盛极一时。东南形胜,纷华靡丽。市列珠玑,户盈罗绮。六朝金粉,繁华胜地。商铺店坊,鳞次栉比。针头线脑,油盐柴米。绫罗绸缎,陶瓷玉器。茶酒香药,书画金石。琳琅满目,目不暇给。富商巨贾,囤积居奇。长袖善舞,无往不利。坐贾行商,研桑心计。贱敛贵出,不失时机。小本经营,勤业乐事。精打细算,铢累寸积。不法之徒,欺行霸市。尔虞我诈,背信弃义。坑蒙拐骗,伤天害理。假冒伪劣,千夫所指。百年老店,货真价实。买卖公平,童叟无欺。和气生财,日增月益。诚实守信,互惠互利。

十里洋场,纸醉金迷。五方杂处,鱼龙混迹。冒险乐园,赌彩一掷。流氓大亨,追名逐利。民族工业,满目疮痍。左支右绌,难以为继。工商巨子,奋袂而起。实业救国,手足胼胝。状元张謇,及锋而试。弃政从商,风云之志。东方之珠,国际都市。摩天大楼,拔地而起。中西荟萃,万商云集。购物天堂,游人如织。金融投资,航运贸易。波谲云诡,操赢致奇。法治社会,自由经济。生机勃勃,日新月异。

34科技之光

河图洛书,鸿爪雪泥。天文历法,规天矩地。九章算术,条分缕析。圆周密率,析毫剖厘。夏鼎商彝,国之重器。冶铁煮盐,民生所系。能工巧匠,不可胜计。赵州拱桥,气吞虹霓。蔡伦造纸,毕活字。磁针指南,火药霹雳。四大发明,人类福祉。有口皆碑,丰功伟绩。中华医学,自成体系。五行生克,阴阳相济。望闻问切,本草金石。妙手回春,悬壶济世。对症下药,标本兼治。延年益寿,固本养气。

35江山如画

锦绣中华,江山万里。钟灵毓秀,瑰奇壮丽。名山大川,洞天福地。人文景观,名胜古迹。雪域高原,世界屋脊。莽莽昆仑,横空出世。天山南北,绿洲戈壁。林海雪原,冰天雪地。泰山独尊,封禅拜祭。嵩山禅宗,少林绝技。黄山松石,斗怪争奇。华山独径,绝壁悬梯。武陵桃源,雾锁烟迷。蓬莱仙境,蜃楼海市。西湖潋滟,浓淡相宜。钱塘潮涌,沸天震地。天涯海角,花香四季。宝岛台湾,风光旖旎。鱼米之乡,膏腴之地。桂林山水,天下第一。黄河九曲,逶迤天际。壶口飞瀑,磅礴大气。长江奔腾,一泻千里。三峡湍流,千仞壁立。

百川归海,汪洋恣肆。一碧万顷,鸥翔鳞集。文明摇篮,九州禹迹。炎黄子孙,繁衍生息。

江山如画,叹为观止。千古风流,感慨系之。

36继往开来

大浪淘沙,千古兴亡。继往开来,慨当以慷。世界潮流,浩浩荡荡。顺之者昌,逆之者亡。人类环境,共存共亡。和平发展,时代方向。国际接轨,迎头赶上。知识经济,来日方长。信息网络,势不可挡。生命科学,初露锋芒。纳米技术,前途无量。宇宙探索,太空翱翔。莘莘学子,祖国栋梁。科教兴国,奋发图强。民族团结,繁荣富强。国家统一,人心所向。曾经沧海,多难兴邦。复兴中华,再创辉煌。

[ add comment ]   |  permalink  |  related link  |   ( 3 / 437 )

Back