欢迎转载,但请注意,除非特别声明,本站采用许可:署名,非商业。需要联系我可发邮件至
预览模式: 普通 | 列表

PHP cookie相关的问题

1.setcookie,好像不能设置值为零 的变量。
$testvalue=0;
setcookie("testvalue",$testvalue,1000000,"","");
没有效果。
2._REQUEST['testvalue']会取出cookie中的值。
如果_GET['testvalue']存在,_COOKIE['testvalue']也存在,
那么_REQUEST['testvalue']返回的是cookie中的值。

上面的总结属于不完全归纳,两个问题都没有找到正式的说明文档。
标签: PHP

Java Servlet specification

Java Servlet  Specification download
在网上看到有的兄弟说在sun网站上找不到。
其实只要在google中输入servlet specification download就可以了。
做Java Web 开发的首先应该看这个,然后才是那些框架。
标签: Java

PHP正则表达式匹配多行

PHP手册看了,没有发现PHP不支持什么的说法
但是我使用m参数确实不能匹配多行,没有效果。
preg_match("/startchars(.+?)endchars/mi",$content,$m)
只有用[\s\S]*?
preg_match("/startchars[\s\S]*?endchars/i",$content,$m)
而且用g报错
preg_match("/startchars(.+?)endchars/gmi",$content,$m)

使用header实现PHP页面重定向

假设有一个带form的查询页面index.php,只有一个元素keyword
有一个显示结果的query.php
如果要在没有输入keyword的时候或者其它情况返回index.php
在query.php可以这样写
<?php
if(empty($_REQUEST['keyword'])){
    header( "HTTP/1.1 301 Moved Permanently" );
    header("Location: ./index.php");exit;
    }
//后面再写其它内容
?>
即用header实现PHP的redirect要注意header指令的前面不能有任何其它输出。
因此还有一个地方要注意:
如果PHP文件保存为UTF-8格式,切记不要保存为带BOM的,因为在PHP看来,BOM是一个字符,并且会将这个字符输出。
如果保存为带BOM的,会出现
Warning: Cannot modify header information

[阅读全文]

标签: PHP

Java Web 应用程序打包发布

关键字: Java 打包 发布

1.最简单也是最复杂的方法
     直接将所有文件复制到应用服务器相关目录下。
     以Tomcat为例,直接复制到webapps下面即可。
   此方法的缺点,如果要上传到远程服务器上,传输多个文件会比较慢,这时可以打包成war文件。
2.用jar命令打包
   这个其实最简单,我一般用这个,一行命令搞定。以windows 2000下为例,新建一个war.cmd文件(就是一个文本文件,改名成这个就行了)。其内容如下:
  jar cvf appname.war -C webroot .
webroot就是包括所有WEB程序文件的文件夹,把这个文件放在webroot的上一级目录(一般就是你的工程目录),执行就可以了。如果一切顺利的话就这么简单,你会看到生成了appname.war。如果不顺利,象找不到jar文件,还有你不想把这个文件夹下的所有文件打包,你想创建不同的版本等等。那么可以这样:
rem 设置jar路径
set path=d:\

[阅读全文]

标签: Java

百度面试题一道2

题目:有一根27厘米的细木杆,在第3厘米、7厘米、11厘米、17厘米、23厘米这五个位置上各有一只蚂蚁。木杆很细,不能同时通过一只蚂蚁。开始时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头,但不会后退。当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝反方向走。假设蚂蚁们每秒钟可以走一厘米的距离。编写程序,求所有蚂蚁都离开木杆的最小时间和最大时间。
以上题目来源:http://www.blog.sh/user3/king821221/110716.html

问题分析:
1.最小时间肯家是各自朝最近的一端跑,27-11=14,11<14,所以中间的蚂蚁会朝11cm那端跑,最适时短时间11。
2.最长时间呢,肯定两端的蚂蚁都往中间跑,具体怎么跑好像有点儿想不清楚,那试算之,假设3cm处的和7cm处的相对而行,碰面后会怎样?如果你眼神不好,你会发现你分不出来哪个是哪个,因为3cm的转头后就相当于7cm的一直在走。到这里,一切就已经没有刚开始那样想不清楚了,事情很清楚:蚂蚁碰头可以用等量代换的思想,在这种情况下,任何蚂蚁都是自由地向它面向的一端直接爬过去。那最长时间就清楚了:27-3=24,27-

[阅读全文]

标签: 面试

一个从CStatic派生的动态曲线图绘制控件

关键词:MFC GDI 曲线图绘制

本控件只是一个很简单的控件,比任务管理器里的曲线图略复杂,不具有图例、鼠标移动可以捕捉曲线上的坐标等特性。
具体如下:
  1)从CStatic派生,容易在对话框中使用。
  2)能够随对话框的缩放自动改变大小,这里假设对话框中其它元素的位置基本不变。
  3)曲线的粗细,颜色,线型(实,虚线)可以自由设置。
  4)可以控制曲线的隐藏/显示。
  5)两个坐标轴,Y轴根据数据自适应,实际数据最大最小值各偏离5%是坐标轴的最大最小值(简化起见,坐标轴采用五等分)。X轴是时间轴,一个像素点代表一个数据点,假设采样按一定的频率。
  6)可以添加多条曲线。
  7) 使用双缓冲,避免图形闪烁。
做一个CStatic派生控件的基本步骤:
  1)定义一个从CStatic派生的类。
  2)重载有关消息映射,WM_PAINT,WM_ERASEBKGND
  3) 在OnPaint中绘图,在这里根据实际的需要做不同的计算,绘制。大致可分为以下几步,I布局计算,CStatic是整个绘图区,将这个区域划分为边缘空白,坐标轴区,曲线区等几个部分,需要算出各个部分的矩形顶点,以便控制曲线的绘制。II绘制背景。III绘制坐标轴。IV绘制曲线。其中需要用到简单的坐标映射知识。
运行截图:





具体的可以看源代码。下载文件LineChartControlDemo.rar (200.48 KB , 下载:1426次)
可以作为控件使用的是LineChartCtrl.h,LineChartCtrl.cpp,MemDC.h这三个文件。

其它可供参考的源代码链接:
http://www.codeproject.com/dialog/CStatusGraphCtrl.asp
http://www.vchelp.net/vchelp/zsrc/realtime_plot.zip
http://www.codeproject.com/miscctrl/histogramctrl.asp
http://www.vchelp.net/itbookreview/view_paper.asp?paper_id=1631


需要更强大的绘图功能怎么办?只要理解了计算图形布局和画图的过程,会使用双缓冲,如果需要在单文档的视图中使用,同样在OnPaint中处理绘制,并处理其它有关消息就可以了(主要是ON_SIZE时要重新计算布局),如果要做一个通用的控件,只需要从CWnd派生即可,要多强大就看你的想像力了。

对话框中的控件随对话框的大小改变做相应的变化,本例仅展示了控制图形显示控件和Exit按钮。要做更复杂的控制,原理是一样的,无非是记住和计算更多的位置,主要需要处理WM_SIZE消息和利用MoveWindow函数。

总之,图形界面的程序,无论是绘制曲线还是绘制窗口,无非就是计算位置(在哪儿绘制,这需要处理相关消息以取得窗口,客户区大小的变化),用GDI函数绘图(MoveWindow也是调用了系统的绘图函数才能画出窗口)。

Update:
2008-8-11 有同学反应源代码在VC6.0下无法编译通过,将源代码中的CArray用vector替换,对C++稍微熟悉一点儿的话,做这件事需要5~20分钟。
源代码这里下载。下载文件LineChartControlDemo.rar (210.67 KB , 下载:494次)
标签: MFC