
Java实例
文章平均质量分 80
分享一些解决实际问题的和具体功能的代码。欢迎大家的一起讨论。
涛涛之海
学好编程,成为一名高级工程师
展开
-
电商购物之支付业务场景分析
支付业务分析1. 用户请求支付系统2. 支付系统调用第三方支付平台API进行发起支付流程3. 用户通过第三方支付平台支付成功后,第三方支付平台回调通知支付系统4. 支付系统调用订单服务修改订单状态5. 支付系统调用积分服务添加积分6. 支付系统调用日志服务记录日志技术选型SpringBootDubbo(RPC)Zookeeper(管理和同步分布式应用中的文件)RocketMQ(异步解耦,分布式事务的数据一致性,消息的顺序收发)RedisMysql5. 支付业务5.1原创 2020-10-17 21:09:23 · 1531 阅读 · 2 评论 -
电商购物之下单业务场景分析
下单业务分析1. 用户请求订单系统下单2. 订单系统通过RPC调用订单服务下单3. 订单服务调用优惠券服务,扣减优惠券4. 订单服务调用调用库存服务,校验并扣减库存5. 订单服务调用用户服务,扣减用户余额6. 订单服务完成确认订单下单时序图技术选型SpringBootDubbo(RPC)Zookeeper(管理和同步分布式应用中的文件)RocketMQ(异步解耦,分布式事务的数据一致性,消息的顺序收发)RedisMysql下单基本流程1)接口定义IOrderSe原创 2020-10-17 21:09:10 · 2624 阅读 · 0 评论 -
电商购物之秒杀业务场景分析
秒杀的特征秒杀活动对稀缺或者特价的商品进行定时定量售卖,吸引成大量的消费者进行抢购,但又只有少部分消费者可以下单成功。因此,秒杀活动将在较短时间内产生比平时大数十倍,上百倍的页面访问流量和下单请求流量。秒杀的阶段秒杀活动可以分为3个阶段:秒杀前:用户不断刷新商品详情页,页面请求达到瞬时峰值。秒杀开始:用户点击秒杀按钮,下单请求达到瞬时峰值。秒杀后:一部分成功下单的用户不断刷新订单或者产生退单操作,大部分用户继续刷新商品详情页等待退单机会。消费者提交订单,一般做法是利用数据库的行级锁,只有抢到锁原创 2020-10-17 21:08:50 · 753 阅读 · 0 评论 -
webSocket初认识和使用
webSocket刚开始是想着实现一个简单的在线聊天室,基本功能就是可以实现群聊和单聊,查了资料,发现可以有轮询,webSocket,Ajax实现通信。webSocketwebSocket简介基本使用方法编写客户端编写服务端方法和属性详细请参考以下博客webSocket简介WebSocket是为解决客户端与服务端实时通信而产生的技术。其本质是原创 2017-11-27 16:21:25 · 436 阅读 · 0 评论 -
从数据库中读取多张图片并显示在同一页面中
一开始想的是while(rs.next())循环读取每张图片并直接保存在session中,传到InputStream中,形成一张张图片,后来发现InputStream对象被覆盖了,意思是在同一页面中显示的是多张一样的图片,而且还是最后一张的。还想的要images.jsp文件循环输出一下,最后出现的结果是整个页面都出不来图片了。始终还得记着images文件每次只能形成一张图片,那么我们可以给原创 2017-11-02 22:28:50 · 7330 阅读 · 2 评论 -
数据库存储BloB格式图片,并从数据库中取出显示到页面中
BloB类型就是以二进制的形式把图片保存到数据库中。包括:TinyBlob、Blob、MediumBlob、LongBlob,这几个类型之间的唯一区别是在存储文件的最大大小上不同。TinyBlob 最大 255字节 ( 1024Byte(字节)=1KB )Blob 最大 65KBMediumBlob 中等16MLongBlob 最大 4G我自己是以表单里选原创 2017-11-02 21:48:30 · 13204 阅读 · 0 评论 -
简单的socket和线程的应用,实现聊天功能
socket的实现 在文本进行读写操作时 ,我们都是InputStream 把要输入的字从程序外放到程序里,OutputStream把从程序里读取到的字读出程序外放入一个文本中。 socket通信时客户端发送消息给服务端客户端就是把要输入的字放到socket的OutputStream中(相当于放在文本中,比较安全些),服务端再从socket中用InputStream把字放到程序里,并显示出...原创 2018-06-19 21:43:16 · 495 阅读 · 0 评论 -
注解 @SuppressWarnings({ "rawtypes", "unchecked" }) 理解
@SuppressWarnings上述注解是jse提供的注解。作用是屏蔽一些无关紧要的警告。使开发者能看到一些他们真正关心的警告。从而提高开发者的效率使用的话 是这样suppressWarnings 禁止显示警告@SuppressWarnings({ "rawtypes", "unchecked" }) @ResponseBody @RequestMapping(p...原创 2018-03-13 15:52:55 · 1116 阅读 · 0 评论 -
Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at localhost are already in use.解决办法
自己今天不知怎么了,就遇到这个错误提示。它的意思就是好几个端口已经被使用,你的文件不能再使用。1右键,点击remove,把stSelect文件(自己正在执行的程序所在文件夹)从tomcat中移走,并不是要删除该文件。2有一个网页解决方法。下面是链接。点击打开链接原创 2017-06-10 23:05:36 · 744 阅读 · 0 评论 -
jsp操作数据库之删除
<% Connection conn=null; PreparedStatement pst=null; int rs=0; String id=request.getParameter("id");%><% try{ Class.forName(DBDRIVER); conn=DriverManager.getConnection(DBURL,DBUSER,DBPASS); String s原创 2017-03-11 15:42:14 · 5866 阅读 · 0 评论 -
jsp操作数据库之乱码问题
常见的乱码问题出现的地方:1pageEnconding 意思是页码集的问题2 request.setCharacterEncoding("UTF-8");request是客户端向服务器端提交请求,即从浏览器中向你的服务器发送数据,response是你的服务器端向客户端响应。所以当你从客户端向服务器端提交请求时用request.setCharacterEncoding(),反之,当你从服原创 2017-03-14 15:29:06 · 660 阅读 · 0 评论 -
jsp之javaBean操作数据库添加数据
1.思想就是在数据库的增 删 改 查 中每步中都需要连接到数据库,为了简化代码。使用javaBean 分别把用户类,连接类,操作类 打包2login代码:用户名:密 码:用户类型:管理员普通用户dolign代码: <% UserDao user=new UserDao();//实例化 us原创 2017-03-15 22:55:26 · 8595 阅读 · 0 评论 -
jdbc返回结果集list和ResultSet之认识
1.list和ResultSet的浅认识 结果集(ResultSet)是数据中查询结果返回的一种对象,可以说结果集是一个存储查询结果的对象,但是结果集并不仅仅具有存储的功能,他同时还具有操纵数据的功能,可能完成对数据的更新等ResultSet用法的详解链接:点击打开链接List是个集合接口,只要是集合类接口都会使用迭代器,来对数据进行遍历。Iterator it=List.iterat原创 2017-03-28 15:17:48 · 20475 阅读 · 1 评论 -
jsp之jdbc分页查询的思想
之所以分页,是因为存在大量数据,需要在不同的页面中显示出来。做法: 整体把握,在页面中要显示在该页显示的记录。比如说:当你点击第一页的时候,它会显示出第一页所在的记录,再当你点击第二页的显示,它会随着显示第二页的记录。所以在一个页面中要显示 分页信息,页数信息。 1.要想知道需要多少页能够存储下所有记录,我们要知道总共的记录数,以及你在一页中应该要放多少记录数原创 2017-03-28 15:59:09 · 612 阅读 · 0 评论 -
jsp之javaBean操作数据库之查,删,改
本篇是上篇的延续。在敲代码的过程中,我自己遇到的问题是在修改操作的过程中的查询部分,没有想到要检验集合是否为空,导致要调用查询到的结果时为空。图片如下:查询:删除:修改:代码:Dao类(删除,修改,查询的方法) public ResultSet Query(){ PreparedStatement pst=null;原创 2017-03-22 23:12:26 · 8048 阅读 · 2 评论 -
jsp操作数据库之修改
思路是 要想先修改必须查询到图片:查询代码如下:<%! public static final String DBDRIVER="org.gjt.mm.mysql.Driver"; public static final String DBURL="jdbc:mysql://localhost:3306/user"; public static final Str原创 2017-03-13 23:11:03 · 5510 阅读 · 0 评论 -
jsp操作数据库之查询
<% Connection conn=null; PreparedStatement pst=null; ResultSet rs=null;%>id用户名密码用户类型数据操作 删除该记录更新该记录原创 2017-03-11 15:40:35 · 1388 阅读 · 0 评论 -
jsp操作数据库之插入
<%! String username=null; String password=null; String type=null; Connection conn=null; %><% try{ Class.forName(DBDRIVER); conn=DriverManager.getConnection(DBURL,DBUSER,DBPASS); request.setCharacter原创 2017-03-11 15:33:54 · 1752 阅读 · 0 评论 -
jsp之javaBean初理解
javaBean是什么?有什么作用?怎么用呢?1javaBean相当于包,包里放的是方法。当我们在jsp中需要用到方法解决问题时,而且多次需要解决同样的问题时,把用java语言写的函数放在javaBean里,方便调用。2.图片:代码:java代码:public class javabean { private String username="张三";原创 2017-03-14 22:34:55 · 486 阅读 · 0 评论 -
servlet之初认识
1) 客户端发送请求至服务器端;2) 服务器将请求信息发送至 Servlet;3) Servlet 生成响应内容并将其传给服务器。响应内容动态生成,通常取决于客户端的请求;4) 服务器将响应返回给客户端。简单说servlet也是java语言,有两种方法,doget()和dopost()来处理来自客户端的请求,也能响应客户端的请求。在ecl原创 2017-04-10 22:04:33 · 450 阅读 · 0 评论 -
servlet之数据库的增,删,改,查
查询:修改:删除:添加:代码:frame.jsp(显示左右界面)framemenu.jsp用户管理添加用户新闻管理 FindPage.java(构造分页)public class FindPage extends HttpServlet { private static final long seri原创 2017-04-10 22:37:23 · 13980 阅读 · 2 评论 -
jsp之javaBean分页查询
图片:定义每页的记录数:public class User { public static final int PAGESIZE=10;} find类:作用是查询总记录数和分页信息public class Find { //查询总记录数 public int SelectCount(){ int count=0;原创 2017-03-27 23:51:32 · 844 阅读 · 0 评论