java
zheng963
这个作者很懒,什么都没留下…
展开
-
JAVA 开发规范标准(集合)
JAVA 开发规范一、编程规约 (一)命名规约 1. 【强制】 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符 号结束。 反例:_name / __name / $Object / name_ / name$ / Object$ 2. 【强制】 代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的 方式。说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,即使纯 拼音命名方式也要避免采用。 反例:DaZhePromotion...原创 2020-12-08 16:45:10 · 1833 阅读 · 0 评论 -
java对redis的基本操作
一、server端安装 1、下载 https://github.com/MSOpenTech/redis 可看到当前可下载版本:redis2.6 下载windows平台文件: 解压后,选择当前64位win7系统对应的版本: 2、安装 1)解压后将里面所有文件拷贝至redis安装目录:转载 2015-09-07 16:38:32 · 361 阅读 · 0 评论 -
HTTP 访问接口封装,app开发中常用。
HttpKit.java import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileIn转载 2015-09-11 14:22:31 · 538 阅读 · 0 评论 -
使用 Google Guava 美化你的 Java 代码
1-使用 GOOGLE COLLECTIONS,GUAVA,STATIC IMPORTS 编写漂亮代码写在前面:以前在一个项目中用到过guava,当时匆匆用,也没细研究,今天偶然在occhina看到这个系列教程的翻译,感觉不错,介绍得还比较全面,就一口气全看完了,但看到第四节,发现还没翻译,于是自己就硬着头皮看了英文,发现也能看懂大概意思,就顺手翻译了一下,也算是为开源事业做点儿贡转载 2015-09-02 15:40:33 · 2786 阅读 · 1 评论 -
FilenameFilter总结
一、FilenameFilter介绍java.io.FilenameFilter是文件名过滤器,用来过滤不符合规格的文件名,并返回合格的文件;一般地:(1)String[] fs = f.list();(2)File[] fs = f.listFiles();这两个方法返回f下的所有文件或目录;FilenameFilter用来把符合要求的文件转载 2015-09-01 10:32:09 · 361 阅读 · 0 评论 -
java之redis篇(spring-data-redis整合)
redis的知识:官网1,利用spring-data-redis整合项目使用的pom.xml:project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mave转载 2015-08-28 18:14:41 · 3079 阅读 · 0 评论 -
Java Web基础——自定义标签和JSTL
因为在Struts2中使用到了很多该框架的自定义标签的使用,所以在此特别梳理了一下有关的知识体系标签(动作)的一般语法为:,如,该标签的作用是把copyright.jsp页面的输出包含到当前页面的输出中我们先来看一下常用的标准JSP动作动作指令,又可以叫做标签指令:jsp:include 在当前页面包含另一个页面的输出jsp:forward 将请求转发到指定转载 2015-08-10 17:28:23 · 425 阅读 · 0 评论 -
Java 大牛养成计划
J2EE========================================================================1、Java常识:历史、特点、工作原理、运行环境JRE、开发工具(Eclipse或MyEclipse/NetBeans)2、Java开发环境:JDK (Java 语言的软件开发工具包),JRE,IDE选择Eclipse/MyEclipse、原创 2015-08-10 15:34:27 · 3443 阅读 · 0 评论 -
httpclient http接口调用
使用httpclient实现http接口调用实例假设服务接口如下:接口地址: http://192.168.0.1/service/sendsms请求方式: post需要传递参数: c= {"uid":"10000","title":"test a title","content":"this is a test"}参数内容为json格式输出:{转载 2015-08-10 10:08:12 · 1329 阅读 · 0 评论 -
java web项目防止多用户重复登录解决方案
目前web项目中,很多情况都是可以让同一个账户信息在不同的登录入口登录这次,这样子就不那么美好了。现在有两种解决方案:1、将用户的登录信息用一个标志位的字段保存起来,每次登录成功就标记1,注销登录就标记为0,当标记为1的时候不允许别人登录。2、将用户的登录信息保存在application内置作用域内, 然后利用session监听器监听每一个登录用户的登录情况。很显然原创 2015-08-25 09:21:22 · 1915 阅读 · 1 评论 -
连接池 druid(阿里巴巴的框架)
说的是现在最好的连接池注:属性跟 dbcp 连接池的差不多.加入了 filters 监控(value 值要有 stat) 在web.xml里加入下面的Servlet 就可查看 例: http://localhost:8080/BenbearGame_test/druid跟spring 一起用时( 只要配置 initialSize maxActive转载 2015-07-07 14:45:31 · 1571 阅读 · 0 评论 -
java.sql.SQLException: 关闭的连接 解决办法
程序如果长时间不进行数据库操作,那么数据源中的 Connection 很可能已经断开。其原因有可能是防火墙,或者连接的数据库设置的超时时间。这里使用的是 C3P0 连接 oracle 数据库,引起的异常信息为: org.springframework.transaction.TransactionSystemException: Could not roll back H转载 2015-07-07 14:27:43 · 41226 阅读 · 2 评论 -
session过期后自动跳转到登陆页
项目需要做一个自动登出的功能,查询了网上的资料,一开始准备用session监听做,按照下面方式配置监听器1.在项目的web.xml文件中添加如下代码:?1234listener>listener-class> 监听器路径 listener-class>listener>转载 2015-07-06 13:29:00 · 12175 阅读 · 1 评论 -
如何解决XML5619: 文档语法不正确
我就说说我遇到的问题,总是报XML5619: 文档语法不正确的错误,后来经过分析发现是数据的问题,数据从前端传到后台,再从后台传到前端,再经过分析发现是后台传到前端的时候出现了问题,再进一步发现后台打包好的数据是没问题的(我用的json格式)。也就是说这数据传给前端之后,前端把这数据给弄的不对了。 最后在网上找到了一个提问,发现有人的解决方案是:在写的对应的action类里加上这两行转载 2015-07-03 13:19:44 · 5643 阅读 · 0 评论 -
ajax访问遇到Session失效问题
最近由于一个项目,模块切换为ajax请求数据,当Session失效后,ajax请求后没有返回值,只有响应的html:window.open('http://192.168.0.118:8080/welcomeAction/loginUI.do','_top');现在Ajax在Web项目中应用广泛,几乎可以说无处不在,这就带来另外一个问题:当Ajax请求遇到Session超时,应该怎么办?显原创 2015-06-11 13:14:53 · 5500 阅读 · 2 评论 -
Logback 配置
1. 缘起写代码中的日志是一个除了用代码实现功能之外最基础最基础的一个技能了,是一个必须掌握的技能。但是目前为止,关于如何日志的文章和书籍还是不多。1.1 写日志的必要性碰到QA提的一个bug的时候,我见识过两种方式的答复:a)请给我重现步骤和重现数据;b)把当时的日志给我。答复前者的,一般需要花很多时间去找问题出现在那里,如果是别人开发的模块的话,花费的时间更多。答复后者的,一般能很转载 2015-07-07 16:16:31 · 2267 阅读 · 0 评论 -
EqualsBuilder和HashCodeBuilder
自动化hashCode()和equals() 问题产生:当需要自动实现hashCode()和equals()方法 解决方法:使用EqualsBuilder和HashCodeBuilder 使用举例: import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commo转载 2015-06-08 14:19:19 · 596 阅读 · 0 评论 -
Java缓存Ehcache-Ehcache的Cache预热机制及代码实现(Cache Warming for multi-tier Caches)
Ehcache中Cache预热机制Cache预热机制简介Ehcache在程序启动的时候并不会立即去加载位于磁盘上的数据到内存,而是在数据被用到的时候去加载(lazy load)。因此在cache启动的时候,其内部没有数据。如果我们想在用到这些数据之前,它们全部被装载进内存,应该怎么做?Ehcache提供了BootstrapCacheLoader机制来解决这个问题,在转载 2015-06-29 14:00:24 · 949 阅读 · 0 评论 -
Java文件下载
Java文件下载的几种方式 public HttpServletResponse download(String path, HttpServletResponse response) { try { // path是指欲下载的文件的路径。 File file = new File(path);转载 2015-09-29 16:12:27 · 477 阅读 · 0 评论 -
Java模板引擎---Velocity
Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅使用简单的模板语言(template language)来引用由java代码定义的对象。应用当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员原创 2015-09-06 15:00:14 · 724 阅读 · 0 评论 -
获取java项目根目录
一 相对路径的获得说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目)String relativelyPath=System.getProperty("user.dir"); 上述相对路径中,java项目中的文件是相对于项目的根目录web项目中的文件路径视不同的web服务器不同而不同(tomcat是相对于 tomcat安装目录\b转载 2015-09-29 16:15:20 · 2085 阅读 · 0 评论 -
Java中&&和&以及||和|的区别
在java的逻辑运算符中,有这么四类:&&(短路与),&(与),|(或),||(短路或)。&&和&都是表示与,区别是&&只要满足第一个条件,后面条件就不再判断。而&要对所有的条件都进行判断。看下面的程序:“&”操作:Java代码 public class OperateDem...原创 2015-02-25 11:08:03 · 206 阅读 · 1 评论 -
利用反射进行深层克隆
我们大家都知道,对一个对应进行复制有二种比较好的方式,一种就是序列化,另一种就是克隆。使用序列化进行复制很方便,因为此种方式会自动进行深层复制,只需要我们将要序列化的对象所对应的类实现序列化标示性接口Serializable,它就会将对象里所引用的其他对象一并复制,但此种效率不及Object里的clone克隆方法。不过使用clone进行克隆却是浅复制,它不会自动将对象里所引用的其他对象进行深层克隆转载 2017-03-17 15:57:42 · 2531 阅读 · 0 评论 -
Java并发编程:Callable、Future和FutureTask
在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。 而自从Java 1.5开始,就提供了Callable和Future,通过它们可以在任务执行完毕之后得到任务转载 2016-09-22 09:24:31 · 378 阅读 · 0 评论 -
Java图片处理的类库:SimpleImage
介绍Java下处理图形是一件很头疼的工作, 这方面Java虽然提供了JAI/ImageIO API组件让程序员可以完成大量的操作, 但是, 由于固有一些缺陷, 导致应用的稳定性/常用功能受到极大的影响。 另外一些C/C++制作的图形库存在各种各样的问题, 比如由之封装的Java API JImageMagic, 稍微大点压力的群集可能每天造成数次的崩溃 。SimpleImage转载 2016-04-27 14:08:27 · 17171 阅读 · 2 评论 -
[Java Web]敏感词过滤算法
1.DFA算法DFA算法的原理可以参考 这里 ,简单来说就是通过Map构造出一颗敏感词树,树的每一条由根节点到叶子节点的路径构成一个敏感词,例如下图:代码简单实现如下:public class TextFilterUtil { //日志 private static final Logger LOG = LoggerFactory.getLogger(TextF转载 2016-03-24 10:36:23 · 2718 阅读 · 0 评论 -
Spring Test+JUnit完美组合
本着“不写单元测试的程序员不是好程序员”原则,我在坚持写着单元测试,不敢说所有的Java web应用都基于Spring,但至少一半以上都是基于Spring的。发现通过Spring进行bean管理后,做测试会有各种不足,例如,很多人做单元测试的时候,还要在Before方法中,初始化Spring容器,导致容器被初始化多次。[java] view plain转载 2016-02-22 15:33:40 · 11843 阅读 · 1 评论 -
java 使用反射转换对象 Object to Map
Object to Map 转换的三种方法就是把对象以及其对应的属性名 和属性值, 映射到一个Map中[java] view plaincopyimport java.beans.BeanInfo; import java.beans.IntrospectionException; import j转载 2015-12-23 18:23:55 · 812 阅读 · 0 评论 -
json-lib 之jsonConfig详细使用
一,setCycleDetectionStrategy 防止自包含Java代码 /** * 这里测试如果含有自包含的时候需要CycleDetectionStrategy */ public static void testCycleObject() { CycleObject object = new Cycle转载 2015-12-22 17:38:38 · 489 阅读 · 0 评论 -
JAVA中使用FTPClient上传下载
在JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上传文件、下载文件,本文简单介绍如何利用jakarta commons中的FTPClient(在commons-net包中)实现上传下载文件。一、上传文件 原理就不介绍了,大家直接看代码吧[Java] view plaincopy/** * Descri转载 2016-01-06 14:55:45 · 397 阅读 · 0 评论 -
spring3.1和quatz2实现数据库持久化和动态加载
在这里我用的版本是spring3.1.1和quartz2.1.1,。原来用的是spring3.0,但是每次quartz启动之后都是跑第一次 或者第二次定时任务之后job的状态就变成ERROR了,然后定时任务就一直跑不了了。后来把spring升为3.1.1后问题就好了。下面开始说实现的步骤吧首先 要先在项目中导入相关的jar包。这里我就不多说了,可以到官网上去下载,s转载 2015-11-30 09:34:30 · 451 阅读 · 0 评论 -
Java通过浏览器请求头(User-Agent)获取 浏览器类型,操作系统类型,手机机型
User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。一些网站常常通过判断 UA 来给不同的操作系统、不同的浏览器发送不同的页面,因此可能造成某些页面无法在某个浏览器中正常显示,但通过伪装 UA 可以绕过检测。一:获得浏览器请求头中的User-Agen转载 2015-11-27 13:28:51 · 9003 阅读 · 0 评论 -
xStream完美转换XML、JSON
xStream框架 xStream可以轻易的将Java对象和xml文档相互转换,而且可以修改某个特定的属性和节点名称,而且也支持json的转换; 前面有介绍过json-lib这个框架,在线博文:http://www.cnblogs.com/hoojo/archive/2011/04/21/2023805.html以及Jackson这个框架,在线博文:http://www.cnblo转载 2015-12-28 17:12:43 · 389 阅读 · 0 评论 -
java.io.tmpdir 所指地址
操作系统不同 这个系统属性所表示的目录也不同On Windows: java.io.tmpdir:[C:\DOCUME~1\joshua\LOCALS~1\Temp\]On Solaris: java.io.tmpdir:[/var/tmp/]On Linux: java.io.tmpdir: [/tmp]On Mac OS X: java.io.tmpdir:转载 2015-11-25 14:30:34 · 6162 阅读 · 0 评论 -
x-requested-with 请求头 区分ajax请求还是普通请求
在服务器端判断request来自Ajax请求(异步)还是传统请求(同步): 两种请求在请求的Header不同,Ajax 异步请求比传统的同步请求多了一个头参数 1、传统同步请求参数 accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 accept-charset转载 2015-11-24 11:17:20 · 1595 阅读 · 0 评论 -
Java自定义注解和运行时靠反射获取注解
java自定义注解Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用。包含在 java.lang.annotation 包中。1、元注解元注解是指注解的注解。包括 @Retention @Target @Document @Inherited四种。1.1、@转载 2015-11-23 09:56:33 · 1922 阅读 · 0 评论 -
jar 打包详解
JAR 文件就是 Java Archive File,顾名思意,它的应用是与 Java 息息相关的,是 Java 的一种文档格式。JAR 文件非常类似 ZIP 文件??准确的说,它就是 ZIP 文件,所以叫它文件包。JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的。举个转载 2015-09-16 15:55:26 · 1245 阅读 · 0 评论 -
使用 jsoup 对 HTML 文档进行解析和操作
jsoup 简介Java 程序在解析 HTML 文档时,相信大家都接触过 htmlparser 这个开源项目,我曾经在 IBM DW 上发表过两篇关于 htmlparser 的文章,分别是:从 HTML 中攫取你所需的信息和 扩展 HTMLParser 对自定义标签的处理能力。但现在我已经不再使用 htmlparser 了,原因是 htmlparser 很少更新,但最重要的是有了转载 2015-06-05 11:30:42 · 398 阅读 · 0 评论 -
一个开源的页面传输压缩算法
由于刚做好的网站 我觉得是有点慢,就看了一下gzip的一些知识,发现了一个开源的jar,是一个filter。只需要配置即可使用了。 这个jar名字是pjl-comp-filter-1.7.jar这样来配置: CompressingFilter com.planetj.servlet.filter.compression.CompressingF转载 2015-06-05 14:07:51 · 672 阅读 · 0 评论 -
java.lang.Package.getAnnotation()方法实例
java.lang.Package.getAnnotation(Class annotationClass) 方法返回这个元素的注解指定类型,如果这样的注释,否则返回null。声明以下是java.lang.Package.getAnnotation()方法的声明public A extends Annotation> A getAnnotation(ClassA> an原创 2015-01-16 18:04:26 · 7361 阅读 · 3 评论