`
jafisher
  • 浏览: 56820 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论
文章列表
为什么要入参验证         系统之间在进行接口调用时,往往是有入参传递的,入参是接口业务逻辑实现的先决条件,有时入参的缺失或错误会导致业务逻辑的异常,大量的异常捕获无疑增加了接口实现的复杂度,也让代码显得雍肿冗长,因此提前对入参进行验证是有必要的,可以提前处理入参数据的异常,并封装好异常转化成结果对象返回给调用方,也让业务逻辑解耦变得独立。 为什么要使用aop方式         入参验证的方式有多种,传统的方式是在接口实现中代码注入,即在接口实现的业务逻辑处理之前,通过硬编码的方式对入参进行有效性验证,简单粗暴,也直接有效。但代码注入带来的问题是代码的重用,不同的接口不同的入参,都需要 ...
将博客搬至CSDN
    jsonp是json的一种模式,专门用来解决前端跨域请求数据的问题。它允许在服务器端生成script tags返回至客户端,通过javascript callback的形式来实现站点访问。     一般来讲,ajax请求数据是没有权限跨域请求的,只能请求本域名下的接口,再调用其他域名的服务,就是自己前端->自己后台->别人后台的这种模式,还是很不方便的。 自己前端->别人后台就是属于跨域请求了,尽管浏览器不允许页面中的脚本程序跨域读取数据,但却允许HTML引用跨域的资源,所以前端调用js文件是可以跨域的,只要是资源文件都是可以支持跨域的。     要支持跨域,除了前端脚 ...
  瀑布流主要就是指数据按照瀑布方式自上而下加载,主要由于高度的不同造成的瀑布落差感(可以参考百度图片)。javascript实现图片瀑布流主要分三个步骤: 1.瀑布容器和图片属性设置(大小、边框、颜色、边距等) 2.图片加载方式 3.图片滚动加载 1.属性设置 html结构: <body> <div id="container"> <div class="box"> <div class="box_img"> ...
  在 java 应用的数据库开发中,不可避免地会使用到持久层框架,而现在开源项目中持久层框架用到最多的基本就是 iBatis、myBatis 和 Hibernate 了。这里就重点分析下这三个框架之间的区别。 iBatis 与 Hibernate   iBatis 是基于SQL映射 ...
web前端开发中,经常使用到页面跳转,下面是使用过的几种常用的跳转方式。 1.html跳转,通过<a>标签, <a href="www.xxx.com" target="_self">链接</a> ,其中target共有4种模式: 1)_self,默认方式,在当前窗口跳转 2)_blank,跳转到新窗口 3)_parent,在当前父窗口跳转 4)_top,在当前顶级窗口跳转 2.js跳转,js跳转能控制的属性要比html直接跳转要更多。 window.location.href = "www.x ...
    我们在进行前端页面开发时,经常会遇到输入框禁止输入的问题,html中提供了三种方式来解决,readonly、disabled、autocomplete。严格地讲前两种才是禁止用户输入,而autocomplete只是默认清除用户的输入记录。 readonly:顾名思义,表示该输入域的值只能read,不能write,他仅仅只能与 type="text" 配合使用,可复制,可选择,可以接收焦点,后台会接收到传值。 <input type="text" name="www.xxx" readonly="reado ...
  我们在采用httpclient方式进行服务调用时,如果服务方以对象的方式封装入参和出参,我们就经常需要将我们的请求对象先转换成 json 格式,通过输入输出流的方式传输数据,返回的参数再从 json 格式转换为特定对象,如下: Producer producer = new Producer(); ...构造参数... String jsonData = GsonUtils.toJson(producer); ...httpclient请求... Consumer consumer = GsonUtils.fromJson(jsonResult, Consumer.class); ...
    在 spring 框架的控制器中,我们经常在事件处理时想返回处理对象和实现重定向跳转,平时可能经常是在 control 里直接返回对象甚至是String,但如果是多个对象的话或者还需要重定向的话就麻烦了,使用 modelAndView 就可以变得非常轻松。     modelAndView 表示的就是 MVC模式中的 model 和 view,方便一次返回我们想要的 model 和 view 对象,它有7种构造方法,方便我们处理。如下代码: Result result = testService.service(); ModelAndView mav = ...
  很久没写了,本来只是学到一点小东西,觉得没必要写的,但是感觉如果一直不写的话,自己的写作能力和热情是不是也会越来越弱,所以先随便拿点东西热热手,热热心。   在写js脚本时,非常习惯使用jquery中的live事件,因为相比bind事件来说具有动态加载的功效,使得控制页面元素变成非常简单。   一个是可以绑定多个事件处理,其次是可以绑定将在未来定义的元素。这里就不想再说种种优点和缺点了,也不比较和bind、delegate的区别了,网上也一大堆,就写点自己想的东西。   在自己前端项目中,很多事件处理都用了live,但偶然发现绑定的元素绝大部分都是单事件处理,今天突发奇想用live来处理下多 ...
  作为一名底层开发工作者,工作中难免会用到大量的String类型的各种转化,虽然大部分还算比较清楚,但偶尔还是会上网查查,比较下。闲来无事,把自己平时比较常用到的转化总结一下,只是java版的。 一、String - StringBuffer ...
  最近没事写了一个彩票开奖情况统计程序,其中碰到了需要对数字出现的次数排序的问题,因为涉及到对象属性的排序,觉得有必要总结一下,没多少技术含量,只是认识了一个新的接口,权当学习了,呵呵。   以前碰到排序 ...
  不论Java与C相比有多少优点,至少在输入输出流这点上还是比不上C的,至少在输入流上,Java暂时还没有像C一样强大的scanf函数,因此解决Java的输入问题稍微麻烦一点,主要有两种方法,Scanner和BufferedReader。这里只介绍内存的输入流问题。   虽然Java也有标准的输入串对象System.in,但它提供的read方法每次只能读取一个字节,无法处理一串数字或字符串的情况。Scanner类使用分隔符将输入分解,提供了多个读取输入流的方法:   next():读取连续的字符串   nextLine():读取一整行字符串   基本数据类型:        nextInt ...
  碰到一个应用场景,有一表单字符串: String test = "<form><input ...><input ...>...<input ...></form>";   现在需要在最后一个<input ...>字段后再加上一个<input ...>字段,用来实现特定的功能,前提是这个字符串长度是不定长的,<input ...>的个数也是不定的。   当时碰到这个问题直接想到两个方法,indexOf和replace,下面给出我的解决方法。 indexOf: Stri ...

http工作原理

  温故知新。 一、http协议:通过可靠的TCP连接,让web服务器与浏览器客户端通过internet发送与接收数据,是一种面向对象的请求、响应协议。 特点: 1.通信速度快,客户端只需要传输请求方法和路径。 2.灵活,可以传输任意类型的数据对象。 3.无连接,每次连接只处理一个请求,服务器处理完客户端的请求,并收到客户端的应答后即断开连接。 4.无状态:对事务处理无记忆功能,应答快。 5. 服务器不会主动连接客户端,服务器与客户端都可以提前中断连接。 6.支持服务器/客户端模式。 二、工作过程 1.服务器建立连接 2.客户端连接服务器 3.客户端向服务器发送请求 4.服务器向客户端发送应答 ...
Global site tag (gtag.js) - Google Analytics