随笔分类 -  JAVA

谈Spring的理解
摘要:技术旨在理解。最近风靡的SpringMVC,其实只是Spring的一个组件,充分说明Spring的强大。Spring到底是个什么鬼?用SSH的人很多,但是还真不是谁都能说清Spring的原理。在SSH框架中Srping充当了管理容器的角色;Spring容器集中管理Bean的实例化;关于Spring除... 阅读全文

posted @ 2016-01-19 19:47 Brown Qin 阅读(634) 评论(0) 推荐(0)

商城项目要点
摘要:最近屡次被人问到项目开发的要点、难点,自己一直没做整理,一切的偷懒都要偿还:【图片库管理】一开始把用户上传的图片和管理员配置的系统级图片放在tomcat下项目目录下,做过的朋友都知道这样不合理:1、项目重新部署的时候往往造成用户图片覆盖丢失;2、做了一个自动升级代码的程序,也要求用户每次更新项目要首... 阅读全文

posted @ 2016-01-18 14:38 Brown Qin 阅读(1168) 评论(0) 推荐(0)

[转]华为web安全原则
摘要:Web安全原则1.认证模块必须采用防暴力破解机制,例如:验证码或者多次连续尝试登录失败后锁定帐号或IP。说明:如采用多次连续尝试登录失败后锁定帐号或IP的方式,需支持连续登录失败锁定策略的“允许连续失败的次数”可配置,支持在锁定时间超时后自动解锁。2.对于每一个需要授权访问的页面或servlet的请... 阅读全文

posted @ 2016-01-08 13:08 Brown Qin 阅读(574) 评论(0) 推荐(0)

WEB系统开发误区汇总
摘要:1、hibernate给开发人员带来的便利——封装是好事,但是往往它会导致流程复杂化,hibernate就是一个典型的例子,它在给开发人员带来封装便利的同时,一些时候带来的性能压力也不容忽视。HQL语句复杂,不便于监控、维护,不便于索引优化等问题,在开发工作中让我们思考。如果说JDBC+原生SQL简... 阅读全文

posted @ 2015-08-13 17:32 Brown Qin 阅读(153) 评论(0) 推荐(0)

单机登录实现思路(强制下线其他用户)
摘要:主流的网站都是限制用户单点登录的,为什么要实现单点登录?1、避免单账号多用户操作占用大量数据库连接,减轻webserver的压力;2、安全防范,强制下线非法用户;传统的web服务器(如tomcat)对session有专门的管理,我们通过session来控制用户的登录生存周期。单点登录原理如下:1、将... 阅读全文

posted @ 2014-07-07 20:06 Brown Qin 阅读(6804) 评论(1) 推荐(0)

comet4j实现web消息推送
摘要:最近对比了几种消息推送的方案:xmpp(openfire)——对消息服务器的要求比较高,没有找到合适的java实现方案;极光推送、百度推送——自动生成的id,不好绑定本地用户,作为公告类的消息推送可以,但作为本地用户间的消息推送机制还是不太合适;comet4j——能实现消息推送,但是每个页面保持连接的js对性能的消耗也厉害,部分代码配置如下:jsp页面:web.xml中配置 org.comet4j.core.CometAppListener CometServlet CometServlet org.comet4j... 阅读全文

posted @ 2014-04-10 15:34 Brown Qin 阅读(5188) 评论(1) 推荐(0)

