可绑定可扩展的帐号系统设计原理及其实现 需求场景每个用户都存在多个不同的注册登录方式,比如微信,QQ,微博.登录方式在未来可能增加或者减少.用户在使用不同的途径注册登录之后就成为独立帐号,每一个独立帐号又可以互相绑定.绑定之后的帐号视为一体,但是仍然可以使用不同途径登录.相互绑定之后的帐号,可能在系统留存大量数据,不适合数据迁移.用户的主要帐号(例如手机号)可以被多次绑定到不同的第三方帐号上,拥有相同主帐号的帐号视为同一帐号,数
【用户授权设计】java第三方登录(微博,QQ)详细代码 第三方登录流程是:先获取code---->然后获取access_token----->根据token获取用户信息。前台页面实现步骤:点击微博登录按钮---->打开一个子窗口,进行授权------>授权完成,跳转到首页或上次浏览的页面。1、写第三方登录的按钮,点击按钮时,打开一个子窗口。redirect_uri是你在微博上设置的回调地址。@ page langua
Spring aop: 如何在增强方法中获取并修改目标函数的参数 @RequestMapping(value="/dispatch",produces = "text/html; charset=UTF-8") @ResponseBody @ControllerPointcut(str = "OKOK") public String dispatch(@RequestParam("messageA")
eclipse如何集成阿里Java代码规约P3C 首先打开eclipse软件,点击工具栏上的Help,选择Install New Soft进行安装新的插件。进入插件安装界面,点击Add,弹出插件地址填写界面,也可以直接在市场上搜索关键字ali进行查询。输入软件Name:p3c名字可以随意,Location:https://p3c.alibaba.com/plu
eclipse创建java类时自动添加注释 一、按照以下顺序点击菜单window-->preferences-->java-->Code Stype-->Code Templates-->Code-->New Java files-->Edit二、添加类似下列的内容1 /**2 * @author yourname3 * @date ${date} ${time}4 * 5 */三、最终配
解决Cannot change version of project facet Dynamic web module to 2.5 我们用Eclipse创建Maven结构的web项目的时候选择了Artifact Id为maven-artchetype-webapp,由于这个catalog比较老,用的servlet还是2.3的,而一般现在至少都是2.5,在Project Facets里面修改Dynamic web module为2.5的时候就会出现Cannot change version of project facet Dy
Java compiler level does not match解决方法 从别的地方导入一个项目的时候,经常会遇到eclipse/Myeclipse报Description Resource Path Location Type Java compiler level does not match the version of the installed Java project facet.出现这个问题的原因是因为,eclipse/myeclipse的jdk编译版本
tomcat启动报错:1,启动报错显示 [org.springframework.web.servlet.DispatcherServlet]FrameworkServlet 'springMvc' 1,启动报错显示[org.springframework.web.servlet.DispatcherServlet]FrameworkServlet 'springMvc': initialization completed in 382 msJun 01, 2015 6:39:06 PM org.apache.coyote.http11.Http11Protocol startSEVE
linux下mysql下载与安装 1、下载 下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads 下载版本:我这里选择的5.6.33,通用版,linux下64位 也可以直接复制64位的下载地址,通过命令下载:wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.
解决eclipse+MAVEN提示One or more constraints have not been satisfied.的问题 应用版本:eclipse luna4.4.1JDK:1.8Maven:3.2.5问题现象:1、编译工程后总该是显示下面两个错误: One or more constraints have not been satisfied. Deployment Assembly跟java版本不匹配 解决方案:在pom.xml中添加下面内容即可,同时也可以解决Ma
cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration... 博客分类: FLEX CC++C#Fl cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration...博客分类:FLEXCC++C#FlexSpring 今天重装了一下MyEclipse7.5,打开原来的Flex项目,又报了以下两个错误,之前解决过,但不想又出现,于是把它的解决方法贴出来,做个备忘!
mysql 表索引的一些注意事项 这篇文章主要介绍了mysql 表索引的一些注意事项,mysql默认优化不如sqlserver,所以需要优化,而一些成熟的cms为了利益,也不会帮大家数据库优化的很好,需要自己另外设置1、表的主键、外键必须有索引;2、数据量超过300的表应该有索引;3、经常与其他表进行连接的表,在连接字段上应该建立索引;4、经常出现在Where子句中的字段,特别是大表的字
传入Java对象 自动创建动态表 并录入数据 看到Hibernate你给一个对象,他就能动态的创建配置文件里面指定的表名,然后把数据录入到数据库,当初感觉是很神奇,不过,好像Hibernate不能动态的分表创建表和录入数据我这里写了一个公用的类,你给一个对象,告诉我按年还是按月生成表,并告诉我那个字段是不需要在表中创建的,该类就可以动态的分表创建需要的表,并录入数据注意:由于业务需要,这里对于字段的支持只有int和In
使用Hudson进行持续集成 使用Hudson进行持续集成小Alan最近接了一个任务,就是使用Hudson进行持续集成,持续集成是怎么个概念,3言2语也说不清,有兴趣的童鞋去找我二奶度娘问问就知道了,说到Hudson就不得不提一下jenkins,目前来说用jenkins的应该要比Hudson多吧,毕竟jenkins的更新频率还是要比Hudson快,两者其实是五十步笑百步,会玩Hudson,jenkins也难不到
java socket解析http消息 GET/POST 携带单个附件 package socket;import java.io.*;import java.net.*;/** * MyHttpServer 实现一个简单的HTTP服务器端,可以获取用户提交的内容 * 并给用户一个response * 因为时间的关系,对http头的处理显得不规范 * 对于上传附件,暂时只能解析只上传一个附件而且附件位置在第一个的情况 * 转载请注明来自
ibatis的sql-map-config配置文件加载资源文件的路径问题-java web project public static SqlMapClient getSqlMapInstance() throws IOException { Reader reader = Resources .getResourceAsReader("dbSourceConfig.xml"); sqlMap = SqlMapClientBuilder.buildSqlMapClient(
PICT:基于正交法的软件测试用例生成工具 成对组合覆盖这一概念是Mandl于1985年在测试Aad编译程序时提出来的。Cohen等人应用成对组合覆盖测试技术对Unix中的“Sort”命令进行了测试。测试结果表明覆盖率高达90%以上。可见成对组合覆盖是一种非常有效的测试用例设计方法。成对组合覆盖要求任意两个因素(输入条件)的所有水平组合至少要被覆盖1次。组合覆盖的算法已经被很多工具实现,测试人员可以直接利用这些工具,例如:TConfig
Badboy+JMeter压力测试工具 Badboy是脚本录制工具,录制后的脚本可以导出至JMeter进行脚本编辑、场景运行等。Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试。使用图示:1、Badboy录制:标1:录制URL标2:启动录制按钮标3:正在录制显示2、Badboy录制:标1:录制URL标2:
元素统计|区分并解析 function parseHd(){ var hdtype = document.getElementById("hdtype"); if (hdtype.value == 32) { //话单的元素个数 var hdLength = 33; }else { var hdLength = 29; } //获取输入
shell 基础学习 1、循环输出城市名称:#!/usr/bin/kshecho "waiting for a while..."USER_HOME=`cd ; pwd`touch $USER_HOME/file.txttouch $USER_HOME/string.txtls -l $USER_HOME/log > $USER_HOME/file.txts="hello word";