<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Eric_ley的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Eric_ley</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Eric_ley]]></copyright><item><title><![CDATA[java 使用freemaker模版生成docx word文档的解决方案]]></title><link>https://blog.youkuaiyun.com/Eric_ley/article/details/87376476</link><guid>https://blog.youkuaiyun.com/Eric_ley/article/details/87376476</guid><author>Eric_ley</author><pubDate>Fri, 15 Feb 2019 18:45:33 +0800</pubDate><description><![CDATA[   公司前一段时间做的一个项目中应用到了这个技术，需要后台获取数据后在前台直接下载word文档，利用freemarker模版生成的doc文档在电脑上可以正常打开，但是发送到手机上打开则全部变成“乱码”。但实际上并不是乱码，而是xml格式的代码，在手机等移动端显示不出正常的文档信息。之后辗转查询使用了很多方案，比如利用poi操作，利用jacob进行格式转换，但是效果都不尽如人意，而且处理过程非常复...]]></description><category></category></item><item><title><![CDATA[SSM系列4：系列终极版--已在真实项目中应用。]]></title><link>https://blog.youkuaiyun.com/Eric_ley/article/details/81566658</link><guid>https://blog.youkuaiyun.com/Eric_ley/article/details/81566658</guid><author>Eric_ley</author><pubDate>Fri, 10 Aug 2018 17:43:57 +0800</pubDate><description><![CDATA[         这个版本SSM框架搭建是系列的最后一篇了。与之前的相比重构了代码，在真实项目中可以更加方便的进行扩展开发。另外，前端的框架之前一直使用Easyui,在这一版中加入了layui，一个非常漂亮的前端框架。他们家的模板做的也很强大，推荐一波。在我的代码中都是原生自写的，基本功能都已实现，但有些功能还未完善，所以在某些地方会看到layui+easyui的形式。下面进行展示，最后会有下载链...]]></description><category></category></item><item><title><![CDATA[外网远程访问内网指定的服务器桌面]]></title><link>https://blog.youkuaiyun.com/Eric_ley/article/details/79114062</link><guid>https://blog.youkuaiyun.com/Eric_ley/article/details/79114062</guid><author>Eric_ley</author><pubDate>Sat, 20 Jan 2018 15:04:47 +0800</pubDate><description><![CDATA[大家都知道，同一内网内下的两台电脑只需要IP地址就可以实现相互远程访问控制，但是在外网的环境下想要远程控制内网下的某一台电脑桌面就不得不在路由器上做一些基本的设置的，今天闲来无事，就试着利用路由器的配置来实现外网访问内网服务器，过程也是相当的简单，按照这些步骤，基本都可以实现这一过程。
     首先，要确保你的电脑允许远程访问，这个可以在右击我的电脑-属性下设置：




然后进入注]]></description><category></category></item><item><title><![CDATA[mySql数据库一些非常规查询，工作中可能会用到，备份一下以便即用即拿]]></title><link>https://blog.youkuaiyun.com/Eric_ley/article/details/79001976</link><guid>https://blog.youkuaiyun.com/Eric_ley/article/details/79001976</guid><author>Eric_ley</author><pubDate>Mon, 08 Jan 2018 13:57:47 +0800</pubDate><description><![CDATA[这些东西纯属个人经验，由于资历尚浅，可能会做一些冗余操作，欢迎指正。
1.有时候需要你去统计以下库里多张表的总记录数。恰好这些表的名称都比较类似（比如都以tb_开头），这个时候我们可以先把所需要的表的查询SQL全部连起来，然后再去查询。
SELECT CONCAT(
    'select "', 
    TABLE_name, 
    '", carid,alarmcontent fro]]></description><category></category></item><item><title><![CDATA[SSM系列3：SSM+easyUI+HTML5部分新特性]]></title><link>https://blog.youkuaiyun.com/Eric_ley/article/details/77774564</link><guid>https://blog.youkuaiyun.com/Eric_ley/article/details/77774564</guid><author>Eric_ley</author><pubDate>Fri, 01 Sep 2017 16:31:37 +0800</pubDate><description><![CDATA[照例不说什么废话，直接开始。希望对初学者有些帮助。

这次的升级版主要将之前所用的技术全部融于一体，内容已经无限接近正式开发案例。

代码就不贴了，只贴效果图，末尾有源码下载连接。

来看下功能图片：

首先是登陆界面，添加了一个验证码插件，没有设计什么华丽的样式，就这样显示吧。



然后是主界面，跟之前的版本一样，没有做什么改动。



再然后介绍一下具体的功能，第一个是简单的增删改查，比较基...]]></description><category></category></item><item><title><![CDATA[java几种常用的排序算法]]></title><link>https://blog.youkuaiyun.com/Eric_ley/article/details/56673369</link><guid>https://blog.youkuaiyun.com/Eric_ley/article/details/56673369</guid><author>Eric_ley</author><pubDate>Thu, 23 Feb 2017 15:34:27 +0800</pubDate><description><![CDATA[直接贴下代码
package com.panda.sort.bubble;

