Django编写第一个app

看了一天的The Django Book,被Django的两点多吸引,1是自己配置url形式,这个真的太方便了,想当时为了为了仿notepad.cc的url形式,研究了半天的.htaccess。。。WordPress的自定义固定链接我不知道是怎么实现的,Django到能轻易实现,url可以变得非常灵活;2是Model和数据库的对应,在SSH架构中,需要一个hbm.xml和一个实体类,Django里只需定义class即可,而且可以直接说明many-to-many或one-to-many,非常快。当然忍不住也想自己试试敲几行代码,这个app非常简单,实现了用户登陆的功能,显示一个表单供用户登陆,成功就显示成功。

Continue reading

Struts2 jQuery 实现无刷新验证

在注册时我们需要验证用户所输信息的正确性,如果待用户提交表单一次性验证,体验不是很好,所有我们可以利用jQuery实时验证,很多网站都有这个功能,这里我们也简单的来实现一下。以验证用户名为例,可以这样实现:当用户名的输入框失去焦点时,利用jQuery的post方法通过HTTP POST 将用户名以JSON格式传向服务端,服务端接收数据判断后以JSON格式传给jQuery的回调函数即可,很简单的。

Continue reading

Struts 防止表单重复提交

最近开发中碰到了一个重复提交表单的问题,这应该这个非常危险的问题,可能会造成数据库增加大量数据,看了几种解决办法,有用JS提交后将button改为disable的,这其实并没有解决,特别是网络不流畅情况下,也有用cookie的,这里介绍一下Struts的Token机制,基本原理:服务器端在处理到达的请求之前,会将请求中包含的Token值与保存在当前用户会话中的Token值进行比较,看是否匹配,在处理完该请求后,且在答复发送给客户端之前,将会产生一个新的Token,该Token除传给客户端以外,也会将用户会话中保存的旧的Token进行替换,这样如果用户回退到刚才的提交页面并再次提交的话,客户端传过来的Token就和服务器端的不一致,从而有效地防止了重复提交的发生。

Continue reading

PHP实现URL重写

WordPress的文章大部分地址都是url重写的,下面介绍下利用.htaccess实现url重写。

首先看一个地址:http://yilee.info/notepad1/note/yilee 这个地址的yilee其实是虚拟的,note也并不是一个文件夹,实现起来很简单,在目录下加个.htaccess文件,内容是:

<Files note>
    ForceType application/x-httpd-php
</Files>

ok,第一步完成,很容易理解,Apache看到note的url都会当做PHP去处理,在note里我们就要处理这个url了,上PHP代码:

<?php
    $fields = explode(‘/’, $_SERVER['REQUEST_URI']);
?>

$fields是一个数组,其中$fields[3]就是本文中yilee,其它可以自己尝试,重写完毕,剩下的就靠自己发挥了。

使用Dropbox对虚拟主机进行备份

对网站进行备份是一个好习惯,将网站备份到其他网盘或者保存在自己的计算机上, 保证我们自己的网站万无一失,当出现意外时我们可以根据备份还原我们的系统。

对于备份自己的网站, 一般分成两个部分:网站程序和数据库。

cPanel已经提供了文件备份和数据库备份,而且也很方便,一键就可以备份整站,不过不能实现增量备份。

下面说一下用Dropbox备份虚拟主机,没有Dropbox的可以用http://db.tt/CFMycEr这个地址注册, 在原来基础上可以多加500M容量,自行解决翻墙问题。

要求是拥有国外的Linux虚拟主机(国内访问较困难。。。),而且虚拟主机需要有SSH权限。

Continue reading