ROA面向资源架构
REST基础概念:
在REST中的一切都被认为是一种资源。
每个资源由URI标识。
使用统一的接口。处理资源使用POST,GET,PUT,DELETE操作类似创建,读取,更新和删除(CRUD)操作。
无状态。每个请求是一个独立的请求。从客户端到服务器的每个请求都必须包含所有必要的信息,以便于理解。
通信都是通过展现。例如XML,JSON
南归北隐
大道至简,悟在天成。
展开
-
并发编程下的锁机制,乐观锁、悲观锁、共享锁、排他锁、分布式锁、锁降级原理篇
一、悲观锁比较悲观,担心拿数据时被别人修改,所以查询时先加锁在修改,保证操作时别人修改不了,期间需要访问该数据的都会等待。select version from user where id=1 for update update user set version=2 where id=1在对id = 1的记录修改前,先通过for update的方式进行加锁,然后再进行修改。...原创 2020-04-29 15:33:16 · 1625 阅读 · 3 评论 -
React+SpringBoot通过WebSocket实时统计在线人数
一、基本概念WebSocket是一种网络通信协议,如果服务器有连续的状态变化,客户端要获知就非常麻烦。大多数 Web 应用程序将通过频繁的异步请求实现长轮询。轮询的效率低,非常浪费资源(因为必须不停连接,或者 HTTP 连接始终打开)所以这里使用WebSocket 通过登录后跳转到首页,向后台WebSocket建立长链接来达到"即使通讯",随着页面打开或关闭来更改页面显示的人数,当然...原创 2020-04-29 11:09:17 · 3968 阅读 · 11 评论 -
Java POI导出Word文档详解
一、POI 生成导出Word样式二、详细代码pom.xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.14</version> </de...原创 2019-08-28 14:58:06 · 24115 阅读 · 17 评论 -
java常用算法之冒泡排序简单例子
为了更好的理解冒泡排序过程,下面举一个实例。 初始数组 118 101 105 127 112 一次排序 101 118 105 112 127 二次排序 101 105 118 112 127 三次排序 101 105 112 118 127 四次排序 101 105 118 112 127冒泡排序算法的思路就是交换位置,通过相邻的数据交换来达到排序的目的。package co原创 2017-10-26 00:32:37 · 537 阅读 · 0 评论 -
java ajax实现异步同步请求全面详解
XMLHttpRequest对象 var request=new XMLHttpRequest() //兼容IE5 IE6 if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); }原创 2017-07-31 17:13:52 · 2754 阅读 · 0 评论 -
java发送短信功能工具类及思路详解
//发送短信功能的思路 下面则是工具类 异常返回0 发送短信失败可以result==0进行判断 则 返回失败信息 如果成功 则返回验证码信息 可以存session 并设置session时间 session.setMaxInactiveInterval(60*5); 设置session时间 后期验证可以获取session 如果session为空 则验证码已经过期 否则等于sess原创 2017-06-16 14:24:04 · 6329 阅读 · 2 评论 -
java实现简单的登录验证码
//index.jsp<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+reques原创 2017-05-21 21:05:17 · 1035 阅读 · 0 评论 -
java数字签名实现简单的动态秘钥
//通过用户名+时间+MD5生成动态秘钥 public String getSecretKey(ZcUserbase user){ String secretKey = UUID.randomUUID().toString(); // 密钥 Timestamp outDate = new Timestamp(System.currentTimeMillis() +原创 2017-05-21 20:59:15 · 3554 阅读 · 1 评论 -
java简单的正则表达式验证邮箱
package com.kero99.ygc.test;import java.util.regex.Matcher;import java.util.regex.Pattern;public class test { //正则表达式 public static boolean checkEmaile(String emaile){ /**原创 2017-05-02 16:50:08 · 21136 阅读 · 0 评论 -
java实现简单的文件下载
文件下载 需要在WebRoot 下创建images文件夹 并且放入test.txt文件 创建jsp文件夹 放入01.jsp index.jsp 不变 web.xml需要配置servlet 适合初学者研究学习//index.jsp<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path =原创 2017-04-28 12:03:22 · 4098 阅读 · 0 评论 -
java文件上传功能
java文件上传功能 //jsp<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+原创 2017-04-24 16:31:29 · 1012 阅读 · 0 评论 -
java实现用户分页消息功能
java实现用户分页消息功能package com.kero99.ygc.pojo;import java.util.List;//分页pojo 持久化类public class PageData<E> { private int PageIndex; //页码 private int ResultCount;//总记录数 private int原创 2017-04-24 16:29:17 · 5626 阅读 · 0 评论 -
mybatis使用达梦数据库sum函数查询总值报错不是 GROUP BY 表达式
原先的sql语句 mysql没问题。。达梦数据报错。。 SELECT t1.id, t1.cityState, t1.countyName, sum(t1.lossRatio) as lossRatio, sum(t1.lossArea) as lossArea, sum(t1.light) as light, sum(t1.medium) as medium,...原创 2019-05-18 19:50:29 · 5406 阅读 · 1 评论 -
mybatis 异常 Exception in thread "restartedMain" java.lang.reflect.InvocationTargetException
解决方法:mybstis 返回的resultMap名字重复,通过看log定位报错的位置名称,重复的resultMap改名或者删掉。原创 2019-04-26 11:48:15 · 19269 阅读 · 1 评论 -
mybatis.xml配置文件常用配置信息详解
// mybatis.xml配置文件常用配置信息详解当<bean id=“dataSource” class=“”>,id是名称(可自定义),通过factory.getBean(“id”)来获得实例。class是该bean的类路径<property name="driverClassName" value=“ 驱动类名” “url” value=原创 2017-04-28 13:49:03 · 701 阅读 · 0 评论 -
java断点续传功能实现及思路SpringMVC版本
断点续传功能需求:保证传输时网络中断,在次选择同样的文件可以继续上传。实现思路:传输文件生成文件夹,通过File生成临时文件temp,通过RandomAccessFile保证从传输的字节处写入临时文件。功能关键点 RandomAccessFiler:读模式w:只写rw:读写,如果使用此模式,如果此文件不存在,则会自动创建。seek(0)就是定位到你文件的开头下一次写或者读就...原创 2018-10-22 15:17:28 · 1116 阅读 · 0 评论 -
SpringMVC返回json乱码处理方法
@ResponseBody 返回json注解@RequestMapping → 设置字符集 produces = "text/json;charset=UTF-8"eg:@RequestMapping(value="/eventPageList", produces = "text/json;charset=UTF-8") @ResponseBody publi...原创 2018-03-26 16:14:55 · 874 阅读 · 0 评论 -
SpringMvc restful调用url 及 .do调用配置及区别
//web.xml <!-- *.do --> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>co原创 2017-07-11 15:32:15 · 10683 阅读 · 0 评论 -
springMvc实现处理多个input的表单对象封装name到对象
1.当遇到多个text的复杂类型表单如果都request.getParameter会非常麻烦我们可以用springmvc直接封装表单提交到方法的对象里 2.使用 springmvc的 @ModelAttribute 注解 后面跟对象则可以直接传入到对象如 AMap maps 3.如果接受的表单需要别的属性如id,出现session的问题,可以思考下input的隐藏域或许有帮助。eg:@Req原创 2017-05-27 15:09:07 · 879 阅读 · 0 评论