在linux环境下,这是绝对的路径问题,在apache+tomcat服务器运行J2EE项目,在配置的时候一般只是将*.JSP,*.do的交给tomcat去处理,而JAVA版的FCKeditor是通过servlet来上传图片的,所以正确配置servlet映射是解决问题的关键,可以参照如下配置:
web.xml中:
<servlet>
<servlet-name>Connector </servlet-name>
<servlet-class>
net.fckeditor.connector.ConnectorServlet
</servlet-class>
<init-param>
<param-name>debug </param-name>
<param-value>true </param-value>
</init-param>
<load-on-startup>1 </load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Connector </servlet-name>
<url-pattern>
<!-- Mod Start 2009.10.19 Rongdajian -->
<!-- /fckeditor/editor/filemanager/connectors/* -->
<!-- 在apache+tomcat整合后,只做了.jsp,do交给tomcat去处理,而servlet没有做处理,所以加上/servlet后tomcat就可以处理了 -->
/servlet/fckeditor/editor/filemanager/connect ......
第一次在Linux下编程。呵呵
在网上搜索了一下怎么样在Linux下编程。说是用Gedit写好代码,然后保存.c格式文件。然后到终端编译。
打开Gedit.老规矩,先来个Hello.c
#include <stdio.h>
main()
{
printf("Hello~!Vimo~~\n\n");
}
保存。然后打开终端。
编译是什么命令?没办法,问下同学。阿灵告诉我:
gcc hello.c
./a.out
./ hello
然后终端里终于看到Hello输出了。
后来在网上找了一下,有另外一个命令:
gcc hello.c -o hello
./hello
额。。。心情没什么特别激动的。反正,成功了。。。 ......
里有一个统计 http://www.remword.com/kps_result/china.php
点击连接进去,可以看能到:
Total patch sets of this kernel release: 157236
5337 person contribute their works to this kernel release.
Averagely, every person committed 29 patch sets.
299(5.60%) Chinese people contribute 6185(3.93%) patch sets.
(NOTE: "Chinese" means who ethnically belongs to Chinese descent and many different nationalities are represented)
这段时间所有内核patch共有157236行,由5337人完成,平均每人完成29个,其中包括299名华人,占总人数的5.60%,他们贡献了所有代码量的3.93%
所有的统计基于 KPS (Kernel Patch Statistic),这里的 Chinese 指的是华人,并不限定国籍是中国人。
从这个统计可以看出绝大多数贡献来自于一些大公司,比如 Redhat、Intel、IBM、SUN、Google、Analog、MontaVista等。而更该被记住的是那些标记为 Hobbyists 也即不是供职于大公司而纯粹是出于个人兴趣爱好的贡献者。 ......
转自:http://blog.chinaunix.net/u/26185/showart_475934.html
和其他内核功能一样,每个网络功能都是内核成员中的一个。因此,它必须合理且公平的使用内存,
CPU和其他共享资源。绝大多数功能并非内核中一段独立的程序,而是根据该功能而或多或少的与内核中其他部分相互影响。因此它们总是试图,尽可能的,使用
类似的体系结构来实现类似的功能。
对许多内核组件来说有些需求是通用的,比如为同一数据结构分配好几个实例,或者跟踪一个数据结构的参考以避免不安全的内存重分配,等等。下面我们来看linux解决这些需求的一些通用的方法。我们也会谈到在查看内核编码时可能遇到的通用的编码技巧。
1.缓存
内核使用kmalloc和kfree来分配和释放内存。这两个函数的使用方法和用户空间的函数 malloc 和free的使用方法类似.
一个内核组件通常需要分配一个数据结构的多个实例。如果分配和释放频繁发生,相关内核组件的初始化函数(比如路由子系统中的fib_hash_init函数)通常会分配一个特殊的内存缓存以加速内存分配。当一个内存块释放时,它会被返回给与分配时相同的内存缓存。
以下是一些需要内核来维护内存缓存的网络数据结构:
Socket buffer descriptors
这个缓存,由n ......
1.系统和平台熟悉
在一个新的平台上开发或者移植一款软件的时候,首先应该充分平台或者
操作系统的各种属性,这些属性包括但不仅限于:
1)系统的任务调度,任务间的通信机制
任务调度包括是否是多任务实时操作系统,任务以何种方式存在的,如何添加和管理任务?任务间的优先级如何设置?任务间的优先级设置?任务堆栈?任务间的通信机制包括了解系统提供的通信机制,各种通信机制的优劣,通信细节等等。
案例1:
曾经在某一个平台上做一个软件,创建了多个任务,由于各个任务实现者不一样,一个漫不经心的错误造成了本该是高优先级的任务没有在优先级上体现出来,A,B,C,D4个任务,本来应当是A>B>C>D,结果设置成A>C>B>D,为此debug了一上午
教训:1)多方协作开发事先要把优先级定好,书面文档描述
2)写代码的时候一定要切忌马虎,有时候一些漫不经心的错误会无法估计地增加很多调试时间。即使是测试代码,也要严谨。养成写完代码检查的习惯!
案例2:
代码执行到一个函数突然跑飞,检查函数没有问题,大家都知道,跑飞在嵌入式系统中是很难跟踪定位问题了,只能根据经验不断做实验缩小疑点范围最后发现是该任务 ......
一.填空题:
1. 在Linux系统中,以 文件 方式访问设备 。
2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。
3. Linux文件系统中每个文件用 i节点 来标识。
4. 全部磁盘块由四个部分组成,分别为引导块 、专用块 、 i节点表块 和数据存储块。
5. 链接分为: 硬链接 和 符号链接 。
6. 超级块包含了i节点表 和 空闲块表 等重要的文件系统信息。
7. 某文件的权限为:drw-r--r--,用数值形式表示该权限,则该八进制数为: 644 ,该文件属性是 目录 。
8. 前台起动的进程使用 Ctrl+c 终止。
9. 静态路由设定后,若网络拓扑结构发生变化,需由系统管理员修改路由的设置。
10. 网络管理的重要任务是: 控制 和 监控 。
11. 安装Linux系统对硬盘分区时,必须有两种分区类型: 文件系统分区 和 交换分区 。
13. 编写的Shell程序运行前必须赋予该脚本文件 执行 权限。
14. 系统管理的任务之一是能够在 分布式 环境中实现对程序和数据的安全保护、备份、恢复和更新。
15. 系统交换分区是作为系统 虚拟存储器 的一块区域。
16. 内核分为 进程管理系统 、 内存管理系统 、 I/O管理系统 和文件管理系统 等四个子系统。
17. 内核配置是系统管理员在改变系统 ......