PHP—字符串
目录
PHP—字符串
字符串三种定义方式
字符串的输出
输出HTML代码
输出JavaScript代码
die(exit)和return的区别
字符串输出
获取字符串长度
strlen()--获取字符串字节数
mb_strlen()--获取字符串的长度
字符串去除特殊字符
trim()--去除字符串首尾处的空白字符(或者其他字符)
ltrim()--删除字符串开头的空白字符(或其他字符)
rtrim()--删除字符串末端的空白字符(或者其他字符)
str_replace()--子字符串替换
nl2br()--在字符串所有新行之前插入HTML换行标记
strpos()--查找字符串首次出现的位置
生成4位随机验证码案例
上机任务
任务1
任务2
字符串三种定义方式
在平常情况下,使用单引号和双引号包含字符串是一样的,如果在字符串里边出现了变量名,如果想输出变量,则必须使用双引号,且最好在变量名两端加上{ },{ }并不会被输出。
字符串的输出
$name='张宇杰';
$sex='男';
$age=20;
echo "我的姓名:{$name},性别:{$sex},年龄:{$age}";
echo " ";
echo "我的姓名:".$name.",性别:".$sex.",年龄:".$age;
输出结果:
我的姓名:张宇杰,性别:男,年龄:20
我的姓名:张宇杰,性别:男,年龄:20
输出HTML代码
PHP是一个Web编程语言,在编程过程中难免会遇到用echo来输出大段的html和javascript脚本的情况,如果用传统的输出方法——按字符串输出的话,肯定要有大量的转义符来对字符串中的引号等特殊字符进行转义,以免出现语法错误。如果是一两处还可以容忍,但是要是一个完整的html文本或者是一个200行的js我想是谁都会崩溃的。这就是PHP为什么要引入一个定界符的原因——至少一大部分原因是这样的。
PHP中的定界符格式是这样的:
<<
$str=<<
{$name}
{$sex}
{$age}
BOF;
echo $str;
输出结果:
输出JavaScript代码
$a='张三';
$str2=<<alert("{$a}你好")
STR;
echo $str2;
输出结果:
die(exit)和return的区别
PHP中终止脚本运行有三种方式,主脚本程序中使用return,脚本中使用die()和exit(),三者所在的脚本文件之后的代码都不会执行。
return:return是一个语法结构,而不是一个函数,如果一个函数中含有return语句,当调用此函数时,函数的执行只会到return这一步,return之后的所有语句都不会执行,并将return的参数作为函数值返回。
die:终止整个脚本的运行,使当前执行停止到这里,并且不再进行下去。如果有参数,会直接打印出来(只针对字符串)。
在函数外部,return和die没有什么区别,但是在函数内部return只是终止函数本身并返回函数值,die终止整个脚本的运行。
字符串输出语句
echo--输出一个或者多个字符串或变量值,他是php语句,不是函数,没有返回值。
print--用于输出一个或者多个字符串或变量值的信息。他只能打印出简单类型变量的值(如int,string),不能打印数组和对象。print有返回值,并且都是1。
print_r--是函数,用于打印关于变量的易于理解的信息。能够打印复杂的数据类型,比如可以打印数组和对象。
printf()--用于输出格式化的字符串。
var_export()--函数用于输出或返回一个变量的字符串表示
var_dump()--函数用于显示关于一个或多个表达式的结构信息,包括表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。直接输出到浏览器。
获取字符串长度
strlen()--获取字符串字节数
语法:strlen ( string $string
)
返回值:成功则返回字符串string
的字节数;如果string
为空,则返回 0。
$str='张三ab'; //utf-8编码下,一个汉字占3个字节
echo strlen($str); //输出8
mb_strlen()--获取字符串的长度
语法:mb_strlen ( string $str
[, string $encoding
] )
参数:str:
要检查长度的字符串。encoding:encoding
参数为字符编码。如果省略,则使用内部字符编码。
返回值:返回具有encoding
编码的字符串 str
包含的字符数。多字节的字符被计为1。如果给定的encoding
无效则返回FALSE
。
$str='张三ab';
echo mb_strlen($str,'utf-8'); //返回字符个数,输出4
字符串去除特殊字符
trim()--去除字符串首尾处的空白字符(或者其他字符)
语法:trim ($str
[,$charlist
= " \t\n\r\0\x0B" ] )
此函数返回字符串 str
去除首尾空白字符后的结果。如果不指定第二个参数, trim() 将去除这些字符:
" " (ASCII 32 (0x20 )),普通空格符。
"\t" (ASCII 9 (0x09 )),制表符。
"\n" (ASCII 10 (0x0A )),换行符。
"\r" (ASCII 13 (0x0D )),回车符。
"\0" (ASCII 0 (0x00 )),空字节符。
"\x0B" (ASCII 11 (0x0B )),垂直制表符。
$str=' 123456 ';
echo var_dump($str); //string ' 123456 ' (length=8)
echo var_dump(trim($str)); //string '123456' (length=6)
$str2="\t123456\r\n"; //双引号中的转义符号是可以转义的,单引号中的转义符号直接输出
echo var_dump($str2); //string ' 123456' (length=9)
echo var_dump(trim($str2)); //string '123456' (length=6)
ltrim()--删除字符串开头的空白字符(或其他字符)
rtrim()--删除字符串末端的空白字符(或者其他字符)
str_replace()--子字符串替换
语法:str_replace ($search
, $replace
, $subject
[, int &$count
] )
该函数返回一个字符串或者数组。该字符串或数组是将 subject
中全部的 search
都被 replace
替换之后的结果。
参数:
search
:查找的目标值,也就是needle 。一个数组可以指定多个目标。
replace:search
的替换值。一个数组可以被用来指定多重替换。
subject:
执行替换的数组或者字符串。也就是 haystack 。如果 subject
是一个数组,替换操作将遍历整个 subject
,返回值也将是一个数组。
count:
如果被指定,它的值将被设置为替换发生的次数。
nl2br()--在字符串所有新行之前插入HTML换行标记
语法:nl2br(string $string
[, bool $is_xhtml
= true ] )
在字符串 string
所有新行之前插入 ' ' 或 ' ',并返回。
$str=<<
输出结果:
张三,男,20
李四,女,17
王五,男,18
strpos()--查找字符串首次出现的位置
语法:strpos(string $haystack
, $needle
[, int $offset
= 0 ] )
参数:
haystack
:在该字符串中进行查找。
needle
:如果 needle
不是一个字符串,那么它将被转换为整型并被视为字符的顺序值。
offset
:如果提供了此参数,搜索会从字符串该字符数的起始位置开始统计。和 strrpos() 、 strripos() 不一样,这个偏移量不能是负数。
返回值:
如果找到,就返回在字符串中的起始位置,如果没找到,就返回false,在进行判断时应该使用===(完全等于),否则判断结果可能有错误。
生成4位随机验证码案例
$str = "abcdefghijklmnopqrstuvwxyz0123456789";
$len = strlen($str);
$yzm = '';
for ($i = 0; i < 4; i++){
$rand = mt_rand(0,$len-1);
$yzm .= substr($str, $rand ,1);
}
echo $yzm;
上机任务
任务1
请写一个函数,实现以下功能:字符串“open_door” 转换成 “OpenDoor”、”make_by_id” 转换成 ”MakeById”
';
echo change("make_by_id");
?>
输出结果
OpenDoor
MakeById
任务2
页面从数据库获取了title字段,然后在前台页面显示 比如字符串 为: "我校经济贸易学院与石家庄顺捷财税咨询有限公司签订校企合作协议",现在需要判断如果超过15个字符 后面用“...“ 代替,如果少于15个字符的话 则不用...
=15){
$str = mb_substr($title,0,15).'...';
echo $str;
}else{
echo $title;
}
?>
输出结果
我校经济贸易学院与石家庄顺捷财...
你可能感兴趣的:(PHP笔记)
【链接目录】
刘恒123456789
js jquery vue php ide sql mysql
推荐链接环境配置PhpStormWindows浏览器插件键盘特殊符号dockerdocker基础Windows10dockerdockerfileLinuxApacheComposerUbuntu后门程序技术Excel压力测试工具GitWampServer前端笔记JavaScript+jQueryLayuiVUESQL笔记MySQLSQLServerRedisPHPPHP笔记PHP设计模式Thin
PHP笔记
腿子代码了
PHP php 笔记 开发语言
文章目录PHP一、什么是PHP二、PHP集成环境的安装三、WampServer四、PHP基础PHP标准格式php注释变量的定义传值替换变量的作用域变量的检测与删除static静态变量进制转换响应头字符串边界定位符字符串函数常量的定义三元表达式五、基础文件引入点函数参数类型约束以及严格模式数组自定义array_walk_recursive()递归改变值传递var_export合法转换为字符串序列化与
2018-05-21
ada456ada
php笔记方法一:@在任何错误语句之前加上@符号,即可屏蔽!方法二:error_reporting在PHP文件第一行加上:error_reporting(0);即可屏蔽!header:{"Content-Type":"application/x-www-form-urlencoded"},a的download属性只有在文件在服务器上才能用,不能跨域跨域则需要如此:URL.createObjectU
qeephp笔记
万允华
笔记
1、$select->getCount()获取总条数$select->getSum('fa_kuan_money');获取某个值的总和
PHP笔记-->读取JSON数据以及获取读取到的JSON里边的数据
の天命喵星人
PHP php 笔记 json
由于我以前是写C#的,现在学一下PHP,在读取json数据的时候被以前的思维卡住了。以前用C#读取的时候,是先定义一个数组,将反序列化的json存到数组里面,在从数组里面获取jaon中的“data”数据。其实PHP的思路也是一样的,但是由于PHP是弱类型语言,所以定义一个变量直接取数据就行。例如://这是一个JSON$jsonData='{"name":"John","age":30,"city"
php笔记
ZHWenDong
php 笔记 1024程序员节
whereExists方法适用于需要根据其他表的数据来过滤主查询的结果,只保留与子查询匹配的记录。$result=$result->whereExists(function($query)use($rightTagIds){$query->select(DB::raw(1))->from('third_goods_right_relate_tag')->whereIn('third_goods_r
学习PHP笔记1
开摆工作室
Web PHP php 开发语言 后端 sql 服务器
学习PHP笔记(一)PHP基础PHP基本语法标准风格⭕注意:如果一个文件里面全部都是PHP代码,推荐省略结束语句?>。PHP的注释单行注释//注释内容#注释内容多行注释/*注释内容*/PHP的变量PHP的变量不用声明就能够直接定义与使用⭕变量声明与创建的注意事项变量必须以$符号开始,后面跟着变量的名称变量名必须以字母或者下划线字符开始,不能是数字变量名只能包含字母、数字以及下划线(A-z、0-9和
PHP学习第一天
CONLYOUC
前言:PHP笔记,属于个人的学习、理解、收集、整理。分享于此,一同共勉,如果有误,敬请告之,吾必改之。古人云:理论还是要靠实践来检验。基础知识就不多说了,推荐个php教程吧,很适合新手查阅。一、php变量的数据类型共八种:整数型(int)、浮点型(float)、布尔型(boolean)、字符串(string)、数组(array)、对象(object)、空类型(null)和资源类型(resource
2019-03-11 php笔记
我在代码的海洋里遨游
//文件上传$_FILESmove_uploaded_file()//param1文件上传临时目录//param2文件保存的路径以及文件名php.ini配置file_upload=on//开启post上传方式max_execution_time=30//设定php程序执行最大时间memory_limit=128M//php程序执行时,所占用的最大内存数值upload_max_filesize=2M
php 判断字符串为浮点数,php笔记03:布尔类型,字符串,浮点数
三亻已
php 判断字符串为浮点数
1.布尔类型下面情况都是看出false:布尔类型FALSE自身整型值为0浮点型值为0.0空字符串,以及字符串"0"不包含任何元素的数组不包含任何成员变量的对象(仅PHP4.0)特殊类型NULL(包括尚未设定的变量)2.浮点数浮点数的案例:$a=0.23456789022222988;echo$a;//0.23456789022223这是浏览器的反映的结果,这是因为php浮点数的精度为14位有效数字
PHP笔记-环境配置和常见问题处理
Bonrui
php 开发工具 php
目录一、PHP5.6连接mysql5.6正常mysql8.0报错二、Apache配置多个php切换三、Apache开启gzip四、php调试模式配置(PhpStorm)五、Primaryscriptunknown错误六、Itisnotsafetorelyonthesystem'stimezonesettings错误七、ThinkPHP多数据源配置八、dockerphp-fpm优化九、ThinkPH
php笔记1
萧鼎
php 笔记 开发语言
php环境PHP作为一种服务器端脚本语言,可以在各种操作系统上运行。搭建PHP网站的环境,你需要以下几个要素:Web服务器:常见的选择有Apache、Nginx和IIS。你需要安装和配置其中一个服务器软件。PHP解释器:PHP是一种解释性语言,需要安装PHP解释器来运行PHP代码。你可以从PHP官方网站下载并安装适合你操作系统的PHP版本。数据库:大多数网站需要与数据库进行交互。流行的选择包括My
html 中< col>标签和< colgroup>标签的区别
diliannie1104
转载自https://www.ggbiji.com/html-col-colgroup.html标签是给表格中一个或多个列定义属性值,而标签是对表格中的列进行组合,从而实现对表格的格式化。标签一般会放在标签中使用,对标签组合的列分别设置样式。标签也可以有样式属性,是对组合的列设置相同的样式,标签设置的样式会被标签设置的样式覆盖。格式:实例:html中标签和标签的区别笔记_PHP笔记学号姓名成绩01
PHP笔记之文件上传
红烧兔纸
Web知识
目录文件上传1、文件上传原理2、超全局变量数组$_FILES(九个全局数组之一)3、上传文件错误代码4、查看上传的临时文件位置5、将上传文件移动到新位置6、上传文件的相关配置(php.ini)7、获取文件路径信息pathinfo()8、检查数组中是否存在某个值in_array()9、生成唯一IDuniqid()实例:单个文件上传1、上传表单制作upload.html2、上传文件的程序处理uploa
php笔记
码农起步者
现在想想感觉已经快把php抛弃了~太久不敲代码,手是真的生了,以前虽然学了不少,但是基本上已经还给老师了,正好为渗透巩固下基础,再来学一遍!挑选自己不会的记录下来~php内置常量";echo(__FUNCTION__);//返回函数定义时候的名字echo"";echo(__DIR__);echo"";echo(PHP_OS);//操作系统类型echo"";echo(PHP_VERSION);//p
php笔记
我在代码的海洋里遨游
资源类型resource(无法自定义的数据类型)$res=fopen('resource.txt','r');var_dump($res)//stream;数据转化/**临时转化**/(int)$var;(float)$var;(boolean)$var;(float)$var;(string)$var;(array)$var;(object)$var;(unset)$var;//null//函数
2019-03-07 php笔记
我在代码的海洋里遨游
//抑制表达式中的错误@$int;var_dump($int);//报错NULL@var_dump($int);//NULL不报错@var_dump(is_null($int));//true//echo不能用@可以写成echo@$int//语法错误还是没有用//运行外部命令如CMD命令``反引号$str=`ipconfig`//编码转化iconv(afer,before,$var)//字符串函数
php笔记
蛋黄肉
类魔术方法__constructor(){}构造函数__destruct析构函数__set两个参数,要设置对象的名称,设置对象的值,当修改了对象的属性的时候,这个方法被调用,__get一个参数,获取对象的名称,当对象的属性被获取的时候,这个方法被调用__isset一个参数,对象属性名,当类外使用isset判断属性是否存在时被调用__unset一个参数,对象属性名,当类外使用unset删除属性时被调
2018-12-15
Emily0917
php笔记2递归算法函数自己调用自己递归解决问题的提点:完成一个需求有多个步骤,完成每一步的代码是十分相似的,只有函数传递的参数不同。冒泡排序对于一个长度为N的数组,我们需要排序N-1轮,每i轮要比较N-i次。对此我们可以用双重循环语句,外层循环控制循环轮次,内层循环控制每轮的比较次数每一轮依次进行2个数比较,交换!
PHP笔记
wscfan
一、Apache、PHP、MySQL安装1、Apache的安装1.1安装:在dos界面进入安装包的bin目录下执行语句:httpd-kinstall1.2卸载:在dos界面进入安装包的bin目录下执行语句:httpd-kuninstall1.3Apache常见命令:httpd-kstart(启动)httpd-krestart(重启)httpd-kstop(停止)httpd-t(检查配置文件是否出错
20211010 PHP笔记
白瑕
php 数据库 sql
20211010PHP笔记文章目录20211010PHP笔记前言一、mysqli_real_query()二、mysqli_multi_query()三、mysqli_free_result();四、mysqli_fetch_all()五、fopen();六、flock()七、fwrite()八、fclose()七、fread();八、unset()九、isset()十、file_get_cont
PHP笔记
mirse
函数中变量局部动态变量functionvariable_local(){$a=1;$a++;echo$a;}variable_local();//2variable_local();//2局部静态变量functionvariable_static(){static$a=1;$a++;echo$a;}variable_static();//2variable_static();//3全局变量$a=3
PHP笔记 - 面向对象
夙小叶
属性=形态=变量方法=行为=函数类类是生成对象的代码模板,它只是一个模板,一个设计图纸以class开头属性必须有可见性关键字(PHP5及更高版本)关键字描述public公共的,所有实例都可以访问protected受保护的,只有存在继承关系的可以访问,比如子类,父类private私人的,只有对应的类内部能够调用对象new关键字,将一个类(图纸)实例化可以得到无数个相同类型的不同对象(楼房)$cat=
PHP笔记 | 正则表达式详析 与 诸多运用实例
凌川江雪
1.PHP正则表达式(PCRE)定义正则表达式是对字符串进行操作的一种逻辑公式,就是用一些特定的字符组合成一个规则字符串,称之为正则匹配模式。$p='/apple/';$str="applebanna";if(preg_match($p,$str)){echo'matched';}其中字符串'/apple/'就是一个正则表达式,他用来匹配源字符串中是否存在apple字符串。PHP中使用PCRE库函
PHP笔记5php与数据库
8d2855a6c5d0
MySQL数据库操作步骤第一步:登录到MySQL服务器第二步:选择当前要操作的数据库第三步:设置请求和返回数据的字符集第四步:执行SQL语句增加记录:INSERTINTOnews(title,content)VALUES(‘标题’,‘内容’)删除记录:DELETEFROMnewsWHEREid=180修改记录:UPDATEnewsSETtitle=‘新标题’,content=‘新内容’WHEREi
php+mysql
程少辉
php笔记导读wamp集成开发环境w:windows操作系统mamplampa:apache服务器//提供某种特定功能的代码块web服务器发送/接收请求m:mysql数据库服务//关系型/非关系型(MongoDB)关系模型p:php是运行在服务器端的脚本语言静态网页没有链接数据库的网页动态网页链接数据库,数据库中获取数据服务器如何处理用户请求当在地址栏键下地址的时候,浏览器会结合我们的软硬件,将h
自学PHP笔记(一)PHP语法
本文章转发来自:https://blog.csdn.net/KH_FC/a...PHP基本语法php使用一对特殊的标记包含php代码,与HTML代码混在一起。当服务器解析页面时,能够自动过滤出PHP脚本并进行解释,最后把生成的静态网页传递给客户端。1.PHP标记一般情况下,PHP代码都被嵌入到HTMl文档中,PHP代码在HTML中嵌入时有以下几种方式:默认标记默认标记是通过""标记进行将HTML和
自学PHP笔记(一)PHP语法
本文章转发来自:https://blog.csdn.net/KH_FC/a...PHP基本语法php使用一对特殊的标记包含php代码,与HTML代码混在一起。当服务器解析页面时,能够自动过滤出PHP脚本并进行解释,最后把生成的静态网页传递给客户端。1.PHP标记一般情况下,PHP代码都被嵌入到HTMl文档中,PHP代码在HTML中嵌入时有以下几种方式:默认标记默认标记是通过""标记进行将HTML和
PHP笔记
_fhs
微信公众号网页授权详解PHP的curl函数的详细介绍(总结)yield生成器是php5.5之后出现的,yield提供了一种更容易的方法来实现简单的迭代对象,相比较定义类实现Iterator接口的方式,性能开销和复杂性大大降低。yield生成器允许你在foreach代码块中写代码来迭代一组数据而不需要在内存中创建一个数组。PHP性能优化利器:生成器yield理解PHP的yield是个什么玩意(一)y
mac下Apache配置
_我们一直在路上_
mac下Apache配置今天主要是记录一下mac上面启动自带Apache报错(自学PHP笔记)一,配置文件1.Apache的主配置文件是:/etc/apache2/httpd.conf(一般设置相关配置都在该文件里面,复制到桌面改完在替换,不能直接修改)2.WebServer位置:Library/WebServer(这个路径是工程路径,启动之后会去加载这个路径下的工程)二,Apache操作命令启动
SAX解析xml文件
小猪猪08
xml
1.创建SAXParserFactory实例
2.通过SAXParserFactory对象获取SAXParser实例
3.创建一个类SAXParserHander继续DefaultHandler,并且实例化这个类
4.SAXParser实例的parse来获取文件
public static void main(String[] args) {
//
为什么mysql里的ibdata1文件不断的增长?
brotherlamp
linux linux运维 linux资料 linux视频 linux运维自学
我们在 Percona 支持栏目经常收到关于 MySQL 的 ibdata1 文件的这个问题。
当监控服务器发送一个关于 MySQL 服务器存储的报警时,恐慌就开始了 —— 就是说磁盘快要满了。
一番调查后你意识到大多数地盘空间被 InnoDB 的共享表空间 ibdata1 使用。而你已经启用了 innodbfileper_table,所以问题是:
ibdata1存了什么?
当你启用了 i
Quartz-quartz.properties配置
eksliang
quartz
其实Quartz JAR文件的org.quartz包下就包含了一个quartz.properties属性配置文件并提供了默认设置。如果需要调整默认配置,可以在类路径下建立一个新的quartz.properties,它将自动被Quartz加载并覆盖默认的设置。
下面是这些默认值的解释
#-----集群的配置
org.quartz.scheduler.instanceName =
informatica session的使用
18289753290
workflow session log Informatica
如果希望workflow存储最近20次的log,在session里的Config Object设置,log options做配置,save session log :sessions run ;savesessio log for these runs:20
session下面的source 里面有个tracing 
Scrapy抓取网页时出现CRC check failed 0x471e6e9a != 0x7c07b839L的错误
酷的飞上天空
scrapy
Scrapy版本0.14.4
出现问题现象:
ERROR: Error downloading <GET http://xxxxx CRC check failed
解决方法
1.设置网络请求时的header中的属性'Accept-Encoding': '*;q=0'
明确表示不支持任何形式的压缩格式,避免程序的解压
java Swing小集锦
永夜-极光
java swing
1.关闭窗体弹出确认对话框
1.1 this.setDefaultCloseOperation (JFrame.DO_NOTHING_ON_CLOSE);
1.2
this.addWindowListener (
new WindowAdapter () {
public void windo
强制删除.svn文件夹
随便小屋
java
在windows上,从别处复制的项目中可能带有.svn文件夹,手动删除太麻烦,并且每个文件夹下都有。所以写了个程序进行删除。因为.svn文件夹在windows上是只读的,所以用File中的delete()和deleteOnExist()方法都不能将其删除,所以只能采用windows命令方式进行删除
GET和POST有什么区别?及为什么网上的多数答案都是错的。
aijuans
get post
如果有人问你,GET和POST,有什么区别?你会如何回答? 我的经历
前几天有人问我这个问题。我说GET是用于获取数据的,POST,一般用于将数据发给服务器之用。
这个答案好像并不是他想要的。于是他继续追问有没有别的区别?我说这就是个名字而已,如果服务器支持,他完全可以把G
谈谈新浪微博背后的那些算法
aoyouzi
谈谈新浪微博背后的那些算法
本文对微博中常见的问题的对应算法进行了简单的介绍,在实际应用中的算法比介绍的要复杂的多。当然,本文覆盖的主题并不全,比如好友推荐、热点跟踪等就没有涉及到。但古人云“窥一斑而见全豹”,希望本文的介绍能帮助大家更好的理解微博这样的社交网络应用。
微博是一个很多人都在用的社交应用。天天刷微博的人每天都会进行着这样几个操作:原创、转发、回复、阅读、关注、@等。其中,前四个是针对短博文,最后的关注和@则针
Connection reset 连接被重置的解决方法
百合不是茶
java 字符流 连接被重置
流是java的核心部分,,昨天在做android服务器连接服务器的时候出了问题,就将代码放到java中执行,结果还是一样连接被重置
被重置的代码如下;
客户端代码;
package 通信软件服务器;
import java.io.BufferedWriter;
import java.io.OutputStream;
import java.io.O
web.xml配置详解之filter
bijian1013
java web.xml filter
一.定义
<filter>
<filter-name>encodingfilter</filter-name>
<filter-class>com.my.app.EncodingFilter</filter-class>
<init-param>
<param-name>encoding<
Heritrix
Bill_chen
多线程 xml 算法 制造 配置管理
作为纯Java语言开发的、功能强大的网络爬虫Heritrix,其功能极其强大,且扩展性良好,深受热爱搜索技术的盆友们的喜爱,但它配置较为复杂,且源码不好理解,最近又使劲看了下,结合自己的学习和理解,跟大家分享Heritrix的点点滴滴。
Heritrix的下载(http://sourceforge.net/projects/archive-crawler/)安装、配置,就不罗嗦了,可以自己找找资
【Zookeeper】FAQ
bit1129
zookeeper
1.脱离IDE,运行简单的Java客户端程序
#ZkClient是简单的Zookeeper~$ java -cp "./:zookeeper-3.4.6.jar:./lib/*" ZKClient
1. Zookeeper是的Watcher回调是同步操作,需要添加异步处理的代码
2. 如果Zookeeper集群跨越多个机房,那么Leader/
The user specified as a definer ('aaa'@'localhost') does not exist
白糖_
localhost
今天遇到一个客户BUG,当前的jdbc连接用户是root,然后部分删除操作都会报下面这个错误:The user specified as a definer ('aaa'@'localhost') does not exist
最后找原因发现删除操作做了触发器,而触发器里面有这样一句
/*!50017 DEFINER = ''aaa@'localhost' */
原来最初
javascript中showModelDialog刷新父页面
bozch
JavaScript 刷新父页面 showModalDialog
在页面中使用showModalDialog打开模式子页面窗口的时候,如果想在子页面中操作父页面中的某个节点,可以通过如下的进行:
window.showModalDialog('url',self,‘status...’); // 首先中间参数使用self
在子页面使用w
编程之美-买书折扣
bylijinnan
编程之美
import java.util.Arrays;
public class BookDiscount {
/**编程之美 买书折扣
书上的贪心算法的分析很有意思,我看了半天看不懂,结果作者说,贪心算法在这个问题上是不适用的。。
下面用动态规划实现。
哈利波特这本书一共有五卷,每卷都是8欧元,如果读者一次购买不同的两卷可扣除5%的折扣,三卷10%,四卷20%,五卷
关于struts2.3.4项目跨站执行脚本以及远程执行漏洞修复概要
chenbowen00
struts WEB安全
因为近期负责的几个银行系统软件,需要交付客户,因此客户专门请了安全公司对系统进行了安全评测,结果发现了诸如跨站执行脚本,远程执行漏洞以及弱口令等问题。
下面记录下本次解决的过程以便后续
1、首先从最简单的开始处理,服务器的弱口令问题,首先根据安全工具提供的测试描述中发现应用服务器中存在一个匿名用户,默认是不需要密码的,经过分析发现服务器使用了FTP协议,
而使用ftp协议默认会产生一个匿名用
[电力与暖气]煤炭燃烧与电力加温
comsci
在宇宙中,用贝塔射线观测地球某个部分,看上去,好像一个个马蜂窝,又像珊瑚礁一样,原来是某个国家的采煤区.....
不过,这个采煤区的煤炭看来是要用完了.....那么依赖将起燃烧并取暖的城市,在极度严寒的季节中...该怎么办呢?
&nbs
oracle O7_DICTIONARY_ACCESSIBILITY参数
daizj
oracle
O7_DICTIONARY_ACCESSIBILITY参数控制对数据字典的访问.设置为true,如果用户被授予了如select any table等any table权限,用户即使不是dba或sysdba用户也可以访问数据字典.在9i及以上版本默认为false,8i及以前版本默认为true.如果设置为true就可能会带来安全上的一些问题.这也就为什么O7_DICTIONARY_ACCESSIBIL
比较全面的MySQL优化参考
dengkane
mysql
本文整理了一些MySQL的通用优化方法,做个简单的总结分享,旨在帮助那些没有专职MySQL DBA的企业做好基本的优化工作,至于具体的SQL优化,大部分通过加适当的索引即可达到效果,更复杂的就需要具体分析了,可以参考本站的一些优化案例或者联系我,下方有我的联系方式。这是上篇。
1、硬件层相关优化
1.1、CPU相关
在服务器的BIOS设置中,可
C语言homework2,有一个逆序打印数字的小算法
dcj3sjt126com
c
#h1#
0、完成课堂例子
1、将一个四位数逆序打印
1234 ==> 4321
实现方法一:
# include <stdio.h>
int main(void)
{
int i = 1234;
int one = i%10;
int two = i / 10 % 10;
int three = i / 100 % 10;
apacheBench对网站进行压力测试
dcj3sjt126com
apachebench
ab 的全称是 ApacheBench , 是 Apache 附带的一个小工具 , 专门用于 HTTP Server 的 benchmark testing , 可以同时模拟多个并发请求。前段时间看到公司的开发人员也在用它作一些测试,看起来也不错,很简单,也很容易使用,所以今天花一点时间看了一下。
通过下面的一个简单的例子和注释,相信大家可以更容易理解这个工具的使用。
2种办法让HashMap线程安全
flyfoxs
java jdk jni
多线程之--2种办法让HashMap线程安全
多线程之--synchronized 和reentrantlock的优缺点
多线程之--2种JAVA乐观锁的比较( NonfairSync VS. FairSync)
HashMap不是线程安全的,往往在写程序时需要通过一些方法来回避.其实JDK原生的提供了2种方法让HashMap支持线程安全.
Spring Security(04)——认证简介
234390216
Spring Security 认证 过程
认证简介
目录
1.1 认证过程
1.2 Web应用的认证过程
1.2.1 ExceptionTranslationFilter
1.2.2 在request之间共享SecurityContext
1
Java 位运算
Javahuhui
java 位运算
// 左移( << ) 低位补0
// 0000 0000 0000 0000 0000 0000 0000 0110 然后左移2位后,低位补0:
// 0000 0000 0000 0000 0000 0000 0001 1000
System.out.println(6 << 2);// 运行结果是24
// 右移( >> ) 高位补"
mysql免安装版配置
ldzyz007
mysql
1、my-small.ini是为了小型数据库而设计的。不应该把这个模型用于含有一些常用项目的数据库。
2、my-medium.ini是为中等规模的数据库而设计的。如果你正在企业中使用RHEL,可能会比这个操作系统的最小RAM需求(256MB)明显多得多的物理内存。由此可见,如果有那么多RAM内存可以使用,自然可以在同一台机器上运行其它服务。
3、my-large.ini是为专用于一个SQL数据
MFC和ado数据库使用时遇到的问题
你不认识的休道人
sql C++ mfc
===================================================================
第一个
===================================================================
try{
CString sql;
sql.Format("select * from p
表单重复提交Double Submits
rensanning
double
可能发生的场景:
*多次点击提交按钮
*刷新页面
*点击浏览器回退按钮
*直接访问收藏夹中的地址
*重复发送HTTP请求(Ajax)
(1)点击按钮后disable该按钮一会儿,这样能避免急躁的用户频繁点击按钮。
这种方法确实有些粗暴,友好一点的可以把按钮的文字变一下做个提示,比如Bootstrap的做法:
http://getbootstrap.co
Java String 十大常见问题
tomcat_oracle
java 正则表达式
1.字符串比较,使用“==”还是equals()? "=="判断两个引用的是不是同一个内存地址(同一个物理对象)。 equals()判断两个字符串的值是否相等。 除非你想判断两个string引用是否同一个对象,否则应该总是使用equals()方法。 如果你了解字符串的驻留(String Interning)则会更好地理解这个问题。
SpringMVC 登陆拦截器实现登陆控制
xp9802
springMVC
思路,先登陆后,将登陆信息存储在session中,然后通过拦截器,对系统中的页面和资源进行访问拦截,同时对于登陆本身相关的页面和资源不拦截。
实现方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23