<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zhangfeikk0的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zhangfeikk0</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zhangfeikk0]]></copyright><item><title><![CDATA[当爱情即将败给面包，我迷茫了。]]></title><link>https://blog.youkuaiyun.com/zhangfeikk0/article/details/39288569</link><guid>https://blog.youkuaiyun.com/zhangfeikk0/article/details/39288569</guid><author>zhangfeikk0</author><pubDate>Mon, 15 Sep 2014 09:33:45 +0800</pubDate><description><![CDATA[2010年进入大学，认识并且追到了现在的女朋友，学习的是软件开发。大学期间我对于爱情和面包的选择是爱情，于是我放弃了去沿海而选择留在了长沙，因为她选择了父母留在株洲，我不想因为太遥远的距离而让我们的感情变谈。工作之后基本每周都会去株洲陪她一次,但是进半年她的日常休息时间从双休变成单休再变成一周两天休息时间，除开陪家人的时间我们基本没有在一起的时间。而她的父母是不同意我们在一起的，就简单的因为我们是]]></description><category></category></item><item><title><![CDATA[安卓客户端与服务器进行连接]]></title><link>https://blog.youkuaiyun.com/zhangfeikk0/article/details/11044581</link><guid>https://blog.youkuaiyun.com/zhangfeikk0/article/details/11044581</guid><author>zhangfeikk0</author><pubDate>Thu, 05 Sep 2013 11:24:52 +0800</pubDate><description><![CDATA[00]]></description><category></category></item><item><title><![CDATA[Hibernate工作流程]]></title><link>https://blog.youkuaiyun.com/zhangfeikk0/article/details/10133963</link><guid>https://blog.youkuaiyun.com/zhangfeikk0/article/details/10133963</guid><author>zhangfeikk0</author><pubDate>Wed, 21 Aug 2013 09:50:15 +0800</pubDate><description><![CDATA[Hibernate的工作流程很简单，最终都是获得session，通过session对象来对数据库进行操作。先看一下如何获取session对象(上一章的代码片段里有)：
Session session = new Configuration().
configure().buildSessionFactory().
openSession();
首先创建一个Configuration类的实例]]></description><category></category></item><item><title><![CDATA[Hibernate基础]]></title><link>https://blog.youkuaiyun.com/zhangfeikk0/article/details/10133867</link><guid>https://blog.youkuaiyun.com/zhangfeikk0/article/details/10133867</guid><author>zhangfeikk0</author><pubDate>Wed, 21 Aug 2013 09:48:52 +0800</pubDate><description><![CDATA[Hibernate是一个开源的对象关系映射框架，它对JDBC进行了轻量级的封装，使得程序员不用再面对繁琐的面向过程的数据库操作，而是升级到面向对象的问题上来，这样不仅可以提高效率还可以避免应用JDBC编程时容易产生的错误。
其他的相关配置文件可以利用反向生成，这个我们后面再讲。
这里提供简单的增删改查的方法的代码：
import java.util.List;
import javax.p]]></description><category></category></item><item><title><![CDATA[struts 2的文件下载]]></title><link>https://blog.youkuaiyun.com/zhangfeikk0/article/details/9501425</link><guid>https://blog.youkuaiyun.com/zhangfeikk0/article/details/9501425</guid><author>zhangfeikk0</author><pubDate>Fri, 26 Jul 2013 23:06:25 +0800</pubDate><description><![CDATA[一般是在页面实现一个超链接，该链接指向一个action请求，然后在对应的action类中进行一些属性的处理后直接返回“SUCCESS”，最后在action配置的result中用param配置参数完成文件的下载，先了解一下这些参数：
inputName：该参数指定action类中作为输入流的属性名。
contentType：用于指定下载文件的类型，若指定该参数，当下载一个图片类型时会直接在浏览器]]></description><category></category></item><item><title><![CDATA[struts 2的文件上传]]></title><link>https://blog.youkuaiyun.com/zhangfeikk0/article/details/9471151</link><guid>https://blog.youkuaiyun.com/zhangfeikk0/article/details/9471151</guid><author>zhangfeikk0</author><pubDate>Fri, 26 Jul 2013 22:28:30 +0800</pubDate><description><![CDATA[使用struts 2的文件上传需要先添加两个JAR文件，读者自己去查找。使用文件上传，在上传页面代码的标签中使用其enctype属性，属性值为“multipart/form-data”，表示该编码方式会以二进制流的方式来处理表单数据。该编码方式还会把文件域中指定文件的内容封装到请求参数中，所以在文件上传时必须指定该属性。同时需要注意一点的是上传文件的默认大小限制是2MB，只要在配置文件“strut]]></description><category></category></item><item><title><![CDATA[struts 2的输入校验]]></title><link>https://blog.youkuaiyun.com/zhangfeikk0/article/details/9453321</link><guid>https://blog.youkuaiyun.com/zhangfeikk0/article/details/9453321</guid><author>zhangfeikk0</author><pubDate>Wed, 24 Jul 2013 17:37:22 +0800</pubDate><description><![CDATA[struts 2的输入校验一般有一下几种：
1、在action类的处理方法中进行校验。这种方法不推荐使用，因为这样会使得代码臃肿，不易维护。
2、继承ActionSupport类，重写其validate()方法实现输入校验。这个不多说，因为重点在第三种方法里。
3、应用struts 2的校验框架进行校验。使用框架校验需要在程序中创建一个配置文件，文件的名称与内容要按照一定的规则编写才能起到作]]></description><category></category></item><item><title><![CDATA[struts 2的标签库]]></title><link>https://blog.youkuaiyun.com/zhangfeikk0/article/details/9423983</link><guid>https://blog.youkuaiyun.com/zhangfeikk0/article/details/9423983</guid><author>zhangfeikk0</author><pubDate>Wed, 24 Jul 2013 00:52:49 +0800</pubDate><description><![CDATA[struts 2的标签非常容易使用，只要在页面中导入 就可以了，而struts 2标签库根据用途不同可以分为5类：
1、数据标签：主要用于输出值栈中的值，或者将值输入到值栈中。
1.1、标签：用于直接在页面调用一个action请求，属性如下：
          id：属性可选，用于作为该action的应用标志id。
          name：属性必选，用于指定该标签调用哪个actio]]></description><category></category></item><item><title><![CDATA[struts 2的OGNL]]></title><link>https://blog.youkuaiyun.com/zhangfeikk0/article/details/9416723</link><guid>https://blog.youkuaiyun.com/zhangfeikk0/article/details/9416723</guid><author>zhangfeikk0</author><pubDate>Tue, 23 Jul 2013 02:46:55 +0800</pubDate><description><![CDATA[其实初步掌握它并不难，举个例子就知道了。比如以前我们是session.getAttribute("userName"),那么现在就是#session.userName,通过“#对象名.属性”就可以得到前面的效果。
