让我一见钟情的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容器,什么都不需要做
相关文档:
在客户/服务器通信模式中,客户端主动创建与服务器连接的Socket,服务器收到客户端的连接请求,也创建了与客户端连接的Socket。
客户端主动创建Socket时候,需要做下面一些事情:
1. 构造Socket.
2. 设定等待建立连接的超时时间
&nb ......
操作符
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实现网页截图技术”的咨询帖,由于出现该咨询的地点非常不适合较长回复,故以博文形式回答。
事实上,如果您想以Java实现网页截图,也就是“输入一段网址,几秒钟过后就能截取一张网页缩略图”的效果。那么,您至少有3种方式可以选择。
1、最直接的方式—— ......
发送email应用;
package mail;
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
import sun.misc.BASE64Encoder;
public class Mail {
// 定义发件人显示名称、发件人、收件人、抄送、SMTP服务器、用户名、密码、主题、内容等
private String d ......