自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 资源 (14)
  • 收藏
  • 关注

转载 解决SpringMVC传输json数据时的乱码

今天在练习过程中遇到SringMVC传输中文乱码问题,找了很久才解决。数据库设置编码为UTF-8eclipse工作区编码也是UTF-8,控制台打印出中文正常jsp设置编码为UTF-8<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>js代码如下:window.onload

2016-04-28 13:06:32 6139

原创 windows下搭建solr服务器,整合tomcat

初学者,要是有什么不对的地方请不吝赐教。solr一般是用在linux下,但是对于初学者来说,在linux下操作还是会有些问题。所以,我们还是先在windows下练练手。solr是使用java编写,所以既可以在linux也可以在windows运行。配置过程差不多,都可以互相参考。需要的文件及环境:JDK 1.7+,并配置环境变量tomcatsolr1.官网下载

2016-04-18 10:04:56 3975

原创 springmvc文件上传报错

学习spring mvc的文件上传,在上传的时候遇到一下错误:HTTP Status 500 - Request processing failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.sp

2016-04-15 17:18:43 4067

原创 spring MVC报错 Expected MultipartHttpServletRequest: is a MultipartResolver configured?

在使用Spring MVC进行图片上传的时候,报错严重: Servlet.service() for servlet [taotao-manager] in context with path [] threw exception [Request processing failed; nested exception is java.lang.IllegalArgumentException

2016-04-07 19:30:59 6553

原创 maven项目报错:找不到编译器

在运行maven项目时,报错[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.2:compile (default-compile) on project taotao-manager-pojo: Compilation failure[ERROR] No compiler is

2016-04-05 19:42:27 3073

Jackson的三个jar包

JacksonJAR.rar Jackson所依赖的三个jar包

2016-04-21

mysql-jdbc.jar

mysql-jdbc.jar jdbc连接mysql所用到的jar包

2016-04-21

Hibernate3.2 API(中文版).CHM

Hibernate3.2 API(中文版).CHM

2016-04-21

ServletContext

ServletContext代码,开发工具 Myeclipse

2015-11-06

C语言程序 农产品

snum --; //人数 -1 printf("删除成功\n"); menu(); return;

2015-11-03

apue.h 《UNIX环境高级编程》 头文件

相信很多初学《UNIX环境高级编程》的朋友都会遇到一个问题,运行里面的实例时就出现问题,提示 "错误:apue.h:没有那个文件或目录". apue.h是作者自定义的一个头文件,包括程序所需的常用头文件及出错处理函数。所以因该将它放入系统头文件中(Linux下是 /usr/include),这样gcc编译器就可以找到它了。 1. 超级用户权限登入 #cd /usr/include 2. 将apue.h和error.c两个文件copy到该目录下。(apue.h位于 your_apue_path/inlcude ; error.c位于your_apue_path/lib ) 以我的了路径为例: #cp /home/ucfree/apue.2e/inlcude/apue.h . #cp /home/ucfree/apue.2e/lib/error.c . (实现apue.h中的出错处理函数) 3. 编辑apue.h #vi apue.h 在最后一行 #endif /* _APUE_H */ 前面添加一行 #include "error.c" :wq 保存,退出. 这样你就可以运行下载的apue程序了.

2015-10-18

DirectX修复工具 V3.3标准版

DirectX修复工具(DirectX Repair)是一款系统级工具软件,简便易用。本程序为绿色版,无需安装,可直接运行。 本程序的主要功能是检测当前系统的DirectX状态,如果发现异常则进行修复。程序主要针对0xc000007b问题设计,可以完美修复该问题。本程序中包含了最新版的DirectX redist(Jun2010),并且全部DX文件都有Microsoft的数字签名,安全放心。 本程序为了应对一般电脑用户的使用,采用了傻瓜式一键设计,只要点击主界面上的“检测并修复”按钮,程序就会自动完成校验、检测、下载、修复以及注册的全部功能,无需用户的介入,大大降低了使用难度。 本程序适用于多个操作系统,如Windows XP(需先安装.NET 2.0,详情请参阅“致Windows XP用户.txt”文件)、Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 8.1 Update、Windows 10,同时兼容32位操作系统和64位操作系统。本程序会根据系统的不同,自动调整任务模式,无需用户进行设置。 本程序的V3.3版分为标准版、增强版以及在线修复版。其中的标准版以及增强版都包含完整的DirectX组件。除此之外,增强版中还额外包含了c++ Redistributable Package,因此增强版不但能解决DirectX组件的问题,而且还能解决c++组件异常产生的问题。增强版适合无法自行解决c++相关问题的用户使用。在线修复版的功能与标准版相同,只是其所需的文件将通过Internet下载,因此大大减小了程序的体积。本程序的各个版本之间,主程序完全相同,只是配套使用的数据包不同。因此,当您使用标准版数据包时,程序将进行标准修复;当您使用增强版的数据包时,程序将进行增强修复;当数据包不全或没有数据包(即只有DirectX Repair.exe程序)时,程序将进行在线修复。在线修复、离线修复可自由灵活组合,充分满足不同用户的需要。 本程序自V2.0版起采用全新的底层程序架构,使用了异步多线程编程技术,使得检测、下载、修复单独进行,互不干扰,快速如飞。新程序更改了自我校验方式,因此使用新版本的程序时不会再出现自我校验失败的错误;但并非取消自我校验,因此程序安全性与之前版本相同,并未降低。 程序有自动更新c++功能。由于绝大多数软件运行时需要c++的支持,并且c++的异常也会导致0xc000007b错误,因此程序在检测修复的同时,也会根据需要更新系统中的c++组件。自V3.2版本开始使用了全新的c++扩展包,可以大幅提高工业软件修复成功的概率。修复c++的功能仅限于增强版,标准版及在线修复版在系统c++异常时(非丢失时)会提示用户使用增强版进行修复。 程序有两种窗口样式。正常模式即默认样式,适合绝大多数用户使用。另有一种简约模式,此时窗口将只显示最基本的内容,修复会自动进行,修复完成10秒钟后会自动退出。该窗口样式可以使修复工作变得更加简单快速,同时方便其他软件、游戏将本程序内嵌,即可进行无需人工参与的快速修复。开启简约模式的方法是:打开程序所在目录下的“Settings.ini”文件(如果没有可以自己创建),将其中的“FormStyle”一项的值改为“Simple”并保存即可。 程序有高级筛选功能,开启该功能后用户可以自主选择要修复的文件,避免了其他不必要的修复工作。同时,也支持通过文件进行辅助筛选,只要在程序目录下建立“Filter.dat”文件,其中的每一行写一个需要修复文件的序号即可。该功能仅针对高级用户使用,并且必须在正常窗口模式下才有效(简约模式时无效)。 本程序有自动记录日志功能,可以记录每一次检测修复结果,方便在出现问题时,及时分析和查找原因,以便找到解决办法。 程序的“选项”对话框中包含了4项高级功能。点击其中的“注册系统文件夹中所有dll文件”按钮可以自动注册系统文件夹下的所有dll文件。该项功能不仅能修复DirectX的问题,还可以修复系统中很多其他由于dll未注册而产生的问题,颇为实用。点击该按钮旁边的小箭头,还可以注册任意指定文件夹下的dll文件,方便用户对绿色版、硬盘版的程序组件进行注册。点击第二个按钮可以为dll文件的右键菜单添加“注册”和“卸载”项,方便对单独的dll文件进行注册。请注意,并不是所有的dll文件都可以通过这种方式注册。点击“DirectX版本”选项卡可以自行修改系统中DirectX的版本信息。点击“DirectX加速”选项卡可以控制系统中DirectX加速的开启与关闭。 新版程序集成了用户反馈程序,可以在用户允许的前提下发

2015-10-15

重构_改善既有代码的设计

小提示 本资料仅供个人学习参考,请勿用于商业用途,如有能力请尽量购买正版图书,也是对作者的支持。 重构:改善既有代码的设计 中文版 软件开发的不朽经典 2010年人民邮电再版中文版(清晰PDF) 本书提供作译者介绍   Martin Fowler世界软件开发大师,在面向对象分析设计、UML、模式、XP和重构等领域都有卓越贡献,现为著名软件开发咨询公司ThoughtWorks的首席科学家。他的多部著作《分析模式》、《UML精粹》和《企业应用架构模式》等都已经成为脍炙人口的经典。 熊节 ThoughtWorks中国公司的高级咨询师、架构师和项目经理,在大型企业应用及互联网应用的架构和管理方面拥有丰富经验。作为敏捷方法学顾问和重构专家,他拥有在各种技术平台、编程语言、软件形态的项目中实施重构的丰富经验,并曾主持极具挑战性的超大规.. 目录回到顶部↑第1章 重构,第一个案例 1 1.1 起点 1 1.2 重构的第一步 7 1.3 分解并重组statement() 8 1.4 运用多态取代与价格相关的条件逻辑 34 1.5 结语 52 第2章 重构原则 53 2.1 何谓重构 53 2.2 为何重构 55 2.3 何时重构 57 2.4 怎么对经理说 60 2.5 重构的难题 62 2.6 重构与设计 66 2.7 重构与性能 69 2.8 重构起源何处 71 第3章 代码的坏味道 75 3.1 duplicated code(重复代码) 76 3.2 long method(过长函数) 76 3.3 large class(过大的类) 78 3.4 long parameter list(过长参数列) 78 .3.5 divergent change(发散式变化) 79 3.6 shotgun surgery(霰弹式修改) 80 3.7 feature envy(依恋情结) 80 3.8 data clumps(数据泥团) 81 3.9 primitive obsession(基本类型偏执) 81 3.10 switch statements(switch惊悚现身) 82 3.11 parallel inheritancehierarchies(平行继承体系) 83 3.12 lazy class(冗赘类) 83 3.13 speculative generality(夸夸其谈未来性) 83 3.14 temporary field(令人迷惑的暂时字段) 84 3.15 message chains(过度耦合的消息链) 84 3.16 middle man(中间人) 85 3.17 inappropriate intimacy(狎昵关系) 85 3.18 alternative classes with different interfaces(异曲同工的类) 85 3.19 incomplete library class(不完美的库类) 86 3.20 data class(纯稚的数据类) 86 3.21 refused bequest(被拒绝的遗赠) 87 3.22 comments(过多的注释) 87 第4章 构筑测试体系 89 4.1 自测试代码的价值 89 4.2 junit测试框架 91 4.3 添加更多测试 97 第5章 重构列表 103 5.1 重构的记录格式 103 5.2 寻找引用点 105 5.3 这些重构手法有多成熟 106 第6章 重新组织函数 109 6.1 extract method(提炼函数) 110 6.2 inline method(内联函数) 117 6.3 inline temp(内联临时变量) 119 6.4 replace temp with query(以查询取代临时变量) 120 6.5 introduce explaining variable(引入解释性变量) 124 6.6 split temporary variable(分解临时变量) 128 6.7 remove assignments to parameters(移除对参数的赋值) 131 6.8 replace method with method object(以函数对象取代函数) 135 6.9 substitute algorithm(替换算法) 139 第7章 在对象之间搬移特性 141 7.1 move method(搬移函数) 142 7.2 move field(搬移字段) 146 7.3 extract class(提炼类) 149 7.4 inline class(将类内联化) 154 7.5 hide delegate(隐藏“委托关系”) 157 7.6 remove middle man(移除中间人) 160 7.7 introduce foreign method(引入外加函数) 162 7.8 introduce local extension(引入本地扩展) 164 第8章 重新组织数据 169 8.1 self encapsulate field(自封装字段) 171 8.2 replace data value with object(以对象取代数据值) 175 8.3 change value to reference(将值对象改为引用对象) 179 8.4 change reference to value(将引用对象改为值对象) 183 8.5 replace array with object(以对象取代数组) 186 8.6 duplicate observed data(复制“被监视数据”) 189 8.7 change unidirectional association to bidirectional(将单向关联改为双向关联) 197 8.8 change bidirectional association to unidirectional(将双向关联改为单向关联) 200 8.9 replace magic number with symbolic constant(以字面常量取代魔法数) 204 8.10 encapsulate field(封装字段) 206 8.11 encapsulate collection(封装集合) 208 8.12 replace record with data class(以数据类取代记录) 217 8.13 replace type code with class(以类取代类型码) 218 8.14 replace type code with subclasses(以子类取代类型码) 223 8.15 replace type code with state/strategy(以state/strategy取代类型码) 227 8.16 replace subclass with fields(以字段取代子类) 232 第9章 简化条件表达式 237 9.1 decompose conditional(分解条件表达式) 238 9.2 consolidate conditional expression(合并条件表达式) 240 9.3 consolidate duplicate conditional fragments(合并重复的条件片段) 243 9.4 remove control flag(移除控制标记) 245 9.5 replace nested conditional with guard clauses(以卫语句取代嵌套条件表达式) 250 9.6 replace conditional with polymorphism(以多态取代条件表达式) 255 9.7 introduce null object(引入null对象) 260 9.8 introduce assertion(引入断言) 267 第10章 简化函数调用 271 10.1 rename method(函数改名) 273 10.2 add parameter(添加参数) 275 10.3 remove parameter(移除参数) 277 10.4 separate query from modifier(将查询函数和修改函数分离) 279 10.5 parameterize method(令函数携带参数) 283 10.6 replace parameter with explicit methods(以明确函数取代参数) 285 10.7 preserve whole object(保持对象完整) 288 10.8 replace parameter with methods(以函数取代参数) 292 10.9 introduce parameter object(引入参数对象) 295 10.10 remove setting method(移除设值函数) 300 10.11 hide method(隐藏函数) 303 10.12 replace constructor with factory method(以工厂函数取代构造函数) 304 10.13 encapsulate downcast(封装向下转型) 308 10.14 replace error code with exception(以异常取代错误码) 310 10.15 replace exception with test(以测试取代异常) 315 第11章 处理概括关系 319 11.1 pull up field(字段上移) 320 11.2 pull up method(函数上移) 322 11.3 pull up constructor body(构造函数本体上移) 325 11.4 push down method(函数下移) 328 11.5 push down field(字段下移) 329 11.6 extract subclass(提炼子类) 330 11.7 extract superclass(提炼超类) 336 11.8 extract interface(提炼接口) 341 11.9 collapse hierarchy(折叠继承体系) 344 11.10 form tem plate method(塑造模板函数) 345 11.11 replace inheritance with delegation(以委托取代继承) 352 11.12 replace delegation with inheritance(以继承取代委托) 355 第12章 大型重构 359 12.1 tease apart inheritance(梳理并分解继承体系) 362 12.2 convert procedural design to objects(将过程化设计转化为对象设计) 368 12.3 separate domain from presentation(将领域和表述/显示分离) 370 12.4 extract hierarchy(提炼继承体系) 375 第13章 重构,复用与现实 379 13.1 现实的检验 380 13.2 为什么开发者不愿意重构他们的程序 381 13.3 再论现实的检验 394 13.4 重构的资源和参考资料 394 13.5 从重构联想到软件复用和技术传播 395 13.6 小结 397 13.7 参考文献 397 第14章 重构工具 401 14.1 使用工具进行重构 401 14.2 重构工具的技术标准 403 14.3 重构工具的实用标准 405 14.4 小结 407 第15章 总结 409 参考书目 413 要点列表 417 索引 419

2015-10-14

CocoStudio v0.1.5

欢迎下载游戏开发工具集CocoStudio v0.1.5。反馈您在安装、使用过程中遇到的技术难题,我们将根据收到的问题每周赠送Cocos2D-X权威指南图书一本,详情http://chukong.csdn.net/

2015-10-14

代表性的Android应用程序源代码!

7个比较具有代表性的Android应用程序源代码!很经典!

2015-10-14

MAC自带字体MONACO

最适合程序员编程的字体 苹果mac电脑自带字体 monaco

2015-10-14

网络计算课件

网络计算课件

2015-09-30

socket文档

socket服务器,客户端的搭建.你、包括,tcp, udp,

2015-09-21

虚拟光驱加载软件

头像是猴子的虚拟光驱软件DVDFebVirtualDriver

2015-04-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除