-
Spring MVC3.1返回JSON格式
这两天准备把网站改为SpringMVC+JPA,但是发现SpringMVC使用`@ResponseBody`返回JSON时,一直提示`406(NotAcceptable)`。网上很多试过了,都不管用,最后干脆升级了一下版本到3.2.x,发现OK了。
Spring MVC @ResponseBody JSON -
瀑布流分页
网上看了写`jquery.infinitescroll.js`和`jquery.masonry.js`做的瀑布流分页但是都有问题,到了第二页就不行了。可能是没有找到正确的例子,下面是我自己想的一个办法解决。首先是列表:```htmlitem```下面是给出分页的连接:```html```>上面的`baseNumber`就是一个基数,如果是第一页那么`load`的就是第二页,后台判断一下使用`0+2`,如果详细翻了`4`页,那么基数就是`3`,就是这样。下面是JS代码:```javascript```还有就是加载后的页面的高度js居然显示为`0`,可能是上面还需要设置高度,但是确实不想去搞了,所以写段css解决:```css.infinite_scroll{height:auto!important;}```最重要的其实就是使用一个基数那里,其他的自己都可以搞定了。好了,我发现这个问题了,主要是使用加载图片的时候,`$('.infinite_scroll').load`关键就是这个方法了,这里应该使用方法`imagesLoaded`而不是`load`,如果使用`load`需要选择器选择的应该是图片`$('...
瀑布流 jquery.masonry.js jquery.infinitescroll.js -
HTTP断点下载
最近看了有些素材网站,很多都有断点下载的功能,自己也写了,但是发现火狐浏览器可以,但是Chrome浏览器却不行。主要的一些请求头信息如下:第一次下载:第二次下载:大概代码如下:```javaStringifRange=request.getHeader("If-Range");Stringrange=request.getHeader("Range");if(file==null||!file.exists()||!file.isFile())return;longpos=getPos(range);longavailable=file.length();Stringetag=Integer.toHexString(FilenameUt...
HTTP 断点下载 -
400小细节
其实吧,这也是一个细节小问题,仔细的人一般应该都能发现,比如说我。错误信息:```HTTPStatus400-typeStatusreportmessagedescriptionTherequestsentbytheclientwassyntacticallyincorrect.ApacheTomcat/7.0.56```这个`controller`里面其他方法都可以访问,为什么会出现`400`,其实吧,就是因为我拷贝了一个其他的方法导致的,代码如下:```java@RequestMapping(value="/amount/{code}",method=RequestMethod.GET)publicStringamount(@PathVariableStringcode,ModelMapmodelMap,HttpServletResponseresponse){```上面是原来的方法,我copy后修改变成下面的方法:```java@RequestMapping(value="/amount",method=RequestMethod.GET)publicStringamount(@PathVariable...
400错误 -
Git大冒险
最近很多人都用Git,我也是学学,我这里放到github.com上面的。首先创建一个库:这里先弄一个public的库:然后库里面就可以看到信息了:但是你发现,使用`gitclone`却不能将项目同步到本地...错误提示:`Permissiondenied(publickey).`百度了一下,找到了一篇文章:[http://blog.itpub.net/25851087/viewspace-1262468/](http://blog.itpub.net/25851087/viewspace-...
Git -
Java解压zip文件
代码如下:```java/***解压文件*@paramfilePath源文件*@paramtargetPath解压后文件*@paramdelete解压是否删除原文件*/publicstaticvoidunzip(StringfilePath,StringtargetPath,booleandelete){if(StringUtils.isEmpty(targetPath)||StringUtils.isEmpty(filePath))return;Filefile=newFile(filePath);if(!file.exists()||!file.isFile())return;if(!targetPath.endsWith("/"))targetPath+="/";Tools.createFile(targetPath,true);InputStreamis=null;ZipInputStreamzis=null;try{is=newFileInputStream(filePath);zis=newZipInputStream(is,Charset.forName("UTF-8"));java.util....
Java zip -
使用POI修改PPT文本颜色
用了一下POI修改PPT,感觉这东西好麻烦。下面是两种修改文本颜色的例子:第一种比较简单:```javaColorcolor=newColor(0,0,0);xslfTextRun.setFontColor(color);```上面这种,很容易理解。下面这个就有点点,主要是他的参数名称非常糟糕。```javaif(ctRegularTextRun.getRPr().getSolidFill()==null)ctRegularTextRun.getRPr().addNewSolidFill();ctRegularTextRun.getRPr().getSolidFill().newCursor().removeXmlContents();//删除掉多余信息,否者打开时提示错误if(ctRegularTextRun.getRPr().getSolidFill().getSrgbClr()==null)ctRegularTextRun.getRPr().getSolidFill().addNewSrgbClr();CTSRgbColorctsRgbColor=ctRegularTextRun.getRPr().ge...
POI PPT -
Java文件下载限速
之前一直使用的Spring提供的`ResponseEntity`来做下载,主要代码如下:```javaheaders.setContentType(MediaType.APPLICATION_OCTET_STREAM);headers.setContentDispositionFormData("attachment",order.getSn()+"."+FilenameUtils.getExtension(file.getName()));returnnewResponseEntity(FileUtils.readFileToByteArray(file),headers,HttpStatus.OK);```上面的代码有一些问题,就是`ResponseEntity`加载的时候是一次性把整个文件`load`到内存。那么就可能出现一些问题,例如几个用户同时下载一个200M的文件那么内存消耗非常快,而且没办法限速,也许是我没找到。那么怎么限速呢?直接贴上代码:```javaresponse.setContentType("application/octet-stream");;response.setHeader...
Java 文件下载限速 -
Linux命令轻松统计你的代码行数
上一次Boss问,写了这么久的代码,写了多少行代码统计过吗,当时我没怎么在意,后来越想越觉得这是我的劳动成果,是要自己统计下。当时我想到的是写代码统计咯,这个好像有点那啥是吧。最近我也突然想到了,经常用Linux的`wc`统计,于是乎产生了下面的一行命令轻松搞定:```bashfind./-typef-name'*.java'|xargscat|wc-l```
Linux 统计代码行数 -
MyEclipse2015重置自带Tomcat
重新安装了MyEclipse最新的2015,但是误删了servers的项目,结果启动提示:`TheTomcatserverconfigurationat\Servers\MyEclipseTomcatv7.0-configismissing.Checktheserverforerrors.`如下图:解决办法就是点击添加服务器如下图操作就可以了:
MyEclipse Tomcat -
Java使用POI读取2007+版本PPT
贴上代码,感觉读取Word,PPT,Excel这些都可以直接把文件用7z解压后,然后看主要文件的XML文件结构,然后代码自然就出来了。不多说了,直接贴上代码:```javapackagecom.acgist.ppt;importjava.io.IOException;importjava.util.List;importorg.apache.poi.openxml4j.exceptions.OpenXML4JException;importorg.apache.poi.xslf.XSLFSlideShow;importorg.apache.xmlbeans.XmlException;importorg.openxmlformats.schemas.drawingml.x2006.main.CTRegularTextRun;importorg.openxmlformats.schemas.drawingml.x2006.main.CTTextParagraph;importorg.openxmlformats.schemas.presentationml.x2006.main.CTGraphicalObject...
PPT POI Java -
百度自动提交URL
以前一直觉得在某某论坛才发表了帖子,居然百度直接收录了。原来有这个功能(百度站长主动推送),以前一直没有得到这个权限,所以一直也没做过这东西,今天发现居然有了这个权限了,立马就来写了:```javaimportjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.UnsupportedEncodingException;importorg.apache.commons.lang.ArrayUtils;importorg.apache.commons.lang.StringUtils;importorg.apache.http.HttpResponse;importorg.apache.http.client.ClientProtocolException;importorg.apache.http.client.HttpClient;importorg.apache.http.client.methods.HttpPost;importorg.apache.http.enti...
主动推送 -
Nginx对字体压缩
对应的`mime`如下:```font/x-woffwoff;font/opentypeotf;application/x-font-ttfttf;application/vnd.ms-fontobjecteot;```
Nginx 字体压缩 -
MongoDB用户权限
最近有个网站用到MongoDB,以前都没配置权限的,现在突然要用到安全的东西,网上有些文章都是旧版本的,也走了些弯路。开始配置用户的权限,用户的权限有几种,权限分得非常细,混淆了一个`dbAdmin`和`userAdmin`,我开始以为是同样的功能,原来`userAdmin`只是用来管理账号的,不能使用`showcollections...`更多详细内容参考:[http://drops.wooyun.org/%E8%BF%90%E7%BB%B4%E5%AE%89%E5%85%A8/2470](http://drops.wooyun.org/%E8%BF%90%E7%BB%B4%E5%AE%89%E5%85%A8/2470)下面是一些创建的用户##超级管理用户,用来管理所有的用户`db.createUser({user:"root",pwd:"root",roles:["userAdminAnyDatabase"]});`##数据查询用户####任何数据库的查询和创建索引等一些操作`db.createUser({user:"admin",pwd:"admin",roles:["dbAdminAnyDatabas...
MongoDB 用户权限 -
使用webfont优化网站小图标
今天发现一个很不错的网站,可以把一些ICO小图标变为字体包,这样的好处就是可以轻松的改变颜色。不多说,网站地址:[https://icomoon.io/app/#/select](https://icomoon.io/app/#/select)可以选择其他libary,但是自带的两个就非常丰富了,导出是可以配置,而且还自动记住了我选择的图标,感觉非常的人性化。还有一个阿里巴巴的库:[http://www.iconfont.cn/](http://www.iconfont.cn/)
矢量图 webfont icomoon 小图标 -
抓取网站文章
本段代码主要功能根据文章列表分页抓取文章,主要使用了`jsoup`,里面所有的选择器都可jQuery里面的选择器类似。代码如下:```javapackagecom.acgist.spider;importjava.io.IOException;importjava.net.MalformedURLException;importjava.net.URL;importjava.util.ArrayList;importjava.util.List;importorg.apache.commons.lang.StringUtils;importorg.jsoup.Jsoup;importorg.jsoup.nodes.Document;importorg.jsoup.nodes.Element;importorg.jsoup.select.Elements;/***文章抓取蜘蛛*/publicclassSpider{privateStringdomain;//文章链接地址privateStringdomainName;//文章网站名称privateStringfirstPage;//第一页privateStrin...
jsoup 网页抓取 -
Java使用POI根据模板导出Word
最近从新写了一下根据Word模板导出Word。>注意:Word只包含表格和段落,不使用表格布局。图片样式也保留,但是预先需要知道图片的资源ID。删除多余模块时,有顶部对不齐的问题。可能还存在其他细节问题。首先模板样式:下面是导出来的Word:下面贴上代码:```javapackagecom.acgist.word;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStream;imp...
POI Word模板 Java -
Linux批量压缩CSS和JS
这里需要使用到一个压缩的jar:`yuicompressor`命令如下:```bashfind./-regex'.*\.\(css\|js\)'|awk'{printf"正在压缩文件,原始大小:"}{system("du"$1)}{system("java-jar/home/yuicompressor-2.4.7.jar--charsetutf-8"$1"-o"$1)}{system("du"$1)}{print"======================================================="}'```这也是人生第一次使用awk啊,以后努力学习。
yuicompressor 批量压缩 -
CentOS7网络配置
今天安装了CentOS7,新的东西就是麻烦,以前网卡都是`ifcfg-eth0`的,现在默认的是`ifcfg-enp0s3`,里面默认配置的是IPv6的信息,IPv4的没有配置了。这时候我们把虚拟机的网卡调为桥接模式,然后修改`ifcfg-enp0s3`的配置如下:```TYPE=EthernetBOOTPROTO=staticIPADDR=192.168.1.200NETMASK=255.255.255.0GATEWAY=192.168.1.1DNS1=114.114.114.114HWADDR=08:00:27:33:3e:42DEFROUTE=yesPEERDNS=yesPEERROUTES=yes#IPV4_FAILURE_FATAL=noNAME=enp0s3UUID=f8851884-9601-4ddb-9319-81bbdb862b57DEVICE=enp0s3ONBOOT=yes```我配置完成后发现可以本地连接,但是却ping不同外网,这是因为没有配置DNS。DNS配置是后面要加上1,2等序号吧,否者也是不行的。或者可以使用`nameserver`命令配置。
CentOS7 -
JPA一对多和多对多注解
#一对多##单向```java@ManyToMany(fetch=FetchType.LAZY)@JoinTable(name="xx_order_item_rel",joinColumns={@JoinColumn(name="oir_id")},inverseJoinColumns={@JoinColumn(name="p_id")})```##双向####订单```java@ManyToMany(fetch=FetchType.LAZY)@JoinTable(name="xx_order_item_rel",joinColumns={@JoinColumn(name="oir_id")})```####商品```java@OneToMany(mappedBy="p_id",fetch=FetchType.LAZY)```#多对多```@ManyToMany(fetch=FetchType.LAZY)@JoinTable(name="t_office_rel_group",joinColumns=@JoinColumn(name="group_id"),inverseJoinColumns=@JoinCo...
JPA 一对多 多对多