.NET与JAVA比较
在经验丰富的 Java 开发人员看来,.NET 可能与 Java 平台很相似,它们都提供了一种创建应用程序的结构化方法,都有编译为中间代码的语言,都为应用程序开发提供了一个大型 API 库。但实际上,.NET 的核心有一套与 Java 平台不同的目标。 阅读全文…
在经验丰富的 Java 开发人员看来,.NET 可能与 Java 平台很相似,它们都提供了一种创建应用程序的结构化方法,都有编译为中间代码的语言,都为应用程序开发提供了一个大型 API 库。但实际上,.NET 的核心有一套与 Java 平台不同的目标。 阅读全文…
一.MVC的特点:
— 多个视图可以对应一个模型。按MVC设计模式,一个模型对应多个视图,可以减少代码的复制及代码的维护量,一旦模型发生改变,也易于维护。
— 模型返回的数据与显示逻辑分离。模型数据可以应用任何的显示技术,例如,使用JSP页面、Velocity模板或者直接产生Excel文档等。
— 应用被分隔为三层,降低了各层之间的耦合,提供了应用的可扩展性。
— 控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起,完成不同的请求。因此,控制层可以说是包含了用户请求权限的概念。
— MVC更符合软件工程化管理的精神。不同的层各司其职,每一层的组件具有相同的特征,有利于通过工程化和工具化产生管理程序代码。 阅读全文…
1、 认识Thread和Runnable
Java中实现多线程有两种途径:继承Thread类或者实现Runnable接口。Runnable是接口,建议用接口的方式生成线程,因为接口可以实现多继承,况且Runnable只有一个run方法,很适合继承。在使用Thread的时候只需继承Thread,并且new一个实例出来,调用start()方法即可以启动一个线程。
Thread Test = new Thread();
Test.start();
在使用Runnable的时候需要先new一个实现Runnable的实例,之后启动Thread即可。 阅读全文…
^[\w\u4E00-\u9FA5\uF900-\uFA2D]*$
1、一个正则表达式,只含有汉字、数字、字母、下划线不能以下划线开头和结尾:
^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$ 其中:
^ 与字符串开始的地方匹配
(?!_) 不能以_开头
(?!.*?_$) 不能以_结尾
[a-zA-Z0-9_\u4e00-\u9fa5]+ 至少一个汉字、数字、字母、下划线
$ 与字符串结束的地方匹配
放在程序里前面加@,否则需要\\进行转义 @”^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$”
(或者:@”^(?!_)\w*(?<!_)$” 或者 @” ^[\u4E00-\u9FA50-9a-zA-Z_]+$ “ ) 阅读全文…
为了提高安全性,不想把数据库用户名、密码放进applicationContext.xml中,如何将这些信息编译在CLASS文件中?
有以下两种方法:
第一种:
创建ApplictionDataSourceFactory类
view plaincopy to clipboardprint?
public class ApplictionDataSourceFactory {
public DataSource buildLocalDataSource() {
DriverManagerDataSource dmds = new DriverManagerDataSource();
dmds.setDriverClassName(“com.mysql.jdbc.Driver”);
dmds.setUrl(“jdbc:mysql://localhost:3306/test”);
dmds.setUsername(“root”);
dmds.setPassword(“wz123″);
return dmds;
}
}
public class ApplictionDataSourceFactory {
public DataSource buildLocalDataSource() {
DriverManagerDataSource dmds = new DriverManagerDataSource();
dmds.setDriverClassName(“com.mysql.jdbc.Driver”);
dmds.setUrl(“jdbc:mysql://localhost:3306/test”);
dmds.setUsername(“root”);
dmds.setPassword(“wz123″);
return dmds;
}
} 阅读全文…
对于Eclipse中的SVN工具大家并不陌生,但说起Subversion服务器环境的搭建,大家也许会觉得有些陌生。这里我给出了搭建 Subversion服务器的快速步骤及可能会遇到的问题,帮助大家轻松完成自己SVN版本管理。 本文可分为两大部分,一是windows环境下使用桌面客户端工具来搭建SVN服务器环境,二是Eclipse下SVN插件的使用。文中有部分内容引自subversion中文站,感谢他们的创作。
今天介绍下java的国际化:
1、缺省Locale是由操作系统中控制面板里的“区域和语言”选项决定,Locale是由语言和国家代码组成,如 zh_CN。
Locale defaultLocale = Locale.getDefault(); //通过Locale类获得当前系统的默认设置
System.out.println("default country=" + defaultLocale.getCountry());
System.out.println("default language=" + defaultLocale.getLanguage());
我们使用Google提供的iframe让jsp页面嵌入到flex中
首先,请到http://code.google.com/p/flex-iframe/下载iframe 的swc包
第二步,把swc包放入flex_libs中,如果不是web项目就放入lib下
第三步,创建一个mxml文件 阅读全文…
RequestDispatcher是一个Web资源的包装器,可以用来把当前request传递到该资源,或者把新的资源包括到当前响应中。RequestDispatcher接口中定义了两个方法:include/forward
由于<jsp:include>只能指定固定的jsp文件名,不能动态指定jsp文件名。我们需要把<jsp:include>翻译为Java code – RequestDispatcher.include();
用法:
<% request.getRequestDispatcher(filename).include(request, response); />
服务器端的重定向可以有两种方式,一是使用HttpServletResponse的sendRedirect()方法,一是使用RequestDispatcher的forward()方法. 阅读全文…
Java中的final关键字通常的指的是“这是无法改变的”。它可能被做为三种的修饰词.——数据,方法,类。
一 final数据
这里又可分为两种:
1.在修饰基本类型时,表示它是一个常量,在定义时必须给予赋值.特别的一个既是static又是final 的字段只占据一段不能改变的存储空间。
2.在修饰对象或者数组时,它表示对对象或数组的引用恒定不变,然而对象本身却是可以修改的.
空白final:声明为final但末给定初值的字段,但必须确保空白final在使用前被初始化,一般在构造方法完成。
final参数:在方法的参数列表以声明的方式将参数指明为final,这意味着在方法里无法修改参数的引用所指向的对象。 阅读全文…