Spring基础之图谱
买了李刚的《轻量级Java EE企业应用实战》,就是大红封面巨厚的那本,已经快两年了。在读了两次半途而废后,我终于决定,要跟这本书死磕一下。
这里只讲<第七章 Spring的基本用法>,仔细读了一遍后的感觉,就是晕头转向,于是又从头过了一遍,就有了下面这个图。
买了李刚的《轻量级Java EE企业应用实战》,就是大红封面巨厚的那本,已经快两年了。在读了两次半途而废后,我终于决定,要跟这本书死磕一下。
这里只讲<第七章 Spring的基本用法>,仔细读了一遍后的感觉,就是晕头转向,于是又从头过了一遍,就有了下面这个图。
从jdk1.4开始,java推出了java.util.regex包,支持正则表达式。
此包下只有如下两个实现类:
Pattern
Matcher
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
典型用法如下:
[java]
Pattern p = Pattern.compile("a*b");
Matcher m = p.matcher("aaaaab");
boolean b = m.matches();
[/java]
如果仅使用一次正则表达式,也可如下:
[java]
boolean b = Pattern.matches("a*b", "aaaaab");
[/java]
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
说说Pattern
其实,Pattern的用法是比较简单的,除了上面的用法,还可以加标志位,如下:
[java]
Pattern pattern = Pattern.compile(reg, Pattern.CASE_INSENSITIVE|Pattern.UNICODE_CASE);
[/java]
这句代码表示,不区分大小写的匹配以符合 Unicode Standard 的方式完成;
如果没有Pattern.UNICODE_CASE,不区分大小写的匹配假定仅匹配 US-ASCII 字符集中的字符。
官方API注释,指定此标志(Pattern.UNICODE_CASE)可能对性能产生影响。
阅读全文…
包括了中文转拼音全拼,及中文转拼音首字母
准备知识:
GB2312编码,采用16位编码方式,简体中文的编码范围从B0A1一直到F7FE。
GB2312中对所收汉字进行了“分区”处理,每区含有94个汉字/符号。这种表示方式也称为区位码。
1)01-09区为特殊符号。
2)16-55区为一级汉字。(常用汉字,按拼音字母/笔形顺序排序,编码始于B0A1,止于D7FE,计3755个)
3)56-87区为二级汉字。(次常用汉字,按部首/笔画顺序排序,编码始于D8A1,止于F7FE,计3008个)
4)10-15区及88-94区则未有编码。
从这里,你可以更清晰的了解这些分区。汉字位于16-87区,而有字母排序的汉字位于16-55区,对应编码为B0A1到D7FE。
一般分为如下几个步骤(顺序可变):
获取验证码
前端:
1.验证码在浏览器里,是一个img标签,将img的src设置为url请求即可
后台:
2.设置验证码中可能出现的字符
3.画图片
3.1创建BufferedImage对象
3.2生成graphics对象
3.3背景色
3.4边框
3.5干扰线
3.6设置字体,画验证码
4.设置response相关参数
5.存session
6.将图像输出到浏览器
检验验证码
7.获取session中存储的字符串,进行验证
8.如正确,将session中的存储清除
阅读全文…
推荐一本学习swing的书《深入浅出Java Swing程序设计》,简单易学!
JDK从1.2版本开始,包含了Swing。简单来说,Swing是为了弥补AWT的某些不足,提升java在图形界面领域的市场而产生的,但是其后来的发展,并不尽如人意。eclipse并没有使用Swing,而是使用了JFace和SWT。
[java]
public class ThreadTest extends Thread {
private static Object obje = new Object();
public void run(){
synchronized (obje) {
for(int i=0;i<100;i++){
try {
if(i%10==0&&i!=0){
System.out.println("haha");
obje.notify();
obje.wait();
}
Thread.sleep(100);
System.out.println(this.getName()+":"+i);
}catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
Thread t1 = new ThreadTest();
Thread t2 = new ThreadTest();
t1.start();
t2.start();
}
}
[/java]
部分输出结果:
阅读全文…
代码如下:
[java]
Date date = new Date();
DateFormat f=new SimpleDateFormat("yyyy-MM-dd hh:mma");
String str = "2011-11-11 03:03PM";
try {
Date dat = f.parse(str);
System.out.println(dat);
} catch (ParseException e) {
e.printStackTrace();
}
[/java]
问题出在PM上,如果是“下午”就没问题了,
所以要把DateFormat f=new SimpleDateFormat(“yyyy-MM-dd hh:mma”);
改为DateFormat f=new SimpleDateFormat(“yyyy-MM-dd hh:mma”,Locale.ENGLISH);