首页 » 软件开发

小白照样读懂的VLAN原理讲解

       为什么需要VLAN 1. 什么是VLAN? VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域。 在此让我们先复习一下广播域的概念。广播域,指的是广播帧(目标MAC地址全部为1)所能传递到的范围,亦即能够直接通信的范围。阅读全文 »

2018年7月12日
作者:鸡啄米 分类:软件开发 浏览: 评论:3

SSH电商项目实战之十:商品类基本模块的搭建

       前面我们完成了与商品类别相关的业务逻辑,接下来我们开始做具体商品部分。  1. 数据库建表并映射Model  首先我们在数据库中新建一张表,然后使用逆向工程将表映射成Model类,表如下:... 使用逆向工程映射为Model类就不赘述了,前面有提到如何使用逆向工程生成Model。 2. 完成商品类的Service层和Action的架构 2.1 商品类的Service层架构阅读全文 »

2018年3月7日
作者:鸡啄米 分类:软件开发 浏览: 评论:3

SSH电商项目实战之九:添加和更新商品类别功能的实现

       上一节我们做完了查询和删除商品的功能,这一节我们做一下添加和更新商品的功能。  1. 添加商品类别  1.1 添加类别的UI设计  我们先说一下思路:首先当用户点击“添加商品”时,我们应该弹出一个“添加商品”的UI窗口(注意这里不是跳转到新的jsp,EasyUI只有一个页面),弹出这个“添加商品”的窗口后,应该锁住它父类的所有窗口阅读全文 »

2017年10月24日
作者:鸡啄米 分类:软件开发 浏览: 评论:8

SSH电商项目实战之八:查询和删除商品类别功能的实现

       上一节我们完成了使用DataGrid显示所有商品信息,这节我们开始添加几个功能:添加、更新、删除和查询。首先我们实现下前台的显示,然后再做后台获取数据。  1. 添加、更新、删除和查询功能的前台实现 DataGrid控件里有个toolbar属性,是添加工具栏的,我们可以在toolbar属性中添加这些按钮来实现相应的功能。先看一下官方文档对toolbar的定义:...阅读全文 »

2017年10月11日
作者:鸡啄米 分类:软件开发 浏览: 评论:6

SSH电商项目实战之七:Struts2和Json的整合

       上一节我们完成了DataGrid显示jason数据,但是没有和后台联系在一起,只是单纯地显示了我们自己弄的json数据,这一节我们将json和Struts2整合,打通EasyUI和Struts2之间的交互。  1. json环境的搭建  json环境搭建很简单,导入json的jar包即可... 2. 完善Action 在DataGrid控件中有个属性是url,可以指定请求数据的url地址,在上一节阅读全文 »

2017年9月27日
作者:鸡啄米 分类:软件开发 浏览: 评论:1

SSH电商项目实战之六:基于DataGrid的数据显示

       EasyUI中DataGrid以表格形式展示数据,并提供了丰富的选择、排序、分组和编辑数据的功能支持。DataGrid的设计用于缩短开发时间,并且使开发人员不需要具备特定的知识。它是轻量级的且功能丰富。单元格合并、多列标题、冻结列和页脚只是其中的一小部分功能。  1. 回顾一下第4节内容  在第4节中,我们使用EasyUI搭建好了左侧菜单栏,并且通过点击菜单选项在右边弹出对应的选项卡。阅读全文 »

2017年9月19日
作者:鸡啄米 分类:软件开发 浏览: 评论:3

SSH电商项目实战之五:完成数据库的级联查询和分页

       上一节我们完成了EasyUI菜单的实现。这一节我们主要来写一下CategoryServiceImpl实现类,完成数据库的级联查询。一般项目从后往前做,先做service(我们没有抽取Dao,最后再抽取),做完了再做上面层。  在写之前,先看一下数据库中的表的情况:... 主要有两张表,商品类别表和管理员表,并且商品类别表中提供了一个外键关联管理员表。阅读全文 »

2017年9月13日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

SSH电商项目实战之四:EasyUI菜单的实现

       上一节我们使用EasyUI搭建了后台页面的框架,这一节我们主要使用EasyUI技术简单实现后台菜单,先将简单功能做出来,后期再继续丰富。(EasyUI下载地址)  1. 实现左侧菜单  首先看一下效果图:  我们可以点击“基本操作”和“其他操作”来切换菜单选项,在具体的选项内,点击不同的连接,会在右侧显示出来。我们先把左边的菜单做出来。阅读全文 »

2017年9月11日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

SSH电商项目实战之三:使用EasyUI搭建后台页面框架

       前面两节,我们整合了SSH并且抽取了service和action部分的接口,可以说基本开发环境已经搭建好了,这一节我们搭建一下后台的页面。我们讨论一下两种搭建方式:基于frameset和基于easyUI。最后我们会使用easyUI来开发。 1. 抽取公共JSP页面 我们先来看一下当前的jsp页面:... 先撇开body部分的内容不看,因为这都是之前测试用的,抽取JSP页面是指将一些共有部分抽取出阅读全文 »

2017年9月6日
作者:鸡啄米 分类:软件开发 浏览: 评论:1