java操作控件加密
摘要:ActiveXcomponentInit.java 1 import com.jacob.activeX.ActiveXComponent; 2 3 public class ActiveXcomponentInit { 4 5 public static ActiveXComponent getActiveXcomponentInit(){ 6 ActiveXComponent activeX= new ActiveXComponent(Keys.ACTIVEXCOMPONENT); 7 return activeX; 8 9 ... 阅读全文

posted @ 2014-04-08 11:06 Brown Qin 阅读(299) 评论(0) 推荐(0)

Log4j及Proxool配置笔记
摘要:log4j中输入信息的级别有debug,info,warn,error,fatal5个级别他们对应的是输出信息的级别,级别越低信息输入越详细.使用debug级别的时候,info中的信息也能输出使用info的时候,debug对应的信息显示不出来一般在开发的时候使用debug,开发完成后使用error灵活的运用各种模式有时候非常方便。比如说在开发过程中,你自己的习惯可能会打印出一些对调试有意义,但系统实际运行不需要的信息,这些都应该放在debug里,当系统真正发布的时候,把log4j等级设置为info就可以避免打印这些东西。而当系统出现问题的时候,你只需要修改log4j.properties里的打 阅读全文

posted @ 2013-01-25 18:58 Brown Qin 阅读(600) 评论(0) 推荐(0)

手机号码匹配规则
摘要:手机号码匹配规则:1、 不能为空,以0或者1开头;2、 以0开始的固话,长度大于等于10;3、 以1开头的手机号,长度大于等于11;4、 切割字符串,加杠-;01||02开头,前三位为区号;固话0开头的,前四位为区号;手机号一般为3-4-4型 阅读全文

posted @ 2012-12-25 19:07 Brown Qin 阅读(1305) 评论(0) 推荐(0)

Eclipse最常用快捷键
摘要:Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面Alt+Enter 显示当前选择文件的属性Ctrl+F11运行Run AsCtrl+M 当前窗口最大化Ctrl+F7 视窗口切换Ctrl+F8 模式切换Ctrl+Q 定位到最后编辑的地方Ctrl+L 定位在具体某行Ctrl+K 选中的Word快速定位到下一个ctrl+.及ctrl+1 当某行出错时或警告时,跳出帮助Ctrl+W 关闭当前窗口Ctrl+T找到一个接口的实现类Ctrl+O 快速outline(本文件函数列表)Ctrl+E 编辑窗口切换Ctrl+2,L 为本地变量赋值Alt+Shift+C 修改函数结Alt+Shift+M 选中 阅读全文

posted @ 2012-12-25 19:05 Brown Qin 阅读(205) 评论(0) 推荐(0)

WEB开发——大批量数据导出经验谈
摘要:1、大批量数据导出的时候,需要注意这样的一个问题,Excel2003格式一个sheet只支持65536行,excel 2007 就比较多,是1048576。 2、NPOI开源的组件,使用时不需要安装office(极大的优势),需要注意的是,目前该方法只能操作office2003。POI什么的都是先在内存里面把Excel的结构构造好再输出的,这个过程很费内存,不要用POI这些,只是导出数据结构简单的话换成文本输出csv用流式输出,Excel一样可以打开的。3、不要用response.write,用fileWriter;4、待处理的数据,不要一次性全部放到数据对象中,应该分批处理,以避免JVM内存 阅读全文

posted @ 2012-12-25 18:55 Brown Qin 阅读(3214) 评论(0) 推荐(0)

java嵌套循环语法描述
摘要:1 /** 2 * 3 * @author qsl 4 * 5 */ 6 public class ChengFaB { 7 public static void main(String[] args) { 8 DD(); 9 }10 11 public static void FF() {//for...for12 for (int i = 1; i < 10; i++) {13 for (int j = 1; j <= i; j++) {14 System.out.p... 阅读全文

posted @ 2012-11-27 09:27 Brown Qin 阅读(342) 评论(0) 推荐(0)

深入理解JDK、JRE
摘要:JDK和JRE的区别:Jre jre/bin/client里面是不是有一个jvm.dll呢?那就是虚拟机。Jdk 是java的开发工具包,里面包含了各种类库和工具。当然也包括了另外一个Jre. 那么为什么要包括另外一个Jre呢?而且jdk/jre/bin同时有client和server两个文件夹下都包含一个jvm.dll。说明是有两个虚拟机的。这一点不知道大家是否注意到了呢?相信大家都知道jdk的bin下有各种java程序需要用到的命令,与jre的bin目录最明显的区别就是jdk下才有javac,这一点很好理解,因为 jre只是一个运行环境而已。与开发无关,正因为如此,具备开发功能的jdk自己 阅读全文

posted @ 2012-11-20 21:57 Brown Qin 阅读(674) 评论(0) 推荐(0)

socket超时
摘要:Socket超时有两种:1、 连接超时;s.connect(socketAddress, 30000);2、 Read超时; s.setSoTimeout(30000); 阅读全文

posted @ 2012-09-04 18:11 Brown Qin 阅读(370) 评论(0) 推荐(0)

socket发送接收字段采用Base64加密笔记
摘要:首先,贴上Base64工具类【网上也有专门的base64第三方封装类库jar。我做过测试,在java环境下可用;可是当我在android项目中调用jar包工具类时,程序显示找不到指定方法的异常,问题在于android里面对第三方jar包不兼容,所以最后放弃调用外部jar包的方式,转而调用自己的工具类】以下是base64可用工具类:Base64Utilpackage com.sohan.util;import java.io.UnsupportedEncodingException;public class Base64Util { private static char[] base64... 阅读全文

posted @ 2012-08-20 13:49 Brown Qin 阅读(1703) 评论(0) 推荐(0)

验证码
摘要:jsp中验证码生成类:View Code 1 package com.tenchong.util; 2 3 import java.awt.Color; 4 import java.awt.Font; 5 import java.awt.Graphics; 6 import java.awt.image.BufferedImage; 7 import java.io.IOException; 8 import java.util.Random; 9 import javax.servlet.ServletOutputStream; 10 import jav... 阅读全文

posted @ 2012-06-01 11:05 Brown Qin 阅读(282) 评论(0) 推荐(0)

android socket 问题记录一
摘要:QQ昵称查询的时候遇到一个棘手的问题,就是无法通过socket得到正确的结果,这个问题困扰了两天,用TcpServer可以访问,字符串也是一样,为什么我写的socket就是不行?困惑!疑虑!烦躁!刘工说是字串最后有回车符的问题,不是问题根源,转来转去还是不行。翻看《疯狂java讲义》,将原来的PrintWriter改成PrintStream,问题解决!PrintWriter:字符流类PrintStream:字节流 阅读全文

posted @ 2012-04-01 16:19 Brown Qin 阅读(178) 评论(0) 推荐(0)

Socket读取JSONArray字串越界等相关问题
摘要:好长一个json!server就是把一张表的数据直接复制给我了,还是字符串的形式!然后,然后就越界了,byte[] readByte = new byte[1024]; dataIn.read(readByte, 1, 1000); ——ArrayIndexOutofBounds!加长即是!byte[] readByte = new byte[1024*1024];dataIn.read(readByte, 1, 10000);还有,就是socket读取的中文乱码问题,转换如下(第1行、第7行):1 outw = new PrintWriter(new BufferedWriter(new O 阅读全文

posted @ 2012-03-28 10:48 Brown Qin 阅读(1072) 评论(0) 推荐(0)

读取properties文件
摘要:properties文件一般用来存放系统配置文件:举个例子:netconfig.properties(#为注释部分,然后是键值对)#服务器ip和端口 server=192.168.0.119port=53303MSG=这是一个很长的字符串,<br>我们可以使其换行 \一行显示不下时,<br>可以分行显示。解析读取properties文件:GetPropertiesUtil.java 1 package com.sohan.util; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 impor 阅读全文

posted @ 2012-03-24 14:55 Brown Qin 阅读(430) 评论(0) 推荐(0)

android布局——按钮等宽比例
摘要:android布局常常用到平均分配布局控件,比如用户登录的界面中登录与注册两个按钮,需要按1:1的比例平均分配到布局内容中,TableRow布局可以实现这样的效果。如图-1。需要设置android:layout_weight的权重。如果两个按钮均为android:layout_weight=”1″ 阅读全文

posted @ 2012-02-20 14:28 Brown Qin 阅读(2295) 评论(0) 推荐(0)

导航