首页 » 软件开发

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

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

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

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

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

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

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

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

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

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

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

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

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日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

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

TCP协议图文秒懂

       本文将简单介绍tcp协议的基本内容,主要包括一下四部分: tcp概述 TCP可靠数据传输  TCP流量控制  TCP连接管理  TCP概述  tcp是一个点对点端到端的传输协议,有一个发送方和接收方。 tcp传输的是可靠的按序到达的字节流 tcp采用流水线机制,提高传输的效率。TCP通过拥塞控制和流量控制机制来控制滑动窗口的大小阅读全文 »

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

详解Spring实现AOP的多种方式

       目录  一、基于XML配置的Spring AOP  二、使用注解配置AOP  三、AspectJ切点函数  四、AspectJ通知注解  五、零配置实现Spring IoC与AOP  六、示例下载  AOP(Aspect Oriented Programming)面向切面编程,通过预编译方式和运行期动态代理实现程序功能的横向多模块统一控制的一种技术。阅读全文 »

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