Spring MVC, 你使用了多久呢? 在使用中有没有遇到一样让你困惑的问题呢?
以下是我总结的在使用Spring MVC时需要注意的陷阱
(虽然已经使用它3年多了,但有时还是会犯错)
1. 固定特殊bean的id
2. DispatchServlet配置的路径
3."两个Spring Context"...
分类:
编程语言 时间:
2014-07-09 10:38:02
阅读次数:
188
多线程,多生产多消费者问题...
分类:
编程语言 时间:
2014-07-09 10:00:54
阅读次数:
198
spring mvc 接受多对象的处理
spring mvc感觉很好用,尤其是对接收对象参数的自动绑定非常简便,但对于同时传多个对象时有些困扰。同时项目并没有直接使用spring的formtag。从网上学来的多对象传值,自己优化了下,原文找不到出处了这里记录下。
首先声明一个注解类,用于对传值对象的声明/**
* 处理spring mvc 对象绑定注解
*
*/
@Target(...
分类:
编程语言 时间:
2014-07-09 09:32:38
阅读次数:
244
对于一个web请求,你会开启几个事务呢? 或许你没注意过吧. 又或许你不会对代码,性能要求太高,所以....
一个请求一个事务, 因为一个事务往往和一个数据库连接关联, 如果开启了多个事务的话,也就意味着多个数据库连接, 性能不高吧?
先看代码(一个Spring Controller 的调用代码),
调用了多个service方法,...
分类:
编程语言 时间:
2014-07-09 12:40:41
阅读次数:
280
目录
一、前言
二、spring mvc 核心类与接口
三、spring mvc 核心流程图
四、spring mvc DispatcherServlet说明
五、spring mvc 父子上下文的说明
六、springMVC-mvc.xml 配置文件片段讲解
七、spring mvc 如何访问到静态的文件,如jpg,js,css
八、spring mvc 请求如何映射到具...
分类:
编程语言 时间:
2014-07-09 12:51:49
阅读次数:
432
文件上传相信大家都做过,几乎所有的项目都有上传文件的功能,尤其是BS架构的项目中常常被列为常规功能来开发,无论是在开发.NET 项目还是java项目我们会用到很多的框架,这个功能也被集成到了框架之中,因为他太常用了,框架就是为我们提供了一个开发项目的半成品结构,可以大大提高开发效率节省开发成本、缩短开发周期。
长话短说本文主要介绍一个怎么利用springmvc实现单个以及多个文件上传,附加说说上...
分类:
编程语言 时间:
2014-07-09 10:06:58
阅读次数:
214
1,Switch 语句内的表达式必须为: byte ,char ,short ,int 这四种之一。
2,使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。
例如,对于如下语句:
final StringBuffer a=new StringBuffer("immutable");执行如下语句将报告编译期错误:
a=new StringBu...
分类:
编程语言 时间:
2014-07-09 12:13:32
阅读次数:
231
HTML5 增加了几个文档字符集属性。
document.charset : 表示文档的实际使用的字符集。
document.defaultCharset: 表示默认的字符集,跟浏览器以及操作系统设置有关。
如果文档没有使用默认字符集,那么 document.charset 与 document.defaultCharset 可能不同。
设置文档字符集: 但可以通过元素、响...
分类:
编程语言 时间:
2014-07-09 10:27:06
阅读次数:
205
泛型算法
1. 算法如何工作
每个泛型算法的实现都独立于单独的容器。这些算法还是大而不全的,并且不依赖于容器存储的元素类型。为了知道算法如何工作,让我们深入了解find 操作。该操作的任务是在一个未排序的元素集合中查找特定的元素。从概念上看,find必须包含以下步骤:
1. 顺序检查每个元素。
2. 如果当前元素等于要查找的值,那么返回指向该元素的迭代器。
3. 否则,检查下一个元素,...
分类:
编程语言 时间:
2014-07-09 09:21:02
阅读次数:
213
以前古老的DOS操作系统是单任务的,还没有线程的概念,系统在每次只能做一件事情。比如你在copy东西的时候不能rename文件名。为了提高系统的利用效率,采用批处理来批量执行任务。 现在的操作系统都是多任务操作系统,每个运行的任务就是操作系统所做的一件事情,比如你在听歌的同时还在用MSN和好友聊天。听歌和聊天就是两个任务,这个两个任务是“同时”进行的。一个任务一般对应一个进程,也可能包含好几个进...
分类:
编程语言 时间:
2014-07-09 11:53:16
阅读次数:
237
function isToday(str) {
var d = new Date(str.replace(/-/g, "/"));
var todaysDate = new Date();
if (d.setHours(0, 0, 0, 0) == todaysDate.setHours(0, 0, 0, 0)) {
return true;
} e...
分类:
编程语言 时间:
2014-07-09 10:35:23
阅读次数:
171
1.内存管理架构
Python的内存管理机制都有两套实现:debug模式和release模式
Python内存管理机制的层次结构:
图16-1
第0层是操作系统提供的内存管理接口,如malloc、free
第1层是Python基于第0层操作系统的内存管理接口包装而成的,主要是为了处理与平台相关的内存分配行为。
实现是一组以PyMem_为前缀的函数族
两套接口:函数和宏。
宏,可以避免函数调用的开销,提高效率,但可能与新版本的python产生二进制不兼容,如果用C来编写Python的
扩展模块,使用函数接...
分类:
编程语言 时间:
2014-07-09 13:10:06
阅读次数:
266
Java数据分为基本数据类型和引用数据类型.其中基本数据类型有4类8种.
基本数据类型:类似于普通的值
引用数据类型:传递的是内存的地址
对于引用类型来说,声明只会分配一个引用,指向null, 当你想使用的时候不能直接引用,必须实例化之后才能使用。否则,会引起空指针exception。
基本数据类型:...
分类:
编程语言 时间:
2014-07-09 09:27:31
阅读次数:
266
★相同点:
●都是地址的概念;
指针指向一块内存,它的内容是所指内存的地址;而引用则是某块内存的别名。
★不同点:
●指针是一个实体,而引用仅是个别名;
●引用只能在定义时被初始化一次,之后不可变;指针可变;引用“从一而终”,指针可以“见异思迁”;
●引用没有const,指针有const,const的指针不可变;
●引用不能为空,指针可以为空;
●“...
分类:
编程语言 时间:
2014-07-09 11:50:03
阅读次数:
209
今天写代码写了个双层的for循环,里面还是用来Iterator,大致意思就是在第二个循环中如果符合条件就给跳出整个双层循环。
刚开始,直接使用break。巴拉巴拉的敲了一堆代码,信心满满的就直接运行。等到结果一看,这不是要我要的。哎··看来不扎实呀!
突然来了兴趣,索性就看看一些资料,总结了几种跳出循环的方式:
1、直接跳出循环:
for (int i = 0; i <...
分类:
编程语言 时间:
2014-07-09 10:04:55
阅读次数:
176
override可以翻译为覆盖,从字面就可以知道,它是覆盖了一个方法并且对其重写,以求达到不同的作用。对我们来说最熟悉的覆盖就是对接口方法的实现,在接口中一般只是对方法进行了声明,而我们在实现时,就需要实现接口声明的所有方法。除了这个典型的用法以外,我们在继承中也可能会在子类覆盖父类中的方法。在覆盖要注意以下的几点:
1、覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果...
分类:
编程语言 时间:
2014-07-09 12:24:31
阅读次数:
165
反转一个字符串
>>> S = 'abcdefghijklmnop'
>>> S[::-1]
'ponmlkjihgfedcba'
这种用法叫做three-limit slices
除此之外,还可以使用slice对象,例如
>>> 'spam'[slice(None, None, -1)]
>>>
unicode码与字符(single-character strings)之间...
分类:
编程语言 时间:
2014-07-09 13:08:50
阅读次数:
212
根据DailyRollingFileAppender和RollingFileAppender改编,支持按日期和文件大小分割日志。
源文件:
Java代码
package com.bao.logging;
import java.io.File;
import java.io.IOException;
import java.io.Writ...
分类:
编程语言 时间:
2014-07-09 10:18:22
阅读次数:
222
1.3.4 配置环境变量path(1)
?
在dos命令行中敲入javac,出现错误提示。
?
错误原理:当前执行的程序在当前目录下如果不存在,windows系统会在系统中已有的一个名为path的环境变量指定的目录中查找。如果还没有找到,就出现以上的错误提示。
?
所以进入到jdk安装路径\bin目录下,执行javac。看到javac参数提示信息。...
分类:
编程语言 时间:
2014-07-09 09:43:10
阅读次数:
180
eval()函数十分强大,官方demo解释为:将字符串str当成有效的表达式来求值并返回计算结果。
so,结合math当成一个计算器很好用。
其他用法,可以把list,tuple,dict和string相互转化。见下例子:
a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]"
b = eval(a)
b
Out[3]: [[1, 2], [3, 4], [5...
分类:
编程语言 时间:
2014-07-09 09:26:53
阅读次数:
294