yxhxj2006

常用链接

统计

最新评论

#

深入理解where 1=1的用处

where 1=1有什么用?在SQL语言中,写这么一句话就跟没写一样。

select * from table1 where 1=1与select * from table1完全没有区别,甚至还有其他许多写法,1<>2,'a'='a','a'<>'b',其目的就只有一个,where 的条件为永真,得到的结果就是未加约束条件的。

在SQL注入时会用到这个,例如select * from table1 where name='lala'给强行加上select * from table1 where name='lala' or 1=1这就又变成了无约束的查询了。

最近发现的妙用在于,在不定数量查询条件情况下,1=1可以很方便的规范语句。例如一个查询可能有name,age,height,weight约束,也可能没有,那该如何处理呢?

String sql=select * from table1 where 1=1

为什么要写多余的1=1?马上就知道了。

if(!name.equals("")){
sql=sql+"name='"+name+"'";
}
if(!age.equals("")){
sql=sql+"age'"+age+"'";
}
if(!height.equals("")){
sql=sql+"height='"+height+"'";
}
if(!weight.equals("")){
sql=sql+"weight='"+weight+"'";
}

如果不写1=1呢,那么在每一个不为空的查询条件面前,都必须判断有没有where字句,否则要在第一个出现的地方加where

 

where 1=1的写法是为了检化程序中对条件的检测
打个比方有三个参数a, b, c
@sql=select * from tb'
这三个参数都可能为空
这时你要构造语句的话,一个个检测再写语句就麻烦
比如
if @a is not null
@sql=@sql + " where a=' + @a
if @b is not null
这里你怎么写?要不要加where 或直接用 and ?,你这里还要对@a是否为空进行检测

用上 where 1=1 之后,就不存在这样的问题, 条件是 and 就直接and ,是or就直接接 or

拷贝表
create   table_name   as   select   *   from   Source_table   where   1=1;

复制表结构
create   table_name   as   select   *   from   Source_table   where   1 <> 1; 

posted @ 2014-05-18 01:04 奋斗成就男人 阅读(255) | 评论 (0)编辑 收藏

Groovy入门教程

     摘要: Groovy入门教程 kmyhy@126.com  2009-5-13 一、groovy是什么 简单地说,Groovy 是下一代的java语言,跟java一样,它也运行在 JVM 中。 作为跑在JVM中的另一种语言,groovy语法与 Java 语言的语法很相似。同时,Groovy 抛弃了java烦琐的文法。同样的语句,使用groovy能在最大限度上减少你的击键次数—R...  阅读全文

posted @ 2014-04-25 23:23 奋斗成就男人 阅读(210) | 评论 (0)编辑 收藏

response.encodeRedirectURL作用

response.encodeRedirectURL作用

session对象能和客户建立意义对应的关系依赖于客户的浏览器是否支持cookie,如果客户的浏览器不支持的话,那么客户再不同网页之间的session对象可能时互不相同的,因为服务器无法将ID存放到客户端,就不能建立session对象和客户的一一对应关系。可以通过URL重写来实现session对象的唯一性。所谓URL重写就是当客户从一个页面重新连接到一个页面时,通过向这个新的URL添加参数,把session对象的id传过去,这样能够保证session对象是完全相同的。可以使用response对象调用encodeURL()或encodeRedirectURL()方法实现URL重写。

eg:

String str=response.encodeRedirectURL("hope.jsp");

连接目标写成:<%=str%>即可。

encodeURL()是本应用级别的,encodeRedirectURL()是跨应用的。  

 

以下时网上搜索到的解析:

第一种解释:

作用:

Encodes the specified URL for use with redirect( ) by adding an necessary session ID.

Example

Response.redirect( Response( ).encodeRedirectURL( url ) )

第二种解释:

1.response.encodeRedirectURL(url)是一个进行URL重写的方法, 使用这个方法的作用是为了在原来的url后面追加上Jsessionid 。 目的是保证即使在客户端浏览器禁止了cookie的情况下,服务器端仍然能够对其进行事务跟踪.
2.response.sendRedirect(url) 是一个url重定向的方法, 服务器端的通过该方法,“告诉”客户端的浏览器去访问url所指向的资源

第三种解释:

对于要进行跳转时把url   encode  
如:   response.sendRedirect(response.encodeRedirectURL("dfddf.jsp?na=上海"));  
不encode时getParameter("na")是乱码

posted @ 2014-04-17 10:19 奋斗成就男人 阅读(261) | 评论 (0)编辑 收藏

paypal几种集成方式有什么区别?

paypal集成到网站一般有两种:Website Payment Standard WPS 网站付款专业版和 Express Checkout快速结账;

但是有的用户也会问道 Website Payments Pro,这里就来给大家讲讲这三者的区别。

一、Website Payment Standard WPS(IPN)网站标准版,客户需要在网站注册才可以完成购买流程。不会在购物车显示paypal按钮。

