- 博客(255)
- 资源 (5)
- 收藏
- 关注
原创 一般函数指针和类的成员函数指针
函数指针是通过指向函数的指针间接调用函数。函数指针可以实现对参数类型、参数顺序、返回值都相同的函数进行封装,是多态的一种实现方式。由于类的非静态成员函数中有一个隐形的this指针,因此,类的成员函数的指针和一般函数的指针的表现形式不一样。1、指向一般函数的指针函数指针的声明中就包括了函数的参数类型、顺序和返回值,只能把相匹配的函数地址赋值给函数指针。为了封装同类型的函数,可以把函数指针作为
2012-04-25 10:22:46
1016
1
原创 win32 c++编写系统服务程序
首先先创建一个控制台程序,或者win32程序,都没关系。因为后台服务是看不到界面的。服务程序应具有这样的功能:一个服务主函数,注册服务控制句柄,启动要运行的代码。二是服务控制函数,注册给系统,提供对服务管理程序SCM的响应,就是我的电脑-》管理里面的服务,不是有开始,停止,暂停这些功能么,这个函数就是对这个响应,停止的时候就做退出清理工作,关闭进程。就两个函数而已。一般是Servi
2012-04-25 10:21:32
1271
1
原创 结构(struct)
结构是由基本数据类型构成的、并用一个标识符来命名的各种变量的组合。 结构中可以使用不同的数据类型。 1. 结构说明和结构变量定义 在Turbo C中, 结构也是一种数据类型, 可以使用结构变量, 因此, 象其它 类型的变量一样, 在使用结构变量时要先对其定义。 定义结构变量的一般格式为: struct 结构名 {
2012-04-25 10:20:40
2817
原创 C++类的继承与多重继承的访问控制
对于单个类来说,讨论保护继承与私有继承的区别意义是不大的,他们的区别只在多级继承的情况中体现。 在这里我声明一下,对于此章节的内容不太适合用过多的文字进行描述,主要还是看例子,通过例子熟悉之间的关系,过多的文字描述会模糊读者思路。 例程如下(重要部分都做了详细说明): //程序作者:管宁 //站点:www.cndev-lab.com //所有稿件均有版权,如要转载,请
2012-04-25 10:16:10
463
原创 利用C语言实现计算机图像处理的方法
1.图像平移 图像平移只是改变图像在屏幕上的位置,图像本身并不发生变化。 假设原图像区域左上角坐标为(x0, y0),右下角坐标为(x1, y1),将图像分别沿x和y轴平移dx和dy,则新图像的左上角坐标为(x0 + dx, y0 + dy),右下角坐标为(x1 + dx, y1 + dy)。坐标平移变换公式为: x′ = x + dx y′ = y + dy
2012-04-25 10:15:21
747
原创 利用C++支持多国语言
本文以emule为例,探讨一下多国语言支持的实现。选择emule,因为它的多国语言支持实现的相当好,可以支持动态切换。而且最关键,它是开源的,可以直接通过源码来研究它的实现技术。 emule是利用动态加载资源DLL来实现多语言切换的,每一个资源DLL中包含了一份对应某一语言的字符串表。在源码的srchybrid\lang 路径上可以发现一个lang解决方案,其中包含了差不多40个项目,每个
2012-04-24 11:25:26
965
原创 C++程序设计最佳实践
随着计算机语言的发展,我们现在编写一个程序越来越容易了。利用一些软件开发工具,往往只要通过鼠标的拖拖点点,计算机就会自动帮你生成许多代码。但在很多时候,计算机的这种能力被滥用了,我们往往只考虑把这个程序搭起来,而不去考虑程序的性能如何,程序是否足够的健壮。而此节课的目的主要是介绍一些编码的经验,让大家编写的程序更加健壮和高性能。 1、Prefer const and inline to
2012-04-24 11:24:23
1423
1
原创 C++构造函数调用顺序
class Y {...}class X : public Y {...}X one;构造函数的调用顺序是下面的顺序:Y(); // 基类的构造函数X(); // 继承类的构造函数对于多基类的情况,下面是一个例子:class X : public Y, public ZX one;构造函数以声明的次序调用。Y(); // 基类构造函数首先被调用Z();
2012-04-24 11:17:28
669
原创 从java转向C\c++开发要学会些什么
1、继续保持java平台的可移植作风: 尽量使用标准库(顺便学学STL)、开源的东西、条件编译 2、学会忍受引用和指针的混合使用 3、继续保持面向对象的管理方式 4、学会内存管理,不要想象java的内存自管理 5、不要C++\C的网络应用库很丰富,就算有java那么丰富,你的头也会大。所以学会一门脚本语言, 来实现一些对时效没有要求,但对功能有较高要求的网络应用。 6
2012-04-24 11:15:22
733
原创 顺序表的基本操作用C 语言实现
顺序表的基本操作 void main() { char a[5]={'a','b','c','d','e'}; int n=5; char f='f',b='a',e; SqList sq; InitList(sq); //初始化表 CreateList(sq,a,n); //传入数据 DispList(sq)
2012-04-24 11:14:37
769
原创 HTML基础知识:学习掌握HTML 标准属性
HTML标签拥有属性。每个标签的特殊属性均被列于每个标签描述之下。这里列出的属性是通用于每个标签的核心属性和语言属性(有个别例外):核心属性 (Core Attributes)以下标签不提供下面的属性:base、head、html、meta、param、script、style以及title元素。属性值描述classclass_rule or sty
2012-04-24 11:11:40
509
原创 Struts标记库taglib介绍
Struts提供了用来封装逻辑的各种定制JSP标记,因此页面设计者可以将主要精力花在页面的可视特征上,而不必主要考虑Java语法或其它JSP语法n Struts-bean.tld:使访问和定义bean更容易,为了实现国际化,应使用不同的属性文件n struts-html.tld:提供显示HTML对象(如表单、按钮和复选框等)的简便方法n struts-logic.tld:支持逻辑构造,
2012-04-16 16:08:17
904
原创 配置Tiles框架
Tiles是一个Struts 框架的可选组件,是一个强大的页面组装工具步骤1:从Struts lib 文件夹拷贝struts-tiles.tld 和 tiles-config.dtd 文件 (如果没有)到/WEB-INF 文件夹. 插入下面的语句快到(如果没有)到 /WEB-INF/web.xml 文件中,并且紧跟其他 元素: /tags/tiles /WEB-INF/t
2012-04-16 16:07:08
795
原创 Ant构建文件
构建文件build.xml设置为使用源代码存储在WEB-INF子目录下的项目树。这使得整个应用,包括源代码和编译文件,都集中在一个目录系统之中。这就能使你得应用的工作目录可以位于你的开发服务器中。如果容器可以很好的重装类文件,你就可以重新构建应用来测试最新的改变,而不用重启容器。
2012-04-16 16:05:41
543
原创 应用资源文件
Struts框架提供了好用和灵活的消息系统,在Java和JSP代码中,要给定一个消息的关键字;消息文本在运行时丛属性文件中检索。框架文档将消息属性文件引用为 application resources 或者 message resource bundle。如果你想要本地化你的应用,你可以为你想要支持的场所创建一个额外的应用资源文件。这实际上是创建一个资源束 (java.util.Res
2012-04-16 16:05:03
655
原创 ActionServlet的参数的配置
<contrller nocache="true" null="true" processorClass="com.myCompany.struts.RequestProcessor" /> Struts配置 Struts配置文件 (struts-config.xml)用来装入多个关键的框架组件。这些对象一起构成了Struts 配置。 下面配置针对常规ActionForm和D
2012-04-13 15:59:03
571
原创 Web应用部署描述符 web.xml
Struts框架的核心是ActionServlet,Struts 把它当作是一个控制器。将它看成是一个黑盒。他们总是在web应用部署描述符 (web.xml) 中配置它,然后让它自己工作。Struts框架有两个组件需要从应用部署描述符中配置:ActionServlet 和标签库(可选),例如注册应用的web.xml <!DOCTYPE web-app PUBLIC "-
2012-04-13 15:55:39
654
原创 三个 XML文件和一个属性文件
n web.xml:JSP 容器使用这个文件来载入和配这是Java Servlet 要求的web应用部署描述符。Servlet的应用。 n struts-config.xml:Struts框架的部署描述符。它用来载入和配置Struts框架使用的各种组件。 n Build.xml:Jakarta Ant构建工具使用它来编译和部署你的应用。使用Ant不是必需的,但它在Struts人员中很流
2012-04-13 15:54:56
630
原创 访问动态ActionForm的属性
动态ActionForm把所有的属性保存在一个map中public Object get(String name)public void set(String name,Object value)用get取出指定名称的属性值,用set给指定属性赋值,如 String email=(String)form.get("email"); form.set("email","cjy
2012-04-13 15:53:40
387
原创 使用动态ActionForm
配置动态ActionForm <form-bean name="employeeForm" type="org.apache.struts.action.DynaActionForm"> 动态表单通过子元素来设置动态ActionFrom的属性name:指定属性名type指定属性类型,它可以使用以下java类型java.lang.BigD
2012-04-13 15:53:10
462
原创 ActionForm的处理流程
对于每一个客户请求,Struts framework在处理ActionForm的时候,一般需要经历如下几个步骤:n 检查Action的映射,确定Action中已经配置了对ActionForm的映射n 根据name属性,查找form bean的配置信息n 检查Action的formbean的使用范围,确定在此范围下,是否已经有此form bean的实例。n 假如当前范围下,已经存在了
2012-04-13 15:52:02
439
原创 ActionForm捕获表单数据
ActionForm捕获表单数据使用Web应用的人通常会花费大量的时间通过HTMLform提交数据,HTMLform给Web开发人员提出了两个挑战:一是在数据被提交时获取数据,以及用户要修改的数据预装入一个表单,以供用户修改。怎么才能把javabean中的数据和HTML form上的数据连接起来呢?Struts通过标签来组装控件,每个HTML标签对应一个标准的struts标记元素(ta
2012-04-12 16:42:39
590
原创 使用ActionForward导航
元素则表示了当Action实例的execute()方法运行完毕或,控制器根据Mapping可将响应信息转到适当的地方。如上面现实,如果客户登陆成功,则调用welcome forward,将成功信息返回到/welcome.jsp页面。在你的execute()方法的结尾可以使用下面的实例代码而返回welcome forward。当然你的welcome forward必须在action元素属性中定义,正
2012-04-12 16:42:01
663
原创 Struts Action Mapping
上面讲到了一个客户请求是如何被控制器转发和处理的,但是,控制器如何知道什么样的信息转发到什么样的Action类呢?这就需要一些与动作和请求信息相对应的映射配置说明。在struts 中,这些配置映射信息是存储在特定的XML文件(比如struts-config.xml)。这些配置信息在系统启动的时候被读入内存,供struts framework在运行期间使用。在内存中,每一个元素都与ActionMap
2012-04-12 16:41:21
580
原创 SwitchAction
所有的 Struts应用至少具有一个模块,某些应用可能有多个模块,每个模块使用其自己的一套配置文件和表现页面,并且可以象应用中仅有一个模块的情况一样独立进行开发。当我们想从一个模块跳转到另一个模块时可以使用SwitchAction(org.apache.struts.actions.SwitchAction),它是一个标准Action,可以从一个模块切换到另一个模块,然后转发控制到此模块中的路径。
2012-04-12 16:38:52
407
原创 LookupDispatchAction
选择dispatch方法的一个方便的方式是将它们连接到按钮,这对于本地化应用来说是个问题,因为按钮的标签可能根据用户的场所来改变,如英文版本显示Delete按纽而对中文用户要显示“删除”LookupDispatchAction(org.apache.struts.actions.LookupDispatchAction)通过将标签映射到资源文件的消息关键字来解决这个问题,但消息关键字不是相应J
2012-04-12 16:38:22
505
原创 DispatchAction
Struts开发人员的一个常用策略时使用同一个Action类来处理几个相关的任务。一个很好的例子是对一个数据记录执行基本的CRUD (创建读取修改和删除)操作,它们非常相似,可以放在一个Action类中处理。通过扩展DispatchAction(org.apache.struts.actions.DispatchAction),开发人员可以将多个方法在一个单一的Action内成Dispatch
2012-04-12 16:37:19
527
原创 Struts ActionServlet控制器对象
ActionServlet继承自javax.servlet.http.HttpServlet类,其在Struts framework中扮演的角色是中心控制器。它提供一个中心位置来处理全部的终端请求。控制器ActionServlet主要负责将HTTP的客户请求信息组装后,根据配置文件的指定描述,转发到适当的处理器。按照Servelt的标准,所有得Servlet必须在web配置文件(web.xml
2012-04-10 16:44:33
710
原创 Struts framework的工作原理和组件
对于Struts如何控制、处理客户请求,让我们通过对struts的四个核心组件介绍来具体说明。这几个组件就是:ActionServlet、ActionClasses、ActionMapping(此处包括ActionForward)、ActionFormBean。
2012-04-10 16:43:19
405
原创 Struts 控制流
下图以UML时序图的方式展示了Struts 请求-响应流程我们来按这个请求-响应流程走一边n 客户请求匹配Action URI样式的路径 n 容器将请求传递给ActionServlet.n 如果这个是模块化应用,ActionServlet选择响应的模块。n ActionServlet查询路径的映射。n 如果映射标明了一个form bean,ActionServlet
2012-04-10 16:42:16
608
原创 Struts如何实现Model 2, MVC
下表列出了Struts的核心类,即对应的经典的MVC组件职责。 类描述ActionForward用户指向或者视图选择ActionForm状态改变的数据ActionMapping状态改变事件ActionServlet控制器,接受用户请求和状态
2012-04-10 16:40:42
499
原创 MVC
MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。模型(model)模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。模型与数据格式无关,一个模型能为多个视图提供数据。多个视图重用视图(view)视图是用户看到和交互的界面。视图由Js
2012-04-10 16:38:48
670
原创 什么是应用框架
框架(Framework)是可重用的,半完成的应用程序,可以用来产生专门的定制程序[Johnson]。Framework概念并不是很新了,伴随着软件开发的发展,在多层的软件开发项目中,可重用、易扩展的,而且是经过良好测试的软件组件,越来越为人们所青睐。这意味着人们可以将充裕的时间用来分析、构建业务逻辑的应用上,而非繁杂的代码工程。于是人们将相同类型问题的解决途径进行抽象,抽取成一个应用框架。这
2012-04-10 16:36:38
2242
原创 Struts简介
Struts是Apache软件基金下Jakarta项目的一部分,Struts框架的主要架构设计和开发者是Craig R.McClanahan。Craig 也是Tomcat的主要架构师,以及Java Web Services Developer Pack的主要架构师和实现者。他现在是Sun的JavaServer Faces (JSR-127) 以及J2EE平台的Web层架构的规范领导。 St
2012-04-10 16:34:23
459
原创 创建Struts 配置文件 (struts-config.xml)
struts-config.xml 文件包含了ActionServlet 需要用来处理对应用请求的详细信息。为了练习,我们创建一个空壳的struts-config.xml 文件。文件存储在/webapps/register/WEB-INF/目录下,需要改变的是:首先,添加/register 到元素的 path 属性。ActionServlet 使用Web容器转发给它的URI来选择正
2012-04-09 17:00:55
1789
原创 创建 RegisterAction
Action一个Java类,扩展了org.apache.struts.Action。ActionServlet组装ActionForm,然后将其传递给Action。Action通常负责输入校验,存取业务信息,以及决定向Servlet返回哪个ActionForward。package app;import org.apache.struts.action.*;import javax.se
2012-04-09 16:59:08
1934
原创 创建ActionForm
ActionForm是个JavaBean,扩展org.apache.struts.ActionForm类。这个对象捕获通过请求传送的输入。当浏览器提交一个表单,它在请求中为每个表单中的字段创建一个参数。ActionForm针对每个HTML表单中的字段具有一个对应的属性。ActionServlet匹配请求中的参数和ActionForm中的属性。当匹配好后,ActionServlet 为属性调用set
2012-04-09 16:58:26
742
原创 WEB框架所要解决的问题
涉及的概念和技术超文本传输协议 (HTTP) :很多服务器应用程序使用HTTP之外的其他协议。他们在计算机之间维护一个持久性的的连接。应用服务器可以清楚的知道是谁连接上来,而且何时中断连接。因为他们知道每一个连接的状态,以及每一个使用它的人。这称之为状态协议。 相反, HTTP 是一个无状态协议。HTTP server 可以接受来自于各种客户的各种请求,并提供各种响应,即使是这个响应仅仅
2012-04-09 16:57:10
393
原创 涉及的概念和技术
超文本传输协议 (HTTP) :很多服务器应用程序使用HTTP之外的其他协议。他们在计算机之间维护一个持久性的的连接。应用服务器可以清楚的知道是谁连接上来,而且何时中断连接。因为他们知道每一个连接的状态,以及每一个使用它的人。这称之为状态协议。 相反, HTTP 是一个无状态协议。HTTP server 可以接受来自于各种客户的各种请求,并提供各种响应,即使是这个响应仅仅是说No。没有大量的
2012-04-06 16:16:12
455
原创 应用框架
框架(Framework)是可重用的,半完成的应用程序,可以用来产生专门的定制程序[Johnson]。Framework概念并不是很新了,伴随着软件开发的发展,在多层的软件开发项目中,可重用、易扩展的,而且是经过良好测试的软件组件,越来越为人们所青睐。这意味着人们可以将充裕的时间用来分析、构建业务逻辑的应用上,而非繁杂的代码工程。于是人们将相同类型问题的解决途径进行抽象,抽取成一个应用框架。这
2012-04-06 16:14:41
530
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