public class BubbleSort {
	/**
	 * 冒泡排序
	 * @param args
	 */
	static void exchange(int[] array,int a,int b){
		int c =array[a];
		array[a] = array[b];
		array[b]]></description><category></category></item><item><title><![CDATA[设计模式系列之六：代理模式]]></title><link>https://blog.youkuaiyun.com/Eric_ley/article/details/56479967</link><guid>https://blog.youkuaiyun.com/Eric_ley/article/details/56479967</guid><author>Eric_ley</author><pubDate>Wed, 22 Feb 2017 10:12:57 +0800</pubDate><description><![CDATA[代理模式市一中很常用的结构型模式，类似于生活中的代理机构，比如机票代购点，海外代购等等，明星演员的经纪人也就是所谓的代理人也是这种形式。
代理模式分为静态代理和动态代理
静态代理有三个核心角色，抽象角色（定义真实角色和代理角色对外的公开方法），真实角色（实现抽象角色的方法以供道理角色调用，关注真正的业务逻辑），代理角色（实现抽象角色，是真实角色的代理，通过真实角色的方式实现抽象角色的方法并可以]]></description><category></category></item><item><title><![CDATA[设计模式系列之五：适配器模式]]></title><link>https://blog.youkuaiyun.com/Eric_ley/article/details/56282350</link><guid>https://blog.youkuaiyun.com/Eric_ley/article/details/56282350</guid><author>Eric_ley</author><pubDate>Tue, 21 Feb 2017 14:36:16 +0800</pubDate><description><![CDATA[适配器模式属于结构型设计模式，主要应用于升级或改造旧系统时。所谓适配器按生活中的说法就是一个转接口，将原本不直接匹配的两个产品组合起来，类似于用iPhone手机充电器给android手机充电需要一个转换头，生活中这种例子随处可见。
适配器模式主要有三个组成部分，目标接口（Target），适配器（Adapter），适配对象（Adaptee）。
package com.panda.adpter;]]></description><category></category></item><item><title><![CDATA[设计模式系列之四：原型模式]]></title><link>https://blog.youkuaiyun.com/Eric_ley/article/details/56278510</link><guid>https://blog.youkuaiyun.com/Eric_ley/article/details/56278510</guid><author>Eric_ley</author><pubDate>Tue, 21 Feb 2017 11:16:01 +0800</pubDate><description><![CDATA[原型模式是创建型模式的 最后一种，类似于克隆技术，一般情况下原型模式不会单独出现，而总是和工厂模式一起使用。spring中bean的床架其实就两种，单例和原型。当你需要new的类结构比较复杂或有很多限制条件的时候可以考虑用原型模式。
原型模式的使用需要将你要复制的类实现cloneable接口，并重写Object类的clone（）方法。
package com.panda.prototype;
]]></description><category></category></item><item><title><![CDATA[设计模式系列之三：建造者模式]]></title><link>https://blog.youkuaiyun.com/Eric_ley/article/details/56015566</link><guid>https://blog.youkuaiyun.com/Eric_ley/article/details/56015566</guid><author>Eric_ley</author><pubDate>Mon, 20 Feb 2017 16:41:39 +0800</pubDate><description><![CDATA[建造者，顾名思义，就是要从设计师的角度去建造一个产品，就像你造一个汽车，一部手机，这时候我们首先就需要众多零件，这些零件就是你所需要的类，同时还要合理的把这些零件组装带一起产生一个你需要的产品。
建造者模式的本质是分离了对象自组建的单独构造（由Builder来负责）和装配（由Director来负责），从而可以构造出复杂的对象。由于实现了构造和装配的解耦，不同的构造器，相同的装配过程也会产生不同的]]></description><category></category></item><item><title><![CDATA[设计模式系列之二：工厂模式]]></title><link>https://blog.youkuaiyun.com/Eric_ley/article/details/56009819</link><guid>https://blog.youkuaiyun.com/Eric_ley/article/details/56009819</guid><author>Eric_ley</author><pubDate>Mon, 20 Feb 2017 11:26:48 +0800</pubDate><description><![CDATA[面向对象的设计要遵循几项基本原则：		OCP（open-closed principle ）:开闭原则，一个类的实体应该对扩展开放，对修改关闭。		DIP（dependence invers princip）:依赖倒转原则，要针对接口编程，而不是针对实现编程。		LOD（low of demeter）:迪米特法则:只与你直接的朋友通讯，而不与陌生人通讯。    工厂模式主要分三种，简单工厂模式，工]]></description><category></category></item><item><title><![CDATA[设计模式系列之一：单例模式]]></title><link>https://blog.youkuaiyun.com/Eric_ley/article/details/55657177</link><guid>https://blog.youkuaiyun.com/Eric_ley/article/details/55657177</guid><author>Eric_ley</author><pubDate>Sat, 18 Feb 2017 10:52:34 +0800</pubDate><description><![CDATA[要成为一个合格的程序猿，程序设计的思维那是必不可少的。今天来介绍一下java设计模式中最简单，也是最常用的设计模式，单例模式。
在java中，每个自定义类都可以有无数个对象，而采用单例能极大的利用现有资源从而减少系统资源的浪费。

