让我一见钟情的java web mvc 框架:Vraptor3
前段时间公司开始用SSH框架,因为以前没有用过,下个几个demo看看,发现想理解Structs2的流程真是困难;后来又想整合Ext进行界面开发,上网找资料,发现用Structs整合Ajax还真是麻烦,不仅前台要做修改,后台还要改配置文件以及action类,真不知道这样的东西做完了该怎么样去维护!继续在网上找终于被我发现了Vraptor,该框架不仅使用方便,而且代码层次简单,易于程序员理解和扩展。现将Structs与Vraptor对比如下:
功能
Structs2
Vraptor3
请求路径与方法映射
要写Structs的配置文件
采用“约定优于配置”原则自动映射,也可通过注解进行指定
请求参数的映射
需要在Controller里设置每一个参数的属性,还要整一堆get/set
直接映射到方法的参数类的属性中
请求参数验证
想要验证个字段不仅要改类文件、还要添加配置文件、页面还要使用Structs的标签
内置可扩展验证类、Harbernate验证,验证失败后自动将错误信息放入requestscope中
view的调用
要在配置文件中配置对应方法的Result
根据规则映射、也可在java代码中通过注入Result对象进行自定义的页面调用
ajax支持
要改页面文件、配置文件、java类一大堆工作
只需简单修改request的head属性或是添加_format属性,通过约定的jsp页面用户可方便的定制返回字符串; 或者使用Result对象将所需要的类转为json或是xml串
整合Spring
需要在Structs的配置文件中进行配置
默认采用Spring核心IOC容器,什么都不需要做
相关文档:
操作符
1.位操作符
(a) >>>右移,高位用0填充;
int a = 14;
int b = 2;
System.out.println(a >>> b);// 3
int c = -14;
int d = 2;
System.out.println(c >>> d);// 1073741820
(b) >>符号位不变,其他位右移,高位用0填充,其结果与a/2b相同;
int a = 14;
int b = 2;
Sy ......
Java可以直接调用Linux命令,形式如下:
Runtime.getRuntime().exec(command)
举例:运行ls,top命令可以这样:
Runtime.getRuntime().exec("ls");
但是这样执行时没有任何输出,原因:
调用Runtime.exec方法将产生一个本地的进程,并返回一个Process子类的实例,
(注意:Runtim ......
1)DOM(JAXP Crimson解析器)
DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DO ......
本文介绍的JAVA规则的说明分为3个主要级别,中级是平时开发用的比较多的级别,在今后将陆续写出其他的规则。遵守了这些规则可以提高程序的效率、使代码又更好的可读性等。
(1) 在finally方法里关掉input或者output 资源
再方法体里面定义了input或者output流的话,需要在finally里面把它关掉。
以下 ......
Java Web开发中,有许多共通的问题,是开发人员在开发过程中一定会遇到的,需要处理的问题:
1. 乱码问题
为何会出现乱码问题?既然有乱码问题,肯定是由于编码设置的不一致导致的。在Web开发
过程中,涉及以下一些编码设置,客户端参数的编码设置,Web服务器的编码设置,服务器端应用程序的编码设置,数据库 ......