08 2011 档案
摘要:以用这些函数得到PHP所运行的服务器的日期和时间。可以用这些函数将日期和时间以很多不同方式格式化输出。注:请留意这些函数依赖于服务器的地区设置。确认在使用这些函数时考虑到了夏令时的设置和闰年。time();//1、返回当前的UNIX时间戳date();//2、date--格式化一个本地时间/日期例echodate('Y-m-dH');echo"<br>";echodate('Y-m-dH',time());mktime();//3、mktime--取得一个日期的UNIX时间戳例echomktime();echo"<
阅读全文
摘要:<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/&g
阅读全文
摘要:htmlspecialchars将特殊字符转成 HTML 格式。语法: string htmlspecialchars(string string);返回值: 字符串函数种类: 资料处理内容说明本函数将特殊字符转成 HTML 的字符串格式 ( &....; )。最常用到的场合可能就是处理客户留言的留言版了。& (和) 转成 & " (双引号) 转成 " < (小于) 转成 < > (大于) 转成 > 此函数只转换上面的特殊字符,并不会全部转换成 HTML 所定的 ASCII 转换。反函数: ht
阅读全文
摘要:迭代器类似于指针但它指向的是一个容器,不是简单的类型。迭代器包括插入迭代器,iostream迭代器,反向迭代器。其实质就是将迭代器与不同的数据类型绑定一起。分别与容器,输入输出流绑定。下面介绍一些相关的泛型算法:#include <iostream>#include <algorithm> //算法头文件#include <numeric> //算数运算#include <vector>#include <iterator>using namespace std;int main(){ vector<int> vec; f
阅读全文
摘要:涉及到的知识点1、设计一个完整程序的流程2、HTML部分表单标签的使用3、PHP里的页面相互调用4、PHP接收参数的几种方式首先做的就是html表单的显示部分,创建一个文件(list.php)内容(‘//’后边是注释):<html><head><meta http-equiv="Content-type" content="text/html";charset="utf-8"/><title></title></head><body><form
阅读全文
摘要:#include <iostream>#include <set>#include <vector>using namespace std;int main(){ vector<int> vc; for(int i=0; i<10; i++) { vc.push_back(i); vc.push_back(i); } cout << vc.size() << endl; set<int> iset(vc.begin(),vc.end()); cout << iset.size() <&l
阅读全文
摘要:eclipse的xml插件进行dtd验证的时候由于找不到dtd或请求主机相应超时,会出现黄色的警告The file cannot be validated as the host "www.opensymphony.com" is currently unreachable.一旦出现了这种警告,我们就无法在eclipse编辑器中使用代码自动提示功能了,如何解决?我们可以这些dtd文件放在本地一份,让eclipse编辑器在验证dtd文件的时候优先使用本地dtd文件,以下以xwork的XXXAction-Validation.xml为例进行配置1.将dtd文件手动复制到本地目录
阅读全文
摘要:CXF学习笔记(1)-HelloWorld!-发布webserviceCXF学习笔记(2)-HelloWorld!-客户端调用CXF学习笔记(3)-HelloWorld!-通过servlet发布webservice前3节中介绍了如何发布一个webservice和客户端如何调用,一切貌似都正常,但存在着安全隐患-这样导致任意的客户端都可以调用我们的webservice服务,接下来将介绍如何采用基于用户名和密码认证的方式来实现客户端调用1.服务器端配置a.在发布service的时候为该service添加一个WSS4JInInterceptor 拦截器表示我们的service需要用户提供用户名和密码
阅读全文
摘要:上一节中介绍了CAS服务器端的配置,服务已经run起来了,接下来就新建另一个web工程,该工程通过先前的CAS Server统一认证客户端的配置主要是4个filter配置1.AuthenticationFilter这个filter负责对请求进行登录验证拦截,这里我们配置了位于/security/目录中的文件需要该验证casServerLoginUrl:CAS登录地址urlserverName:当前应用所在主机名,注意不要写成ip,格式为http(s)://hostName:port <filter> <filter-name>CAS Authentication Fil
阅读全文
摘要:1.配置tomcat7的SSL访问 Step1:生成.keystore文件 命令行:keytool -genkey -keyalg RSA -alias tomcat -dname "cn=localhost" -storepass changeit 回车后会提示输入密码,这里输入的是changeit导出证书:keytool -export -alias tomcat -file %java_home%/jre/lib/security/tomcat.crt -storepass changeit导入证书:keytool -import -alias tomcat -f..
阅读全文
摘要:CXF学习笔记(1)-HelloWorld!-发布webservice前面有篇文章介绍了发布CXF webservice的方法,在这篇文章中并没有启动web服务,笔者也提出了自己的一些疑问与思考,接下来的文章是上一篇文章疑问的解答,这里将通过servlet的方式来发布webservice1.编写服务发布servlet-WebServiceServlet --因为CXF提供的Demo以及网上大多例子都是和spring框架集成的,这里我们没有用spring,而是一个纯粹的cxf环境,让我们的servlet继承自CXFNoSpringSevlet--这个名字太直接了,呵呵package com.cr
阅读全文
摘要:项目中使用SQL Server2008做为数据库,表的主键大都设置为identity自增长类型,用dbunit准备数据时却遇到了问题,准备的测试数据插入不到数据中,因为id的类型为自增长,不允许为其手动赋值,如何解决?查看了dbunit的文档,对于MS SQL的自增长主键,提供了一个InsertIdentityOperation类,用这个类就可以解决手动输入主键id的问题具体实现:在setUp和teraDown操作中替换一下默认的DatabaseOperation类databaseTester.setSetUpOperation(InsertIdentityOperation.REFRESH)
阅读全文
摘要:第4节中提出了通过dbunit插件来自动管理测试数据,但是在实际操作时发现了一些问题,在设计数据库表时各个表之间可能存在外键关联,在我们准备测试数据库时经常会遇到因外测试数据外键问题导致无法插入数据或者是在清理测试数据的时候因为测试数据的顺序问题导致测试数据无法删除成功,如何解决这个问题?这里使用了一种比较傻瓜但是也比较直接的方式--临时将数据库的外键约束删除,测试完成后将数据恢复到先前状态。操作步骤1.在AbstractDatasetProviderListener类的beforeTest方法之前将外键约束去除String[] tables = dataSet.getTableNames()
阅读全文
摘要:1.目标 在基于Struts2的应用中,利用AJAX方式提交表单实现一个登陆验证Action,将服务器端验证结果展现在页面上字段错误展示:action 错误提示2.技术实现 利用struts2-jquery插件和struts2-json插件实现3.实现步骤 3.1依赖jar包 除了struts2-core-2.2.3.jar包以外,还要下载两个jar包 struts2-jquery-plugin-3.1.0.jar struts2-json-plugin-2.2.3.jar 3.2编写登陆处理类Action 这个Action和我们普通的Action没有任何区别package com.crazy
阅读全文
摘要:1.什么是单点登录? 单点登录是指在多个应用系统中只需要统一对用户身份认证一次,就可以在各个系统访问,核心特征有两个,一个是集中统一认证,第二个特点就是适用于多系统的分布式环境--如果就一个应用程序这样折腾就没有任何意义了2.为什么要做单点登录? 现在的企业中可能部署着多套应用程序,如有ERP系统,该系统有自己的用户名认证系统,还有个人力资源管理系统,也有自己的用户名和认证系统,一个企业中这样的应用还有很多,所以就不得不记住N多用户名,N多密码,要命的是,登录了ERP,想再去用人力资源关系系统,对不起,您得输入人力资源系统的用户名和密码才行。从这个简单的例子上已经看到一些问题了--有没有一种.
阅读全文
摘要:上一节中已经成功的发布了一个服务端webservice,这一部分将默认客户端调用webservice这里我们重新建立了一个新的工程CXF-Client,把上一节中列举的jar包都搞过来即可,调用方式采用了和RMI类似的机制,即客户端直接服务器端提供的服务接口(interface),CXF通过运行时代理生成远程服务的代理对象,在客户端完成对webservice的访问几个必填的字段:setAddress-这个就是我们发布webservice时候的地址,保持一致HelloWorldService:需要服务器端提供单独的Jar文件过来package com.crazycoder2010.webserv
阅读全文
摘要:1.apache网站下载CXF http://cxf.apache.org/download.html 最新版本2.4.12.创建一个java工程,将以下jar包复制到工程的classpath下 所有的jar包都可以在${CXF_HOME}\lib目录中找到3.定义服务接口HelloWorldService因为这个接口将会被我们暴露为webservice,所以给该接口加一个@WebService标注package com.crazycoder2010.webservice.cxf.server; import javax.jws.WebParam;
import javax.jws.WebS.
阅读全文
摘要:1.基本配置Step1.创建认证文件keystore keytool -genkey -alias tomcat-server -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore 会生成一个文件名为server.keystore的文件,过程中会提示输入姓名,公司,国家,城市等信息,按提示输入即可Step2.编辑${TOMCAT_HOME}\conf\server.xml 找到以下部分,并且取消注释 <!-- Define a SSL HTTP/1.1 Connector on port 8
阅读全文
摘要:[序言]很久不写C/C++技术贴了,算一下自己用C++也有7~8年了,虽然现在用Delphi比较多,但是对C++还是有一份热情.前段时间在CSDN看到一个帖子,让我感到非常失落, 很多人都没有引用权威文献来针对这个问题进行讨论,如果没有全文文献的引用,那么讨论将会是一个持久战.要结束这种情况,还是以书为准。如果大家都喜欢探讨技术,可以加入我的QQ:643439947一起学习[建议]C++是一门非常重要语言且博大精深.没有10年的使用时间和大量C++的书籍阅读,最好不要轻易去探讨C++某些特性,不然真的是那着石头砸自己的脚.就因为这些原因本人也很少在CSDN解答C++的问题,因为C++实在太多细
阅读全文
摘要:1.下载tomcat admin tool(tomcat5.5.23版本)http://apache.etoak.com/tomcat/tomcat-5/v5.5.33/bin/apache-tomcat-5.5.33-admin.zip2.解压到tomcat安装目录下,覆盖同名文件/目录3.编辑${TOMCATA_HOME}\conf\tomcat-users.xml 在文件中加一行<user username="admin" password="admin" roles="admin,manager"/>4.重启tom
阅读全文
摘要:接上一篇,上一篇中webservice的访问已经简化多了,但是这种方式还要依赖于一个服务器端的interface接口,可不可以不依赖任何service端的接口?这个可以有!DII:Dynamic Invocation Interface-动态调用接口简单的理解上一节里需要静态依赖的那个Hello接口现在可以由JAX-RPC在运行时动态生成package com.crazycoder2010.jaxrpc; import java.net.MalformedURLException;
import java.rmi.RemoteException; import javax.xml.name..
阅读全文
摘要:上一节里花了很长时间来搭建第一个helloWorld程序,并完成了客户端对服务器端的调用,过程是痛苦的,结果是美好的:)但是上一节的客户端调用程序也反应出来一些问题a).客户端必须依赖一个服务器端提供的Stub包b).服务器端升级并没有对客户端透明--因为你需要升级对应的stub包这两个问题在这一节里将得到答案1.开始前先来看看那个神秘的.wsdl文件吧 概念:Web Services Description Language 作用:给一个类添加一些描述信息,包裹一下,让其可以对外提供service 举个通俗的例子:超人(WebService)是怎么来的?就是一个普通人(普通的jav...
阅读全文
摘要:目标:写一个基于JAX-RPC的webservice程序-HelloWorld1.概念 JAX-RPC:Java API for XML-based RPC(Remote Procedure Call)2.JAX-RPC响应过程先上图: 2.1客户端首先会调用Stub对象的方法--Stub是远程对象的一个存根,简单理解成一个远程服务对象的代理也可以 2.2Stub对象发起对JAX--RPC运行时环境的调用 2.3JAX-RPC运行时环境负责将Stub对方法的调用转化正SOAP 消息,并且将SOAP消息通过HTTP协议发送出去 2.4服务器端的JAX-RPC运行时环境接收到客户端的SOAP ht
阅读全文
摘要:multimap使用工程中,迭代器的使用经常让人费解,下面进行了总结,值得关注。 程序可在codeblocks中正常运行#include <iostream>#include <stack>#include <queue>#include<map>using namespace std;int main(){ multimap<string,string> book; book.insert(make_pair("wanglibao","C++")); book.insert(make_pair
阅读全文
摘要:#include <iostream>#include <vector>using namespace std;int main(){ vector< pair<int, int> > pvec; //如果写成vector<pair<int, int>> pvec;编译器会误认为流运算 pair<int,int> par; par.first = 9; par.second = 23; pvec.push_back(par); pair<int, int> par2 = *pvec.begin();
阅读全文