单例模式的应用场景非常广泛，
    如：数据库连接池的设计就是采用单例，

    servlet编程中每个servlet也是单例，
   Applic]]></description><category></category></item><item><title><![CDATA[ORACLE PL/SQL语法应用：游标，存储过程，触发器，函数]]></title><link>https://blog.youkuaiyun.com/Eric_ley/article/details/55262069</link><guid>https://blog.youkuaiyun.com/Eric_ley/article/details/55262069</guid><author>Eric_ley</author><pubDate>Thu, 16 Feb 2017 17:46:30 +0800</pubDate><description><![CDATA[--游标
--do while
declare 
  cursor c is select * from t_t_student order by id;
  v_record c%rowtype;
begin
  open c;
  loop
  fetch c into v_record;
  exit when(c%notfound);
   dbms_output.pu]]></description><category></category></item><item><title><![CDATA[ORACLE PL/SQL语法总结]]></title><link>https://blog.youkuaiyun.com/Eric_ley/article/details/55260724</link><guid>https://blog.youkuaiyun.com/Eric_ley/article/details/55260724</guid><author>Eric_ley</author><pubDate>Thu, 16 Feb 2017 16:48:02 +0800</pubDate><description><![CDATA[--定义数组类型
DECLARE 
  type array_var is table of t_t_student.name%type index by binary_integer;
  v_name array_var;
begin
  v_name(-1) := '张伯伦';
  dbms_output.put_line(v_name(-1));