SSH电商项目实战之二:基本增删查改、Service和Action的抽取以及使用注解替换xml

       上一节我们搭建好了Struts2、Hibernate和Spring的开发环境,并成功将它们整合在一起。这节主要完成一些基本的增删改查以及Service、Dao和Action的抽取。 1. Service层的抽取 上一节中,我们在service层简单写了save和update方法,这里我们开始完善该部分的代码,然后对service层的代码进行抽取。阅读全文 »

2017年9月4日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

SSH电商项目实战之一:整合Struts2、Hibernate和Spring

       今天开始做一个网上商城的项目,首先从搭建环境开始,一步步整合S2SH。这篇博文主要总结一下如何整合Struts2 、Hibernate4.3和Spring4.2。 整合三大框架得先从搭建各部分环境开始,也就是说首先得把Spring,Hibernate和Struts2的环境搭建好,确保它们 没有问题了,再做整合。这篇博文遵从的顺序是:先搭建Spring环境-->然后搭建Hibernate环境-->阅读全文 »

2017年8月30日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

设计模式总结干货

       1.面向对象的三大特性 1)封装(Encapsulation) 隐藏对象的具体实现细节,通过共有方法暴露对象的功能。内部结构可以自由修改,同时可对成员进行更加精确的控制 (比如在setter方法中加值合法判断) 2)继承(Inheritance) 使用已经存在的类作为基础类(父类),在此基础上建立新类(子类), 子类既可复用父类的功能,也能进行扩展,从而实现代码复用。阅读全文 »

2017年8月25日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

Hibernate下openSession和getCurrentSession获取的连接与事务的关系

       测试1:openSession在不开启事务的情况下执行操作  Session session= SessionFactoryUtil.openSession();  (1):session.get(UserInfo.class,14L); //执行成功,得到数据  (2):session.delete(new UserInfo(16L)); //执行成功 但数据库数据不变(符合逻辑)阅读全文 »

2017年8月17日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

深入浅出SINGLETON单例设计模式

       单实例Singleton设计模式可能是被讨论和使用的最广泛的一个设计模式了,这可能也是面试中问得最多的一个设计模式了。这个设计模式主要目的是想在整个系统中只能出现一个类的实例。这样做当然是有必然的,比如你的软件的全局配置信息,或者是一个Factory,或是一个主控类,等等。你希望这个类在整个系统中只能出现一个实例。当然,作为一个技术负责人的你,你当然有权利通过使用非技术的手段来达到你的目的。阅读全文 »

2017年8月11日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

如何解决Chrome中网页的内存泄露问题

       修复内存问题  了解如何使用Chrome DevTools查找影响网页性能的内存问题,包括内存泄漏,内存膨胀和频繁的垃圾回收。  TL;DR  使用Chrome任务管理器,了解您的网页使用的内存量。  使用时间轴记录可视化内存使用。  使用堆快照标识分离的DOM树(内存泄漏的常见原因)。  通过分配时间轴记录了解在JS堆中分配新内存的时间。阅读全文 »

2017年7月31日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

人工智能之机器学习路线图

       一. 引言  也许你和这个叫『机器学习』的家伙一点也不熟,但是你举起iphone手机拍照的时候,早已习惯它帮你框出人脸;也自然而然点开今日头条推给你的新闻;也习惯逛淘宝点了找相似之后货比三家;亦或喜闻乐见微软的年龄识别网站结果刷爆朋友圈。恩,这些功能的核心算法就是机器学习领域的内容。  套用一下大神们对机器学习的定义,机器学习研究的是计算机怎样模拟人类的学习行为,以获取新的知识或技能,并重新组织已阅读全文 »

2017年7月26日
作者:鸡啄米 分类:软件开发 浏览: 评论:1

20个非常有用的JAVA程序片段

       下面是20个非常有用的Java程序片段,希望能对你有用。 1. 字符串有整型的相互转换 2. 向文件末尾添加内容 3. 得到当前方法的名字 4. 转字符串到日期 5. 使用JDBC链接Oracle 6. 把 Java util.Date 转成sql.Date 7. 使用NIO进行快速的文件拷贝阅读全文 »

2017年7月21日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

WebSocket入门的第一个教程

       WebSocket 是一种网络通信协议,很多高级功能都需要它。  本文介绍 WebSocket 协议的使用方法。  一、为什么需要 WebSocket?  初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处?   答案很简单,因为 HTTP 协议有一个缺陷:通信只能由客户端发起。阅读全文 »

2017年7月19日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

Hibernate下著名的延迟加载问题和1:N问题

       问题描述:  如果延迟的操作是发生在CRUD的操作所在的session关闭之后,就会出现这个异常.  什么是延迟的操作?  1.fetch = "LAZY"机制   ManyToOne,OneToMany,ManyToMany中对关联对象的延迟调用  读出持久化对象时,并不把关联的对象实际读出,而是延迟到访问到持久化对象的关联对象属性时,才向数据库发成读操作阅读全文 »

2017年7月10日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

JavaScript中的Function类

       每个函数都是Function类型的实例  最好不用方法三去创建函数,但是方法三可以更清晰的看到,函数就是一个对象,通过new实例化得到。而函数名就是一个保存此对象的引用。 也正是因为函数名就是一个特殊的变量,所以,在JavaScript中,没有函数重载这一说,有的只是覆盖。阅读全文 »

2017年6月30日
作者:鸡啄米 分类:软件开发 浏览: 评论:2