eclipse rcp中的位运算

位运算在eclips rcp的UI样式计算中得到了大量的运用!// @see org.eclipse.swt.widgets.Text#checkStyle static int checkStyle (int style) { // 判断是否为搜索框,搜索框的约定:单行,BORDER,同时不能为密码框 if ((style & SWT.SEARCH) != 0) { style |= SWT.SINGLE | SWT.BORDER; style &= ~SWT.PASSWORD; } // 如果同时为单行和多行的时候,判断为多行 if ((style & SWT.SINGLE) != 0 && (style & SWT.MULTI)&n...

学习EasyUI为AdminLTE扩展MenuTree

AdminLTE - 是一个完全响应式管理模板。基于Bootstrap3框架,高度可定制的,样式美观、易于使用。而且采用友好的MIT开源协议,妈妈再也不用担心我的后台模版不漂亮了!言归正传,先给大家展示一下效果:页面使用:<%-- 左侧菜单 --%> <aside class="main-sidebar">   <section class="sidebar">     <ul id="treeMenu" class="sidebar-menu" data-options="url:'${ctxPath}/static/tree_data2.json'"></ul>   </section> </aside>页面js,当然此处Menu打开采用了Easy...

CGlib常用小姿势

CGLib (Code Generation Library) 是一个强大的,高性能,高质量的Code生成类库。在java中,属于上层武功,Spring甚至将其精简纳入到Spring-core中,详见org.springframework.cglib包。下面我来说说其中比较常用或许你能用他高效实现的一些功能:一、对象拷贝/**  * 拷贝对象  * @param src 源对象  * @param dist 需要赋值的对象  */ public static void copy(Object src, Object dist) { BeanCopier copier = BeanCopier .create(src.getClass(), dist.getClass(), false); copier.copy(src, dist, ...

java中字符串模版的使用

工作中我们难免会遇到字符串的处理,如果字符串简单点我们可以采用字符串相加、StringBuffer或者StringBuilder来处理。遇到复杂的字符串时,采用字符串模版或者是个不错的选择。java中自带的2种方式String.format("my name is %s, and i like %s!", "L.cm", "java"); MessageFormat.format("my name is {0}, and i like {1}!", "L.cm", "java");之前工作中使用的字符串模版工具类/**  * 将字符串中特定模式的字符转换成map中对应的值  *   * use: format(&qu...

由getRequestURI,getServletPath,getPathInfo说开

如果要自己写个resetful框架,那么框架路由这块一定会接触到servlet或者Filter。例如:以一个servlet作为框架入口<servlet-mapping>     <servlet-name>flowServlet</servlet-name>     <url-pattern>/flowServlet/*</url-pattern> </servlet-mapping>框架中获取请求的路径:System.out.println(request.getRequestURI()); System.out.println(request.getServletPath()); System.out.println(request.getPathInfo());iflow为ContextPath路径时输出:/iflow/flowServlet/process /flowServlet /processgetRequestUR...

web常见攻击手段和防范措施

一、SQL注入攻击解决方案:前端页面校验用户的输入数据(限制用户输入的类型、范围、格式、长度等)。后端对提交的数据进行严格校验,数据存储时不要使用“+”号拼接sql,采用预编译sql,防止注入!使用自定义错误页,防止用户通过服务器默认的错误页面找到服务器漏洞。二、XSS跨站脚本攻击攻击方式:基于DOM的XSS即通过浏览器来直接运行js脚本,无须提交服务器,从客户端的代码引起的。如:其实就是发送一个合法的地址加自己的脚本,比如:www.xxx.com/search?wd=<script>...</script>受害者点击的是www.xxx.com/search?wd=<script>...</script>链接,然后受害者的浏览网页就加入这个恶意代码。存储XSS攻击即通过输入框提交js脚本或者上传文件到服务器,从网站的数据库引起的攻击。反射XSS攻击即通过url提交js脚本到服务器,从受害人的请求发起引起的攻击。目的:盗取用户的登陆账户密码,收集用户的cookie等敏感信息。解决方案:后端输出页面的时候将参数进行转义。如:<sc...

jfinal-weixin 文档汇总

很多朋友抱怨JFinal-weixin没有文档,其实我们为JFinal-weixin的文档做出了很多工作!下面我就列举一些文档地址:[JFinal-weixin版本更新记录]:http://git.oschina.net/jfinal/jfinal-weixin/wikis/%E7%89%88%E6%9C%AC%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95Java doc(在线): http://www.dreamlu.net/jfinal-weixin/apidocs/Java doc(下载): http://git.oschina.net/jfinal/jfinal-weixin/attach_files/download?i=66378&u=http%3A%2F%2Ffiles.git.oschina.net%2Fgroup1%2FM00%2F00%2F6F%2FPaAvDFfgkMeAZiZVAAR2Rojzn6k771.chm%3Ftoken%3De68bb71dd36889326267e0cdf8e96c3a%26...

JFinal-event1.4.0发布,新增tag实现一个事件多个不同监听

JFinal-event是一个模仿的Spring中的消息事件插件。专为JFinal设计,无任何第三方依赖,小巧玲珑。简单的一个main方法就可以进行测试和使用,具体如下:// 初始化插件 EventPlugin plugin = new EventPlugin(); // 设置为异步,默认同步 plugin.async(); // 设置扫描jar包,默认不扫描 plugin.scanJar(); // 设置监听器默认包,默认全扫描 plugin.scanPackage("net.dreamlu"); // 启动插件 plugin.start(); // 发送第一个消息 EventKit.post(new Test1Event("hello1")); // 发送带tag的消息 EventKit.post("save", new Test2Event(123123)); Thread.s...