分类
Web

文件共享之WebDAV

做一个文件服务器,常用的共享方式有:NFS、Samba、FTP、SFTP、WebDAV。对比这几种方式:

NFS:Linux默认文件共享协议,适合在Linux系统,跨平台使用很不方便。排除。

Samba:Windows文件共享协议,跨平台好,在Windows资源管理器内就能打开使用。但是要用在公网上不方便。排除。

FTP:协议不安全,有主动模式和被动模式,在公网上穿透也不方便。排除。

SFTP:基于SSH,一般用它做共享文件服务器很少,需要安装额外工具软件,性能不如Samba和NFS。排除。

WebDAV:一种基于 HTTP 1.1协议的通信协议。它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。

综上,WebDAV是最好适合我的选择。主流Nginx、Apache等Web服务器都支持WebDAV。因为Web服务器本来就在公网上,基于WebDAV共享,用户可以用浏览器或专用工具,通过80端口直接访问。

分类
Web 日记 笔记

JS分页与表生成

几年前有写过一个js分页插件传到github上,插件主要做了页码的生成。但实际开发中,其实还可以把表格生成一起做了,能减少很多重覆的工作。于是写了新的js分页插件,增加表格生成。

插件依赖jquery,表格需严格按规范,显示数据应该用tbody包含起来,变量声名如图:

分类
Web 笔记

利用Access-Control-Allow-Origin解决跨域请求

传统的跨域请求没有好的解决方案,无非就是jsonp和iframe,随着跨域请求的应用越来越多,W3C提供了跨域请求的标准方案(Cross-Origin Resource Sharing)。IE8、Firefox 3.5 及其以后的版本、Chrome浏览器、Safari 4 等已经实现了 Cross-Origin Resource Sharing 规范,实现了跨域请求。

在服务器响应客户端的时候,带上Access-Control-Allow-Origin头信息。
如果设置 Access-Control-Allow-Origin:*,则允许所有域名的脚本访问该资源。
Access-Control-Allow-Origin:http://www.wangzhengzhen.com,允许特定的域名访问。

如JAVA添加响应头信息:

response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST,GET");
分类
Web 笔记

JS分页插件

查询分页几乎是每个系统都会用到的,之前用JSP写了一个分页组件,但是使用起来不太访便,需要在导入分页组件的页面上重写一个javascript的查询方法。所以我进行了改进,用纯javascript实现,写了一个新的分页插件。这个版本的分页插件不仅必免重写查询方法,还增强了通用性。因为是javascript实现,所以除了适用于java,也适用于php、.net等。其实这个分页插件是13年上半年就写好了的,一直在使用,没有发现bug。

使用时需要引入jquery和分页插件本身js文件。

<script src="./jquery.js" type="text/javascript">
<script src="./paging.js" type="text/javascript"></script>
<script type="text/javascript">
var paging = $.paging({
               id:"paging",
               current:"${paging.current }",
               row:"${paging.row }",
               count:"${paging.count}",
               total:"${paging.total}",
               url:queryUrl,
               condition:{}
               });
</script>