二、Express Checkout快速结账专业版的与WPS主要区别是:check out为快速支付,在购物车页面直接显示paypal支付的按钮,可直接进入paypal页面付款,不注册成网店会员即可完成购买,但是也可以走正常的注册会员流程。

三、Website Payments Pro需要是美国的账号才可以用。且收取月服务费用。

另外美国账户在国内是无法享受客户服务和顾问服务的,一般的商家不建议使用



注意:这三个paypal只能集成其中的一个,如果同时出现多个,会导致冲突,收款出错。

一般的商家,如果有自己专业的技术团队,可选择Express Checkout,如果没有专门的技术维护,建议选择WPS.

posted @ 2014-04-16 13:16 奋斗成就男人 阅读(545) | 评论 (0)编辑 收藏

html里title属性换行的方法

众所周知,对于链接和图片,我们可以通过添加title属性以显示一些说明文字,一般情况下,这些文字都是显示成一行,那么有没有办法让它以多行的方式显示呢?解决的方法有两种:

1.将title属性分成几行来写,例如:
<a href=#" title="说明一
说明二
说明三">印象派</a>

2.第一行相对来说不够直观,我们还可以在需换行的地方添加 (将&改为半角,下同)或 来实现:
<a href=#" title="说明一 说明二 说明三">印象派</a>
<a href=#" title="说明一 说明二 说明三">印象派</a>



==================


response.write " title='标    题:" & rsArticleList("Title") & vbcrlf & "作    者:" & rsArticleList("Author") & vbcrlf & "转 贴 自:" & rsArticleList("CopyFrom") & vbcrlf & "更新时间:" & rsArticleList("UpdateTime") & vbcrlf
    response.write "点 击 数:" & rsArticleList("Hits") & vbcrlf & "关 键 字:" & mid(rsArticleList("Key"),2,len(rsArticleList("Key"))-2) & vbcrlf & "推荐等级:"


直接换行就可以


=======================


<a href='http://www.updateweb.cn' target='_ablank' title='标    题:更新网络
作    者:Sundy
转 贴 自:本站原创
更新时间:2008-6-6 10:31:00
点 击 数:0
关 键 字:更新网络
推荐等级:无
分页方式:不分页
阅读等级:游客
阅读点数:0'>更新网络</a>
    <div title="123&quot; 456">text</div>
    <p><a href=#" title="说明一 说明二 说明三">印象派</a>
                <a href=#" title="说明一 说明二 说明三">印象派</a></p>


===========================


function decodeHTML(fString)
if not isnull(fString) then
    fString = replace(fString, "&gt;", ">")
    fString = replace(fString, "&lt;", "<")


    fString = Replace(fString, "&nbsp;", CHR(32))
    fString = Replace(fString, "&nbsp;", CHR(9))
    fString = Replace(fString, "&quot;", CHR(34))
    fString = Replace(fString, CHR(39),"'")
    fString = Replace(fString, "</P><P> ",CHR(10) & CHR(10))
    fString = Replace(fString, "<BR> ", CHR(10))
    decodeHTML = fString
end if
end function


function encodeHtml()


替换成unicode字符就可以

posted @ 2014-03-17 14:08 奋斗成就男人 阅读(181) | 评论 (0)编辑 收藏

