`
bit1129
  • 浏览: 1067639 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
 在【Struts2一】 Struts Hello World http://bit1129.iteye.com/blog/2109365中配置了一个简单的Action,配置如下   <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> ...
在第一部份,定义了struts.xml文件,如下所示:   <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <package name="/simpl ...
Struts2 Hello World应用的基本步骤 创建Struts2的Hello World应用,包括如下几步: 1.配置web.xml 2.创建Action 3.创建struts.xml,配置Action 4.启动web server,通过浏览器访问   配置web.xml <?xml version="1.0" encoding="UTF-8"?> & ...
本篇,不考虑细节问题和为什么,先照葫芦画瓢写一个Thrift版本的Hello World,了解Thrift RPC服务开发的基本流程   1. 在Intellij中创建一个Maven模块,加入对Thrift的依赖,同时还要加上slf4j依赖,如果不加slf4j依赖,在后面启动Thrift Server时会报错 <dependency> <groupId>org.apache.thrift</groupId> <artifactId>libthrift</artifa ...
什么是Thrift The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node. ...
 脱离Servlet容器使用Velocity   package com.tom.velocity; import java.io.InputStream; import java.io.StringWriter; import java.util.Properties; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.VelocityEngine; public class HelloV ...
Velocity出现的目的用于简化基于MVC的web应用开发,用于替代JSP标签技术,那么Velocity如何访问Java代码.本篇继续以Velocity三http://bit1129.iteye.com/blog/2106142中的例子为基础,      POJO    package com.tom.servlets; public class User { private String name; private String passwd; public String getName() { return name ...
什么是VelocityViewServlet 使用org.apache.velocity.tools.view.VelocityViewServlet可以将Velocity集成到基于Servlet的web应用中,以Servlet+Velocity的方式实现web应用   Servlet + Velocity的一般步骤 1.自定义Servlet,实现VelocityViewServlet的handleRequest方法,不要覆写VelocityViewServlet的doGet或者doPost方法,它的默认实现是将请求转发到handleRequest方法中,在实现handleReque ...
用户和开发人员参考文档 http://velocity.apache.org/engine/releases/velocity-1.7/developer-guide.html   注释 1.行级注释## 2.多行注释#*  *#   变量定义 使用$开头的字符串是变量定义,例如$var1, $var2,   赋值 使用#set为变量赋值,例如 #set($var1 = 100) #set($str="foobar") #set($var2 = $var1) $var2 ##显示100 1. #set指令需要使用小括号将赋值语句括起来 2 ...
什么是Velocity指令 在Velocity中,#set,#if, #foreach, #elseif, #parse等,以#开头的称之为指令,Velocity内置的这些指令可以用来做赋值,条件判断,循环控制等脚本语言必备的逻辑控制等语句,Velocity的指令是可扩展的,即用户可以根据实际的需要自定义Velocity指令   自定义指令(Directive)的一般步骤  1.定义自定义指令对应的Java代码,这个需要继承自org.apache.velocity.runtime.directive.Directive,覆盖其中的三个抽象方法, getName(表示指令的名字,下 ...
enableComplexMapKeySerialization配置项的含义  Gson在序列化Map时,默认情况下,是调用Key的toString方法得到它的JSON字符串的Key,对于简单类型和字符串类型,这没有问题,但是对于复杂数据对象,如果对象没有覆写toString方法,那么 ...
Gson提供了丰富的预定义类型适配器,在对象和JSON串之间进行序列化和反序列化时,指定对象和字符串之间的转换方式,   DateTypeAdapter   public final class DateTypeAdapter extends TypeAdapter<Date> { public static final TypeAdapterFactory FACTORY = new TypeAdapterFactory() { @SuppressWarnings("unchecked") // we use a runtime ch ...
TypeAdapter的使用动机  Gson在序列化和反序列化时,默认情况下,是按照POJO类的字段属性名和JSON串键进行一一映射匹配,然后把JSON串的键对应的值转换成POJO相同字段对应的值,反之亦然,在这个过程中有一个JSON串Key对应的Value和对象之间如何转换(序列化/反序列化)的问题。   以Date为例,在序列化和反序列化时,Gson默认使用java.text.DateFormat将Date对象进行序列化成日期字符串, 以及将日期字符串反序列化为Date对象。   这种默认的转换逻辑,大多数情况下能够满足需求,不过有时我们需要自定义这个转换的逻辑,比如在JSON ...
对日期类型的数据进行序列化和反序列化时,需要考虑如下问题:   1. 序列化时,Date对象序列化的字符串日期格式如何 2. 反序列化时,把日期字符串序列化为Date对象,也需要考虑日期格式问题 3. Date A -> str -> Date B,A和B ...
在下面这个例子中,POJO(Data类)是一个范型类,在Tests中,指定范型类为PieceData,POJO初始化完成后,通过 String str = new Gson().toJson(data); 得到范型化的POJO序列化得到的JSON串,然后将这个JSON串反序列化为POJO   import com.google.gson.Gson; import java.util.ArrayList; import java.util.List; class PieceData { private String name; private int ...
Global site tag (gtag.js) - Google Analytics