Export to GitHub

paoding-rose - Rose_Guide_Getting_Started.wiki


第一支程序

前件:运行环境

  • 已经下载rose开发包,如果没有,请先把Rose下载下来
  • 确认Java运行环境没问题:开发和运行环境
  • 有一个Tomcat、Resin或其他web容器:开发和运行环境
  • 有一个Java编辑器,如Eclipse等(此文假设您使用的是Eclipse)

后件:成果

按照这个文档说明的步骤开发后,最后能够把Rose运行起来,并通过 http://127.0.0.1/hello/world 访问,呈现以下的效果:

http://paoding-rose.googlecode.com/svn/other/imgs/demo/app1/hello.png' />

创建动态web项目 # ``` Eclipse --> New --> Other... --> Web --> Dynamic Web Project --> Project Name: HelloRose --> Target Runtime: 如果Eclipse已经有Server环境(Tomcat等),选一个; 如果没有的话,选择右边的New按钮,创建Server环境 --〉Next --> Context Root: 清空代表所要运行的web程序在根目录下 --> Finish --> 确认项目使用的Java Compiler compliance level为1.6(项目属性->Java Compiler选项卡) --> 确认项目使用的字符集是UTF-8 (项目属性->Resource选项卡) ``` # WEB-INF # * 在web.xml下配置一个Filter,以及 **可选的** log4j功能 ``` log4jConfigLocation /WEB-INF/log4j.properties org.springframework.web.util.Log4jConfigListener roseFilter net.paoding.rose.RoseFilter roseFilter /* REQUEST FORWARD INCLUDE ``` * 创建WEB-INF/log4j.properties ``` log4j.rootLogger=INFO, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n log4j.logger.org.springframework=DEBUG log4j.logger.net.paoding=DEBUG # set roseInfo INFO to close /rose-inf log4j.logger.net.paoding.rose.web.controllers.roseInfo=DEBUG ``` 请顺便确认WEB-INF/lib含有log4j的jar,如果没有那就下载一个(1.0 的rose依赖包已经含有)。 * 创建WEB-INF/toolbox.xml文件 ``` date application org.apache.velocity.tools.generic.DateTool ``` # 拷贝jar包 # * 把下载包中的 `dist/paoding-rose*.jar` 拷贝到 WebContent/WEB-INF/lib下 * 把下载包中的 lib/ 的所有jar拷贝到 WebContent/WEB-INF/lib下 * 刷新 Eclipse 中该项目,使 build path 生效 # 设计视图模板 # * 在WebContent下创建views子目录 * 在views目录下创建hello-world.vm文件 ``` #msg("hello"), it's $date.format("yy-MM-dd HH:mm:ss", $now) ``` # 国际化文件 # * 在src下创建messages.xml 【[xml格式参考](http://www.ibm.com/developerworks/java/library/j-tiger02254.html)】 ``` 您好 ``` * 也可以选择properties文件格式的messages.properties,此时需要修改messages.properties的字符集从ISO-8859-1调整为UTF-8 (选中文件--> 右键-->Resource-->Text encoding-->Other: UTF-8) ``` hello = 您好 ``` # 编写控制器 # 创建com.xiaonei.rose.gettingStarted.**controllers**.HelloController ``` package com.xiaonei.rose.gettingStarted.controllers; import java.util.Date; import org.springframework.beans.factory.annotation.Autowired; import net.paoding.rose.web.Invocation; public class HelloController { public String world(Invocation inv) { inv.addModel("now", new Date()); return "hello-world"; } } ``` # 做一个标识 # 目前来说这个步骤是可选的,但是如果您是通过打jar来部署的,则这个步骤不可避免。 在src下建立创建META-INF/rose.properties文件,写上rose=controllers, applicationContext, dao, messages 这个标识指示rose要识别你开发的jar包中的web代码、jar根目录下的`applicationContext*.xml、messages*.xml或messages*.properties`,以及jar包中的Jade DAO对象(Jade在本示例没有说明,他是rose提供的DAO编写规范,你只要写DAO接口就可以使用他访问数据库的技术,这个技术一样在人人网、糯米网大力使用 详见:[Jade DAO规范](Jade_DAO_Spec.md)) # 启动 # ``` Eclipse --> 选中项目 --> 右键 --> Run As --> Run On Server --> 启动日志,最后看到打印的module日志(mappingPath, url, controllers等信息) --> OK ``` # 验证 # 访问 http://127.0.0.1/hello/world 或 http://127.0.0.1:8080/hello/world

接下来

接下来你可以看一个更丰富的、比较完整的程序 第二支程序