随笔分类 -  学习笔记

Struts2学习笔记——Struts2与Spring整合
摘要:Struts2与Spring整合后,可以使用Spring的配置文件applicationContext.xml来描述依赖关系,在Struts2的配置文件struts.xml来使用Spring创建的bean。1、导入依赖包除了导入Struts2和Spring的核心库之外,还要导入commons-logging和struts2-spring-plugin包,否则启动会出异常2、web.xml的配置既然有Struts2,核心拦截器的配置是不可少的<filter> <filter-name>struts2</filter-name> <filter-class 阅读全文

posted @ 2012-01-18 10:36 石莹 阅读(111890) 评论(11) 推荐(8) 编辑

Struts 2学习笔记——拦截器相关
摘要:一、添加国际化支持默认的struts-deault.xml文件中已经定义了国际化拦截器,内容如下<!—定义国际化拦截器--><interceptor name="i18n" class="com.opensymphony.xwork2.interceptor.I18nInterceptor"/>该拦截器会在Action执行前执行,默认情况下,会读取用户请求中的request_locale参数,并将参数值存入session(key=WW_TRANS_I18N_LOCALE)通过改变拦截器的两个参数,可以改变默认值(parameter 阅读全文

posted @ 2012-01-17 14:48 石莹 阅读(1840) 评论(0) 推荐(0) 编辑

J2ME游戏设计框架
摘要:因为移动设备运行速度问题,J2ME开发比较注重程序的复杂度。为了寻求时间复杂度与空间复杂度的一个平衡,通常将程序分为多个页面。多个页面就需要一个管理工具。本文展示了一种经典的J2ME中管理多个页面的调度器。基础结构为每一个页面编写一个类,在每一个类中实现以下方法//无参的构造方法//执行的run方法public void run() {}//绘图的paint方法,参数为屏幕的画笔public void paint(Graphics g) {}//按键时的响应方法,参数为按键消息码public void keyPressed(int key) {}调度器应该继承Canvas类,实现Runnab. 阅读全文

posted @ 2010-10-11 09:21 石莹 阅读(579) 评论(0) 推荐(0) 编辑

c语言强化训练笔记2010/5/16
摘要:函数指针的应用首先实现一个基本的计算器,暂时可以支持加减乘除功能int add(int,int);int sub(int,int);int mul(int,int);int div(int,int);main(){ char a[30]; char b[30]; char c; gets(a); printf("%c\n",c=getch()); gets(b); printf("---------\n"); if(c=='+') { printf("%d\n\n",add(atoi(a),atoi(b))); } i 阅读全文

posted @ 2010-05-17 15:49 石莹 阅读(218) 评论(0) 推荐(0) 编辑

c语言强化训练笔记2010/5/9
摘要:函数指针下面是关于函数指针的一些资料函数指针是指向函数的指针变量。因而“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。如前所述,C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上是一致的。函数指针有两个用途:调用函数和做函数的参数。函数指针的声明方法为:数据类型标志符 (指针变量名) (形参列表);我们通过(*(int far *)+地址)这样的代码实现了访问任意一段内存的数据,那么可以通过 阅读全文

posted @ 2010-05-13 10:54 石莹 阅读(538) 评论(0) 推荐(0) 编辑

c语言强化训练笔记2010/5/8
摘要:不使用变量的编程 变量的本质是内存空间的别名,通过对汇编的学习和王爽汇编语言第二版的综合研究,我们可以在c程序中直接使用内存空间来编程 例如,我们想通过编程在屏幕中央显示8个绿色的a,可以通过写显存的方式在b800段内存写入显示的数据,同时,我们还需要有一个计数器来控制循环了多少次,可以把一段安全的空间来当计数器使用,程序可以这样编写main(){ for ((*((int far *)0x00000200))=0; (*((int far *)0x00000200))<8; (*((int far *)0x00000200))++) { (*(int far *)(0xb8000000 阅读全文

posted @ 2010-05-12 18:36 石莹 阅读(469) 评论(0) 推荐(0) 编辑

王爽汇编语言综合研究-函数如何接收不定数量的参数
摘要:1、c语言如何传递参数 编写这样一个程序试验 void showchar(char a,int b);main(){ showchar('a',2);}void showchar(char a,int b){ *(char far *)(0xb8000000 + 160*10 + 80) = a; *(char far *)(0xb8000000 + 160*10 + 81) = b;} 调试这个... 阅读全文

posted @ 2010-04-18 08:59 石莹 阅读(1555) 评论(0) 推荐(1) 编辑

王爽汇编语言综合研究-不用main函数编程
摘要:这一部分继续深入研究用汇编解释c的原理,尝试不用main()函数编写可以正确运行的程序 1、首先编写一个简单的程序 f(){ *(char far *)(0xb8000000+160*10+80) = 'a'; *(char far *)(0xb8000000+160*10+81) = 2;} 在TC中编译,连接这个程序。出现了一个连接错误 Linker Error:Undefined symbo... 阅读全文

posted @ 2010-04-17 16:25 石莹 阅读(3197) 评论(0) 推荐(0) 编辑

王爽汇编语言综合研究-使用内存空间
摘要:1、在c程序中直接访问内存空间 写入以下程序并调试 main() { *(char *)0x2000 = 'a'; *(int *)0x2000 = 0xf; *(char far *)0x20001000 = 'a'; _AX = 0x2000; *(char *)_AX = 'b'; _BX = 0x1000; *(char *)(_BX + _BX) = 'a'; *(char far *)... 阅读全文

posted @ 2010-04-14 01:27 石莹 阅读(1642) 评论(1) 推荐(2) 编辑

汇编语言综合研究——使用寄存器
摘要:王爽汇编语言综合研究 使用寄存器 1、使用寄存器编程 main函数是c语言编写程序的入口函数,但是main中的第一条语句并不是程序中被执行的第一条指令,还有很多其它语句。为了研究我们的程序编译后的语句,首先要找main函数的位置,可以通过下边的程序获得main函数的偏移地址 Main() { Printf(“%x\n”,main); } 函数中printf语句表示以16进制打印main... 阅读全文

posted @ 2010-04-13 16:56 石莹 阅读(559) 评论(0) 推荐(0) 编辑

王爽汇编语言课程设计2
摘要:王爽汇编语言 第二版 课程设计2编写一个可以自行启动的计算机,不需要在现有操作系统环境中运行的程序一、相关资料 系统启动初始化完成后最终调用19h,该中断读取软盘的第一扇区或硬盘的第一扇区到0:7c00开始的512个字节的内存空间中,并将cs:ip指向0:7c00执行。更详细参考王爽汇编语言第二版,课程设计2,p.312二、设计思路 将安装程序分为三个段,1、第一个段为安装程序,负责将第二个段写入第一扇区,第三个段写入2-17扇区;2、第二个段是主引导程序,存在于软盘第一扇区,由BIOS的19h中断读取到0:7c00开始的内存单元中,并执行0:7c00的第一行代码。这一段的任务是将软盘2-17 阅读全文

posted @ 2010-04-06 18:42 石莹 阅读(5678) 评论(0) 推荐(0) 编辑

用逻辑扇区号读写软盘的中断例程测试程序
摘要:王爽汇编语言 实验17 中断例程测试程序一、实验要求 测试实验17中断例程二、测试思路1、编写程序A,实现将显存中第一屏4000个字节(8个扇区)写入软盘2、编写程序B,实现将软盘中8个扇区的数据读出到显存第一屏中3、运行实验17的中断安装程序,然后运行程序A,清屏后运行程序B。正常状况下屏幕内容恢复三、详细设计1、程序Aassume cs:codecode segmentstart:mov ax,0b800hmov es,axmov si,0mov ah,1mov dx,0mov al,8mov bl,0int 7chmov ax,4c00hint 21hcode endsend start 阅读全文

posted @ 2010-03-30 16:12 石莹 阅读(353) 评论(0) 推荐(0) 编辑

编写用逻辑扇区号读写软盘的中断例程
摘要:王爽汇编语言 实验十七一、相关资料1、软盘 以3.5英寸软盘为例,软盘分为上下两面,每面80个磁道,每个磁道18个扇区,每个扇区512B则软盘的大小为:2面*80磁道*18扇区*512B=1440KB(约为1.44MB)2、BIOS对访问磁盘的支持 BIOS提供了13h号中断来访问磁盘,该中断的参数如下:(ah)=int 13h的功能号(2表示读扇区,3表示写扇区)(bl)=读取的扇区数(ch)=磁道号(cl)=扇区号(dh)=磁头号(相当于软盘的面号)(dl)=驱动器号(软驱从0开始,0:软盘A,1:软盘B;硬盘从80h开始,80h:硬盘c,81h:硬盘d)es:bx 指向数据存放的缓冲区返 阅读全文

posted @ 2010-03-30 11:48 石莹 阅读(758) 评论(0) 推荐(0) 编辑

多个功能子程序的中断例程测试程序
摘要:王爽汇编语言 实验16 编写包含多个功能子程序的中断例程 测试程序一、实验要求1、完全测试实验16中断例程17ch的所有功能,包含清屏、改变前景色、改变背景色、向上滚动一行2、用一个菜单来提示用户输入3、通过判断用户输入的命令来调用响应的子过程二、分析1、输出菜单 定义一个数据段,存放菜单内容的几个以‘$'为结尾的字符串,然后定义一个直接定址表,存放菜单各字符串的首地址,通过调用10号中断的2号功能改变光标地址,调用21号中断的9号功能输出字符串,通过循环输出全部菜单2、获取用户输入 定义一个表来存放测试的各个子过程的首地址,调用16号中断的0号功能来获取键盘缓冲区的数据,该数据减去3 阅读全文

posted @ 2010-03-28 08:39 石莹 阅读(433) 评论(0) 推荐(0) 编辑

编写包含多个功能子程序的中断例程
摘要:王爽汇编语言 实验16 编写包含多个功能子程序的中断例程一、实验要求安装一个新的int 7ch中断例程,为显示输出提供如下功能子程序(1)清屏;(2)设置前景色(3)设置背景色(4)向上滚动一行入口参数说明:(1)用ah寄存器传递功能号,0表示清屏,1表示设置前景色,2表示设置背景色,3表示向上滚动一行(2)对于2,3功能,用al传递颜色值,(al)取值{0,1,2,3,4,5,6,7}二、程序代码assume cs:codecode segmentsetscreen:jmp short settable dw sub1,sub2,sub3,sub4;通过该表查找子程序的始地址set:push 阅读全文

posted @ 2010-03-25 17:34 石莹 阅读(785) 评论(0) 推荐(0) 编辑

CSS样式表基础
摘要:<!--样式表是对标签样式的修改--><!--当对标签的样式重复定义时,使用距离最近的样式定义--><!--在html中导入css样式表--><link REL=stylesheet href="Untitled-1.css" type="text/css"><!--在head标签中添加这行--><!--标签的选择-->h1{font-size:20pt;color:red}<!--直接使用标签名-->p.code{font-size:20pt;color:red}< 阅读全文

posted @ 2010-03-11 22:33 石莹 阅读(171) 评论(0) 推荐(0) 编辑

编写0号中断的处理程序
摘要:一、实验要求 编写0号中断的处理程序,使得在除法溢出发生时,在屏幕中间显示字符串“overflow”,然后返回到DOS。 二、设计思路: 1、编写0号中断的处理程序,该程序显示字符串,然后返回到DOS 2、编写安装程序,将步骤1中处理程序复制到0000:0200开始的内存中 3、修改中断向量表,使0号中断的处理程序地址指向0000:0200 三、详细设计 assume cs:codesg cod... 阅读全文

posted @ 2010-03-11 16:29 石莹 阅读(2096) 评论(0) 推荐(0) 编辑

Swt编程中的HelloWorld
摘要:创建最简单的SWT程序一、在Eclipse中安装SWT插件swt designer根据 eclipse 版本的不同,下载不同的 SWT-Desiger. 下载地址: http://www.swt-designer.com/ 安装方法和所有的 eclipse 插件一样,将 features, plugins 下的文件放到 eclipse 相应的文件夹中就好了,重启 eclipse, OK .二、破解插件eclipse->windows->preferences->Designer –Registration and Activation ->SWT Designer Pr 阅读全文

posted @ 2010-01-06 19:50 石莹 阅读(471) 评论(0) 推荐(0) 编辑

光栅图形学——直线段的扫描转换算法
摘要:数学上的直线是没有宽度、由无数个点构成的集合,显然,光栅显示器只能近地似显示直线。当我们对直线进行光栅化时,需要在显示器有限个象素中,确定最佳逼近该直线的一组象素,并且按扫描线顺序,对这些象素进行写操作,这个过程称为用显示器绘制直线或直线的扫描转换。一、数值微分(DDA)算法1、算法原理 根据直线方程y=kx+b,由两个直线的端点(x0,y)(x1y1)可求得斜率k。可以将变量x设定初值为x0,y初值y0。每次x步进1,同时使y步进k,可获得表示直线的所有近似的结果集。2、算法实现//数值微分法void DrawLine(CDC * pDC,int x0,int y0,int x1,int y 阅读全文

posted @ 2010-01-01 20:25 石莹 阅读(2363) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示