在工作室原有项目的基础上,新增一个news板块进行练习PHP最基本的增删改查。
目录:
一、新建数据库
二、连接数据库
三、定义 AR 类( 创建model)
四、控制器(contoller)
五、增删改查方法
1.查找全部信息
2.通过id查找信息
3.删除新闻
4.增加新闻
5.修改新闻
一、新建一个数据库(或者利用原有数据库)
我新建了一个数据库,名为db_new。新建名为t_news的表。包含五个属性。
二、连接数据库
打开main.php , 具体目录如下:
修改本地数据库代码,将数据库名跟用户名、密码该为自己数据库对应的。
//本地的数据库
'db'=>array(
'connectionString' => 'mysql:host=127.0.0.1;dbname=db_new', //mysql:host=125.222.222.73 本地数据库
'emulatePrepare' => true,
'username' => 'root',
'password' => 'root',
'charset' => 'utf8',
'tablePrefix' =>'t_',
),
三、定义 AR 类( 创建model)
要访问一个数据表,我们首先需要通过集成 CActiveRecord 定义一个 AR 类。 每个 AR 类代表一个单独的数据表 ,一个 AR 实例则代表那个表中的一行。
在此目录下。新建PHP文件,继承CActiveRecord。
主要写两个方法,只需将第二个方法(tableName())中的return 该为自己数据库中表的名字,我的是news。
class News extends CActiveRecord
{
public static function model($className=__CLASS__)
{
return parent::model($className);
}
public function tableName()
{
return '{{news}}'; //return 't_news'
}
}
注:默认情况下, AR 类的名字和数据表的名字相同。如果不同,请覆盖 tableName() 方法。
引入的 表前缀功能 AR类的 tableName() 方法可以通过如下方式覆盖
public function tableName(){
return '{{news}}'; //return 't_news'; 表的名字
}
这就是说,我们将返回通过双大括号括起来的没有前缀的表名,而不是完整的表的名字。
四、控制器(Controller)
在controller文件夹下新建一个文件夹,命名为news。在news中新建一个名为 NewsController的controller,并继承Controller。
class NewsController extends Controller
{ ***********
}
五、编写增删改查方法
因为工作室项目的html文件都在这个目录下,因此我们在这个目录下,新建一个名为news的文件夹,我们的html就放在该文件夹下。
1.查找全部信息
(1)news下新建html文件,名为list_news.html
(2)在controller中写查看全部新闻的方法。在controller中的方法名要加action,可以自动识别。
/**
* 全部新闻
*/
public function actionGetNews(){
$list = News::model()->findAll(); //将t_news表中全部信息存到 $list中
$this->smarty->assign('list',$list);
$this->smarty->display('news/list_news.html');//跳到对应的html页面,内容展示
// var_dump($list);
}
对应list_news.html的代码
标题
操作
内容 时间
<{foreach from=$list item=news}>
<{$news.date}>
<{$news.title}> <{$news.writer}>
删除
查看详情 修改
添加
<{/foreach}>
简单展示如下图所示:
2.通过id查找信息
点击新闻页面的查看详情,可查看新闻的全部内容。
查看详情
对应controlle中的方法:
/**
* 通过id查找一条新闻
*/
public function actionGetNewsById(){
$id=$_GET['id'];
$news=News::model()->find('id=:id',array(':id'=>$id));
$this->smarty->assign('news',$news);
$this->smarty->display('news/concrete_content.html');
}
将新闻的详细信息,在concrete_content.html中进行展示。
<{$news.title}>
内容
<{$news.content}>
作者
<{$news.writer}>
时间
<{$news.date}>
简单页面展示如下:
3.删除新闻
删除
将对应新闻的id传到controller,删除对应的新闻,调用查看全部新闻方法,返回到展示新闻页面。
/**
* 删除新闻
*/
public function actionGetDeleteNews()
{
$id=$_GET['id'];
$news=News::model()->findByPk($id);
$news->delete(); // 从数据表中删除此行
$this->redirect(array(getNews));
}
4.增加新闻
< a href= "<{$website}>/news/News/toAddNews" > 添加 a >
通过controller中的方法,跳转到增加新闻页面。
/**
* 跳转到增加新闻
*/
public function actionToAddNews(){
$this->smarty->display('news/add_news.html');
}
增加新闻html
将添加的内容通过form表单,传给controller,增加新闻。
/**
* 增加新闻
*/
public function actionAddNews2(){
$news=new News;
$content=$_POST['content'];
$title=$_POST['title'];
$writer=$_POST['writer'];
$news->title=$title;
$news->content=$content;
$news->writer=$writer;
$news->save();
$this->redirect(array(getNews));
// var_dump($news);
}
简单页面展示:
5.修改新闻
修改
将要修改的新闻的id传给controller,将id对应的新闻在页面呈现出来,进行修改。
/**
* 跳转到更新新闻
*/
public function actionToUpdateNews(){
$id=$_GET['id'];
$news=News::model()->find('id=:id',array(':id'=>$id));
$this->smarty->assign('news',$news);
$this->smarty->display('news/update_news.html');
}
修改新闻页面:
标题
<{$news.title}>
内容
<{$news.content}>
作者
<{$news.writer}>
/**
* 修改新闻
*/
public function actionGetUpdateNews(){
$id=$_POST['id'];
$news=News::model()->find('id=:id',array(':id'=>$id));
$news->title=$_POST['title'];
$news->content=$_POST['content'];
$news->writer=$_POST['writer'];
$news->save(); // 将更改保存到数据库
$this->redirect(array(getNews));
}
简单页面展示:
Yii 权威指南(使用数据库)http://www.yiichina.com/doc/guide/1.1/database.ar
你可能感兴趣的:(语言学习)
C语言学习 - continue跳转语句
Hyso
continue跳转语句的使用用于for循环语句、while循环语句、dowhile循环语句中,跳过本次循环中剩余的语句而执行下一次循环。continue跳转语句的实例:#includeintmain(coid){intsum=0;inti=1;while(i<=100){sum+=i;i++;if(i==50){continue;}printf("i=%d\n",i);}printf("sum=
坚持自己,而不是被环境改变·115天(Youtube语言学习方法)
左撇子槿希
图片发自App1.Pleaseremovetheblackpart/bit.黒い(くろい)ところは取り除(とりのぞ)いてください。2.I’mlookingoraplacetostay.泊まる(とまる)所(ところ)を探(さが)しています。3.Doyouknowwhoisthatperson?あの人は誰(だれ)か知っていますか。4.Whichrestaurantischeap?レストランはどこが安い(
golang-阅读雨痕大神的Go语言学习笔记的心得
炒股养惠
golang学习之旅 go
golang-阅读雨痕大神的Go语言学习笔记的心得第一章概述1.1go与java中的局部变量初始化问题1.2golang中实现生产者消费者模型,利用管道进行数据通信第二章类型2.1类型推断的使用注意2.2常量与变量的区别2.3常量的值类型省略2.4go的枚举2.5常量和变量到底有什么区别2.6go基本类型2.7go引用类型2.7.1go中new与make的区别第一章概述1.1go与java中的局部
什么是语言发育迟缓?我们应该怎么做?
微笑彩虹
005期王宇宁专栏“老师,我家孩子现在三岁了,只会叫爸爸、妈妈,是不是发育迟缓呀?”“我家孩子一岁多的时候会说话,但是现在不说话了,是不是发育迟缓?”上面的问题,都是家长经常咨询我们的问题,那,到底什么是语言发育迟缓呢?语言发育迟缓是指儿童的语言发育没有达到与其年龄相应的水平,但不包括由听力障碍而引起的语言发育迟缓及构音障碍等其他语言障碍类型。主要表现为语言学习障碍,如不会说话、只能说单词、语言不
C语言学习笔记:内存的五大分区
五虎蘸酱
C语言学习笔记 c语言 开发语言
在C语言中,进程可在内存中分别存入五大分区:1、text:也称为代码段,其中主要用于存放二进制指令、常量、被const修饰过的初始化过的全局变量、静态局部变量;该分区为只读权限,若强制修改将会产生段错误。2、data:也称为数据段,其中主要用于存放初始化过的全局变量、静态局部变量。3、bss:也称为静态数据段,主要用于存放未初始化过的全局变量、静态局部变量。Ps:该段内存在进程运行前自动清理为04
MySQL学习笔记2—基础+条件+排序+分组查询
Jake_SunJG
MySQL学习 mysql
DQL语言学习—数据查询语言仅作为学习笔记,学习资源来源于B站视频:BV1xW411u7ax1.基础查询语法:select查询列表from表名特点:查询列表可以是:表中的字段、常量值、表达式、函数查询的结果是一个虚拟的表格USEmyemployees;#1.查询表中的单个字段SELECTlast_nameFROMemployees;#2.查询表中的多个字段,逗号分隔SELECTlast_name,
培养孩子语言表达能力必须掌握的三个原则
用力读书用心做人
每天进步一点点,坚持带来大改变[if!supportLists]一、[endif]简单。语言学习最讲究氛围和环境。跟孩子对话句子要简短,一个句子中不能超过两个要点。单一对应,关注当下。比如你教给孩子“红色”,出示的题板上应该只有红色,而不能底色是红色,上面还画有一只苹果。我要求孩子每天坚持写一句话。昨天孩子写的是“我和爸爸姥姨家玩”,我给他添了一个“去”字,并且用了一撇一捺的修改符号。结果孩子在抄
C语言学习笔记(二)
abi_gydm
C语言学习笔记 学习 c语言
目录第一章程序流程控制一、顺序控制二、分支控制之if-else1.单分支2.双分支3.多分支4.嵌套分支三、分支控制之switch注意事项使用建议四、循环控制1.for循环2.while循环3.do...while循环4.多重循环控制五、跳转语句1.跳转控制语句之break2.跳转控制语句之continue3.跳转控制语句之goto4.跳转控制语句之return第二章枚举注意事项第三章函数一、函数
C语言学习——函数
木木ᶻ
C语言 c++ c语言
目录八、函数8.1概述8.2函数定义的一般形式无参函数有参函数空函数8.3函数参数和函数的值形式参数和实际参数函数的返回值8.4函数的调用函数调用的一般形式函数调用的方式1.函数语句2.函数表达式3.函数参数对被调用函数的声明和函数原型8.5函数的嵌套调用8.6函数的递归调用八、函数8.1概述一个较大的程序一般应分为若干程序模块,每一个模块用来实现一个特定的功能。所有高级语言中都有子程序这个概念,
Go语言学习笔记——正则表达式
PPPsych
Go精进 正则表达式 学习 golang
文章目录Golang正则表达式Golang正则表达式语法单一复合重复分组位置标记转义序列可以将“命名字符类”作为“字符类”的元素`Perl类`取值如下`ASCII类`取值如下`Unicode类`取值如下---普通类`Unicode类`取值如下---脚本类Golang正则入门实例综合实例演示Golang正则表达式正则表达式,(英语:RegularExpression,在代码中常简写为regex、re
输入文字转化语音
李洋-蛟龙腾飞公司
HarmonyOS
一、介绍基于鸿蒙Next模拟一个输入用户文字,转化成语音播报效果二、场景需求辅助功能:为视障人士提供帮助:将文字内容转化为语音,使视觉障碍用户能够获取信息。教育与学习:语言学习:帮助学习者通过听力学习语言,提供正确的发音。有声读物:将电子书或教材转化为有声形式,方便学习和阅读。客户服务:自动语音应答系统:在客户服务热线中,通过语音播报来解答常见问题或提供信息。智能设备:智能家居助手:例如,Goog
zhuan 漫谈C语言及如何学习C语言
weixin_34112900
转载云风最近写了一篇博客《C语言的前世今生》。作为长期使用C语言开发网络游戏服务器的程序员,云风是有理由写这样一篇文字,不过还是感觉谈的不够深入,C语言在业界使用的现状没有怎么描写,有些意犹未尽。在这里想比较系统的谈谈个人对C语言学习方式方法的理解。分别按照书籍、实验环境搭建、网络资源来分别介绍,希望能写的比较完整全面一些,给想学习C语言的朋友一个有价值的参考。为什么要学习C语言?为什么要学习、使
万变不离其宗
姚Fay
又是一整天上课下来,发现孩子们的语言学习,其实只有一个窍门。那就是借助各种场景,各种辅助的手段,将对应的文字背诵下来。刚好在脑袋有些短路,接下来的工作还不想继续的时候,翻到了一篇百岁老人-翻译界泰斗,写他当年学英语就有一个法宝:背诵。当然,另外一个法宝就是持续不断的进行训练,将之前背过的东西,深深地刻在大脑里。到了如今岁数,他还是会每天翻译到凌晨两三点才睡觉。不论何种工作,原则都是一样:想要比任何
030_0302摘录_694/1052
haitangwei
心理适应能力比身体更强随着年龄增大,身体的适应能力可能差了许多,但心理的适应能力依然十分强大。而且,心理和身体的适应模式,也是完全不同的。众所周知,会说两门或更多门语言的人,其大脑的一些部位之中,脑灰质含量更多一些,特别是在人们已知的、在语言学习方面发挥着作用的下顶叶皮层区中。成年人的学习很可能通过与未成年人稍有不同的机制来发生。但如果我们成年人也足够刻苦,我们的大脑也会找到相应的办法。成年人也可
R 语言学习教程,从入门到精通,Java 中操作 R(27)
知识分享小能手
学习心得体会 数据分析 大数据 r语言 学习 java 开发语言 numpy 大数据 数据分析
1、Java中操作R首先,在R中安装软件包“Rserve”。如果你使用的是RGui可视化界面,在菜单栏的程序包-安装程序包里可以完成这个步骤。如果你使用的是纯粹的RConsole,可以使用以下命令:install.packages("Rserve",repos="https://mirrors.ustc.edu.cn/CRAN/")当Reserve安装完成之后,在R的根目录下会有一个library
C语言学习记录4
XSR_yeah
学习
今日学习了注释和对于条件语句和和循环语句的初识:1.注释:用于解释代码。两种方式:1.代码前加//2.在被注释代码上一行加/*,在被注释代码下一行加*/。(C语言的注释不支持嵌套)2.初始条件语句与循环语句:两者与python语句相似,条件语句用if和else,循环语句用for,while,dowhile后面将加快进程,开始着手竞赛准备
C语言学习记录(三)
Tian Sifan
C语言 学习
我们紧接上篇的内容,上节我们提到了数据类型以及一些运算符,这节我决定给大家分享一下顺序结构,让大家更加深入理解、以及能达到自己运用运算符完成一些与顺序结构相关的简单的题目。一.顺序结构顺序结构是三大基础结构中最简单也是最容易的,其实现方式为从上至下依次进行,不需要进行任何判断,它是由一系列按特定顺序执行的操作组成,每个操作完成后才会执行下一个操作,这种执行过程就像按照任务列表逐项完成一样,依照线性
Go语言学习笔记——Golang 1.18新特性工作区workspace
PPPsych
Go精进 学习 golang vscode
文章目录Golang1.18新特性工作区workspace需求分析实现步骤Golang1.18新特性工作区workspace需求分析加入现在我们把一个大的项目分成了两个项目,一个项目是基础模块,用来实现项目的公用功能。第二个项目要依赖第一个项目,注意:这里提到的是项目,而不是模块。解决方法有二:把第一个项目创建好,提交到github,第二个项目使用goget下载。第二个就是我们今天提到的使用Gol
C语言学习第十五课(文件操作)
kdnnnd
C语言基础笔记 c语言
第十五课1,文件的概念文件一般指存储在外部介质(如磁盘磁带)上的集合;2,流的概念·操作系统是以文件为单位对数据进行管理的,输入输出是数据传送的过程,数据如流水一般从一处流向另一处,因此将输入输出形象地称为流,即输入输出流;·C语言把文件看作是一个字符(字节)的序列,即由一个一个字符(字节)的数据顺序组成。·一个输入输出流就是一个字节流或者二进制流;3,文件名1,概念:一个文件要有一个唯一的文件标
R 语言学习教程,从入门到精通,R 绘图饼图(22)
知识分享小能手
数据分析 大数据 学习心得体会 r语言 学习 开发语言 python 大数据 绘图 统计学
1、R绘图饼图R语言提供来大量的库来实现绘图功能。饼图,或称饼状图,是一个划分为几个扇形的圆形统计图表,用于描述量、频率或百分比之间的相对关系。R语言使用pie()函数来实现饼图,语法格式如下:pie(x,labels=names(x),edges=200,radius=0.8,clockwise=FALSE,init.angle=if(clockwise)90else0,density=NULL
Go语言定时器Timer和Ticker到底怎么用
CodeJR
GoLang golang go 开发语言 后端
原文链接,可获取更多Go语言学习资料概述在日常开发中,我们不可避免的需要使用到定时任务用来处理业务逻辑。在Go语言中内置的有两个定时器,Timer和Ticker,合理的使用这两个定时器可以很好的解决定时任务的需求,同时除了这两个内置的定时器外,还有另外的三方库也可以用来完成定时任务的需求。Timer简介Timer定时器可以在指定时间后执行一次,使用time包中的NewTimer方法传入间隔时间参数
R 语言学习教程,从入门到精通,R MySQL 连接使用(21)
知识分享小能手
学习心得体会 大数据 数据分析 r语言 学习 mysql 开发语言 大数据 android 数据分析
1、RMySQL连接MySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:关系数据库管理系统)应用软件之一。R语言读写MySQL文件需要安装扩展包,我们可以在R到控制台输入以下命令来安装:install.packages("RMySQL",repos="https://mirrors.ustc.
如何学好一门语言
时歌
像我们这种费尽周折,甘愿背井离乡,申请到一个短暂出国的机会,是为了什么?做出这样一个决定,虽然是很多因素共同作用的结果,但是,首当其冲必然是为了提升英语水平。对于语言学习,尤其是英语,我的认知也在不断发生变化:01语言,不只是一门专业记得大学时代,我选择英语专业的时候,并没有觉得学习语言有多么重要。英语专业,在我看来,和其他的专业,例如汉语言文学、计算机科学、土木建筑等专业,没有什么不同。选择英语
许三多行动英语之训练标准
唐毓烽变形金刚英文句法
④许三多英语行动的一般操作方案1.语言技能熟练的几个标准语言技能是语言运用能力的重要组成部分,主要包括听、说、读、写等以及这些技能的综合运用。从信息控制的角度来说,听和读是信息输入方面的技能,说和写是信息输出的技能。而信息的编码,解码,重组,往往需要这些基本技能的综合运用,它们在语言学习和交际中相辅相成、相互促进。因此,听、说、读、写既是英语学习的内容,也是学习过程中的训练手段。对于英语教师而言,
中年人开发语言学习之路,反其道而行之
MavenTalk
个人成长 开发语言 学习
大家都更愿意学习新技术、新架构,代表着新方向新趋势,当大家都这么想的时候,注定了竞争就会激烈。有一部分中年程序员,反其道而行之,学习一些老掉牙的开发语言,向哪些近乎被遗忘的老旧系统进军。市面上依旧存在一些老旧的开发语言,除了COBOL之外,还包括FORTRAN、Assembly、Pascal、Ada等。这些语言中的一些,如FORTRAN,曾经在科学和工程计算领域占据重要地位,而Assembly语言
计算机学习
程序员牛马家
java
不要只盯着计算机语言学习,你现在已经学习了C语言和Java,暑假又规划学习Python,最后你掌握的就是计算机语言包而已。2.建议你找一门想要深挖的语言,沿着这个方向继续往后学习知识就行。计算机语言是学不完的,而未来就业找工作要从事技术岗位,需要不仅仅是计算机语言的,还得学习数据结构和算法、操作系统、计算机网络、数据库、还得做实战项目等等。java不敢用ChatGPT水论文了!OpenAI反作弊工
Linux C语言学习 内存管理 链表
linux快速学
Linux 学习 c语言 linux 算法
内存管理:1.操作野指针会导致程序崩溃注意:操作指针时,注意指针指向的空间是否存在?是否可用?2.避免产生内存溢出:1.存储越界当使用strcat、strcpy、strcmp函数时可能会产生内存越界应该用strncat、strncpy、strncmp函数替代2.越界访问数组避免越界访问字符串缺少\0导致的越界访问3.堆区空间的使用:mallocvoid*malloc(size_tsize);fre
C语言学习第十五天
Only.
c语言 学习 算法
堆区空间的使用mallocvoid*malloc(size_tsize);功能:申请size个字节的堆区空间参数:size:申请空间的大小返回值:如果成功,返回指向申请空间的指针如果失败,返回NULLfreevoidfree(void*ptr);功能:是发放堆区空间参数:prt:堆区空间首地址返回值:缺省
python从入门到精通自学教程_Python从入门到精通
weixin_39870413
本课程详细介绍了Python语言学习的基础阶段,需要掌握的知识点、命令、语法及编程思想,并在知识点学习期间插入尽可能多的程序练习,以此让同学们能够通过实际动手编程,由浅入深的掌握所学知识点的运用。本课程共分10个小节:第1节《Python介绍》概要的介绍Python语言,让初学者了解Python语言并明确Python语言的特点;第2节《Python安装》介绍Python语言学习前的准备工作,进行P
《怎样成为一名优秀英语教师》读书笔记5
芳草June
(文刘俊芳)第五章《理解英语学习》主要内容梳理如下:1.作为英语教师要重视培养文化意识。任何一门自然形成与发展的语言,都有丰富的文化内涵,是民族文化和社会知识的重要载体。英语文化主要指英语国家的历史、地理、风土人情、传统习惯、生活方式、行为规范、价值观念等。接触与了解英语文化,有利于加深对语言学习的理解,激发学习兴趣,也有利于形成跨文化交际能力。首先,教师要多学习点“知识文化”。什么是“知识文化”
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