分享php中四种webservice实现的简单架构方法及实例

     摘要: 一:PHP本身的SOAP所有的webservice都包括服务端(server)和客户端(client)。要使用php本身的soap首先要把该拓展安装好并且启用。下面看具体的code首先这是服务端实现:PHP Code复制内容到剪贴板<?php   class test   {      &nb...  阅读全文

posted @ 2014-03-11 18:52 奋斗成就男人 阅读(1436) | 评论 (0)编辑 收藏

PHP获取客户端IP和服务器IP

function get_client_ip() {
  if(getenv('HTTP_CLIENT_IP')){
      $client_ip = getenv('HTTP_CLIENT_IP');
  } elseif(getenv('HTTP_X_FORWARDED_FOR')) {
      $client_ip = getenv('HTTP_X_FORWARDED_FOR');
  } elseif(getenv('REMOTE_ADDR')) {
      $client_ip = getenv('REMOTE_ADDR');
  } else {
      $client_ip = $_SERVER['REMOTE_ADDR'];
  }
  return $client_ip;
}

获取服务器端IP地址

function get_server_ip() {
if (isset($_SERVER)) {
    if($_SERVER['SERVER_ADDR']) {
        $server_ip = $_SERVER['SERVER_ADDR'];
    } else {
        $server_ip = $_SERVER['LOCAL_ADDR'];
    }
else {
    $server_ip = getenv('SERVER_ADDR');
}
    return $server_ip;

}

posted @ 2014-03-07 18:20 奋斗成就男人 阅读(234) | 评论 (0)编辑 收藏

打动面试官的五大技能

如何让自己在面试中脱颖而出,给招聘人员留下深刻的影响,想必很多求职者都想过这类问题?本文作者通过对国外大中小的面试调查,发现他们看重面试者以下技能:定量分析、Excel、创造性思维、沟通能力和谦逊的品格。


Becky Fisher是Beyond Business Summer Bootcamp公司的创始人,最近她总结了面试者在面试过程中招聘方最看重的技能。以下为译文: 

不管你是大学生还是刚打算找工作,或是想在一个新的领域重新开始工作,你都该反问下自己:“我想找什么样的工作?”或者是“怎样才能获得一份更好的工作?”

通过对Google、Amazon、Facebook这样的巨头公司,和类似Castlight、Room77的中小型企业的面试调查,我们发现,他们招聘员工时,看重很多技能,出人意料的是,他们并不看重员工是否精明。而他们特别需要的技能都是可以通过后天学习取得的。一起来看下可以让你从众多招聘者中脱颖而出的5个技能吧。

1. 定量分析

定量分析是对社会现象的数量特性、数量关系与数量变化的分析。数据是许多组织的重要组成部分,所以你的组织、分析、解释和呈现数据能力是很重要的。不管是在做应用程序还是寻找不同的办法来吸引用户。特别说明下,招聘公司很重视组织数据和基于数据进行组织的能力。如果你有挖掘数据的能力,并有自己的见解,那么在竞争中将很有优势。(面试时,你可以带上曾经做过的关于数据分析的项目)。

技能获得方法:MOOCs是学习数据分析的重要资源。你可点击进入Exploratory Data AnalysisUdemy或者EdX,学习定量分析的方法。

2. Excel

管理数据分析中最主要工具是什么?Excel。Excel在工作中会经常遇到,而且公司不会花时间去教你怎样使用Excel。所以,如果你能精通Excel,在录取中也会占有一定的优势。

技能获得方法:可以上网搜索下Excel的使用方法教程,或者点击进入微软免费的Excel视频教程,进入学习。

3. 创造性思维

当今企业界发展步伐异常快,招聘企业对那些有创新能力和能超越现状的求职者很感兴趣。他们希望自己的员工能够有拓展性思维,不安于现状,从第一天上班时起就能有与其他员工分享自己的想法,最好可以提高公司当前的工作系统。但是,创造性思维有点不好学习。

技能获得方法:实际上,根本没有什么教程可以帮你提高创造性思维,但你可通过斯坦福大学的Design Thinking Class或者Creative Confidence进行学习。

4. 沟通能力

一般情况下,招聘公司都想找一些沟通能力比较强的员工。因为公司日后需要你可以有效的与客户进行电话、邮件及日常生活的交流,你的一言一行都将代表公司的形象。更重要的是,公司希望你能以简洁专业的语言来表达自己的某些看法。所以,在面试过程中,多向招聘人员展示下你的沟通能力。

技能获得方法:多与他人进行沟通,可以提高你的沟通能力,而且还要听取别人的反馈意见。

5. 谦逊的品格

有人看到谦逊会觉得奇怪,但是这个技能却是招聘人员看中的重要技能之一。当然,招聘公司需要有自信、有激情,也要乐于学习的员工。在面试时,如果被要求分享自己的想法或主意的时候,大胆的说出来。如果被指出错误,虚心的接受。多问面试人员一些问题,比如公司的一些情况和应聘岗位的一些工作。

技能获得方法:就像Nike说的,Just Do It。大方一点、谦逊,证明自己不仅工作灵活性强,还乐于接受别人的意见。最重要的是,还能把别人提的有利意见融入到工作中。

posted @ 2014-02-28 01:40 奋斗成就男人 阅读(255) | 评论 (0)编辑 收藏

7K月薪面试题----交通灯管理系统

     摘要: 【题目要求】模拟实现十字路口的交通灯管理系统逻辑,具体有以下需求1). 异步随机生成按照各个路线行驶的车辆举例说明如下:. 由南向北行驶的车辆 ----直行车辆. 由西向南行驶的车辆 ----右转车辆. 由东向南行驶的车辆 ----左转车辆…2). 信号灯颜色选择范围忽略黄灯,只考虑红灯和绿灯3). 左转车辆和右转车辆的要求. 左转车辆受到控制信号灯的控制. 但是右转车辆不受信号灯控制...  阅读全文

posted @ 2014-02-28 01:36 奋斗成就男人 阅读(227) | 评论 (0)编辑 收藏

Java 线程池的原理与实现

     摘要: 这几天主要是狂看源程序,在弥补了一些以前知识空白的同时,也学会了不少新的知识(比如 NIO),或者称为新技术吧。线程池就是其中之一,一提到线程,我们会想到以前《操作系统》的生产者与消费者,信号量,同步控制等等。一提到池,我们会想到数据库连接池,但是线程池又如何呢?建议:在阅读本文前,先理一理同步的知识,特别是syncronized同步关键字的用法。关于我对同步的认识,要缘于大三年的一本书,书名好像...  阅读全文

posted @ 2014-02-28 01:32 奋斗成就男人 阅读(229) | 评论 (0)编辑 收藏

仅列出标题
共23页: 上一页 1 2 3 4 5 6 7 8 9 下一页 Last