这样可以生成一个list对象：{a1,a2,a2,...};这样可以生成一个map对象：{key:value,key2:value2,...}.我们可以使用in和not in来判断某个]]></description><category></category></item><item><title><![CDATA[Action中<package>配置详解]]></title><link>https://blog.youkuaiyun.com/zhangfeikk0/article/details/9410461</link><guid>https://blog.youkuaiyun.com/zhangfeikk0/article/details/9410461</guid><author>zhangfeikk0</author><pubDate>Mon, 22 Jul 2013 17:21:32 +0800</pubDate><description><![CDATA[package元素用于定义struts.xml中的包配置，中可以定义action和拦截器等。使用package时一般须定义以下几个属性。
1、name
这个属性必须指定，代表包的名称，由于struts.xml可以定义不同不同的package，而且它们之间还可以相互引用，所以必须指定名称。
2、extends
这个属性是可选的，表示该包继承了其他的包，但是包信息的获取是配置文件中的先后顺序进]]></description><category></category></item><item><title><![CDATA[Action中<result>的一些配置]]></title><link>https://blog.youkuaiyun.com/zhangfeikk0/article/details/9403113</link><guid>https://blog.youkuaiyun.com/zhangfeikk0/article/details/9403113</guid><author>zhangfeikk0</author><pubDate>Mon, 22 Jul 2013 01:49:32 +0800</pubDate><description><![CDATA[参数值
		
上面是一个完整的配置，它的属性包括name和type，相信大家能看懂name存在的意思，但是为什么还要有type呢？因为在实际应用当中我们不可能每次都是跳转到一个页面，有可能会从一个action跳到另一个action，这个时候就要指定type属性。是为返回结果设置参数。需要注意一点的是name与type这两个属性都有默认值，分别是“success”和“dispatcher”。
现]]></description><category></category></item><item><title><![CDATA[Struts 2工作流程]]></title><link>https://blog.youkuaiyun.com/zhangfeikk0/article/details/9398457</link><guid>https://blog.youkuaiyun.com/zhangfeikk0/article/details/9398457</guid><author>zhangfeikk0</author><pubDate>Sun, 21 Jul 2013 16:09:08 +0800</pubDate><description><![CDATA[个人觉得了解Struts 2的工作流程还是很重要的，这样你才能知其然并知其所以然。因为有时候面试的时候会问你这个问题，虽然说你会用，但是人家一问你这个问题你不知道怎么回答就尴尬了，很有可能会与这份工作失之交臂。
1、首先客户端提交一个(HttpServletRequest)请求。
2、请求被提交到一系列的过滤器(ActionContextCleanUp、SiteMesh以及其他的过滤器、Fil]]></description><category></category></item><item><title><![CDATA[Struts 2的MVC模式]]></title><link>https://blog.youkuaiyun.com/zhangfeikk0/article/details/9398209</link><guid>https://blog.youkuaiyun.com/zhangfeikk0/article/details/9398209</guid><author>zhangfeikk0</author><pubDate>Sun, 21 Jul 2013 15:42:48 +0800</pubDate><description><![CDATA[MVC是一个设计模式，它将程序的输入、处理、输出三个部分分开处理，程序被分为了三个部件：M(模型)、V(视图)、C(控制器)，他们各自处理自己的业务。
V(视图)：视图是与用户进行交流的界面，它最大的作用是输出数据并允许用户操作，它不关心数据是如何处理的。
M(模型)：它拥有最多的处理任务，模型部分就是对数据库的操作，它处理的数据是中立的，由控制器调用。
C(控制器)：接收用户的输入并调用模]]></description><category></category></item><item><title><![CDATA[面向对象设计原则]]></title><link>https://blog.youkuaiyun.com/zhangfeikk0/article/details/9387353</link><guid>https://blog.youkuaiyun.com/zhangfeikk0/article/details/9387353</guid><author>zhangfeikk0</author><pubDate>Sat, 20 Jul 2013 01:55:31 +0800</pubDate><description><![CDATA[在学习设计模式之前我们先来了解面向对象设计的一些基本原则，每一种设计模式都符合其中一种或者是多种原则，通过使用这些原则来提高软件的可维护性和可复用性。
一般来说可维护性低的软件设计，通常都由以下几个原因造成：
(1)  过于僵硬：很难在原有的系统中添加新的功能，添加新的功能将会涉及到多个模块，造成系统改动过大。
(2)  过于脆弱：与过于僵硬同时存在一旦修改系统某个功能，可能会导致在看上去没]]></description><category></category></item></channel></rss>