end;
--record]]></description><category></category></item><item><title><![CDATA[ORACLE基础：常用函数]]></title><link>https://blog.youkuaiyun.com/Eric_ley/article/details/55252303</link><guid>https://blog.youkuaiyun.com/Eric_ley/article/details/55252303</guid><author>Eric_ley</author><pubDate>Thu, 16 Feb 2017 10:25:16 +0800</pubDate><description><![CDATA[oracle内置函数非常多，但在一般的开发中能用到的几乎不到一半，也可能使个人水平过低，反正我工作以来有些函数一次都没用过。
  今天把常用的部分函数做一个整理，方便日后查用。不常用的放到后边作为补充。


  0.avg()求平均值，max()求最大值,min()求最小值

  1.CONCAT (' ',' ')连接两个字符串; ’||’符号也代表拼接
  SQL> select]]></description><category></category></item><item><title><![CDATA[SSM+EasyUI整合，简单实现后台增删改查操作]]></title><link>https://blog.youkuaiyun.com/Eric_ley/article/details/55210319</link><guid>https://blog.youkuaiyun.com/Eric_ley/article/details/55210319</guid><author>Eric_ley</author><pubDate>Wed, 15 Feb 2017 15:28:40 +0800</pubDate><description><![CDATA[这次的整合过程是以之前的SSM整合1.0的示例作为蓝本，加上最新的EasyUI插件来进行整理的，可以说是入门级的整合教程，希望对有兴趣的人提供一些帮助。
  随着整合的东西越来越多，代码量已经变的比较庞大，贴出来也无任何意义，我会把源代码分享出来，底部会有链接。
  就看几张图片，来了解一下当我们使用EasyUI这个后台框架时，会有什么样的画面效果：
  首先登录以后的界面会是这样：]]></description><category></category></item><item><title><![CDATA[java通信二：利用Socket实现聊天室功能]]></title><link>https://blog.youkuaiyun.com/Eric_ley/article/details/54906931</link><guid>https://blog.youkuaiyun.com/Eric_ley/article/details/54906931</guid><author>Eric_ley</author><pubDate>Tue, 07 Feb 2017 10:22:14 +0800</pubDate><description><![CDATA[最近研究了下java socket通信基础，利用代码实现了一个简单的多人聊天室功能，现把代码共享下，希望能帮到有兴趣了解的人。
目录结构：

ChatClient:
package com.panda.chat;

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;

@Suppr]]></description><category></category></item><item><title><![CDATA[java通信一：Socket通信原理简单理解]]></title><link>https://blog.youkuaiyun.com/Eric_ley/article/details/54861099</link><guid>https://blog.youkuaiyun.com/Eric_ley/article/details/54861099</guid><author>Eric_ley</author><pubDate>Sat, 04 Feb 2017 10:07:01 +0800</pubDate><description><![CDATA[在接触Java之前，本人曾对即时通讯工具非常感兴趣。现在是网络时代，网络间通讯已经成为了每个人生活的一部分，有鉴于此，程序员在这方面做出一定的了解是极为必要的。因为工作的关系，一直接触不到网络编程这一块，因此自己通过业余时间来研究学习，也得出一些自己的认识，希望可以帮助到和我一样的初学者。
今天就来说一下socket通信的基本原理。


TCP/IP


要想理解socket首先得熟]]></description><category></category></item><item><title><![CDATA[jsp引入图片路径问题]]></title><link>https://blog.youkuaiyun.com/Eric_ley/article/details/54693135</link><guid>https://blog.youkuaiyun.com/Eric_ley/article/details/54693135</guid><author>Eric_ley</author><pubDate>Mon, 23 Jan 2017 13:57:51 +0800</pubDate><description><![CDATA[JSP页面在引图片的时候是在页面解析的路径是:。
也就是说JSP在引图片的时候是先去你的工程目录下找的。 
所以如果要在JSP中引入其他盘符的图片，有种方法可以解决： 

使用虚拟路径来配置： 
在tomcat下的conf/server.xml中增加一个代码 在中间 
如下： 
 
 
配置好以后，在JSP文件中为： 
 
图片就显示出来了。 
修改server.xml
]]></description><category></category></item><item><title><![CDATA[SSM系列2：简易详细的（Spring +Springmvc+Mybatis）框架整合搭建]]></title><link>https://blog.youkuaiyun.com/Eric_ley/article/details/54583372</link><guid>https://blog.youkuaiyun.com/Eric_ley/article/details/54583372</guid><author>Eric_ley</author><pubDate>Tue, 17 Jan 2017 16:01:10 +0800</pubDate><description><![CDATA[好，开始。
 上篇结尾说过要对整合框架进行升级，这次2.0版奉上。
 这篇基本是在上篇的基础上建立起来的，相比上篇，这篇使用了MAVEN工具，另外添加了Shiro框架，使项目有了验证功能同时具备了事务管理功能。
 这次我就补贴代码了，直接把项目分享下。
 注释不全，有不懂得百度就可以了，都是基础的东西。
 直接点击下载。]]></description><category></category></item></channel></rss>