Paoding Rose学习(一)

Paoding Rose学习(一)

本文包括一下几个内容

  • rose环境介绍
  • 一个简单的基于rose的web程序
  • web.xml介绍
  • 自动化部署

需要的环境

  • eclipse/Intellij IDE
  • Maven插件
  • Tomcat7.x

rose环境介绍

  rose是在Spring基础上构建的Web开发框架,它符合Servlet规范,且大量的采用约定优于配置的策略,比如Controller、DAO等,具体的描述可以查看陈老师的这篇文章: [ rose手册 ]

一个简单的基于rose的web程序

HelloController.java

/**
 *  这里的 注解@Path是url访问的主路径,即用户想访问这个Controller时,url类似于 :
 *  localhost:8080/packageName/rose_study/
 * */
@Path("rose_study")
public class HelloController {

    /**
     * 我们可以从名称就可以看出,这个方法支持post和get的访问,其中的helloworld就是url的子路径,
     * 如果需要访问到这个方法,那么url就好像这样:
     * localhost:8080/packageName/rose_study/helloworld
     * */
    @Get("helloworld")
    @Post("helloworld")
    public String helloWorld(Invocation inv) {
        return "@Hello, world. This is the first rose app";
    }
}

注:

  • HelloController.java,就像前面说的约定优于配置,Rose中规定,所有的Controller都必须要以Controller结尾
  • @Get(“helloworld”) @Post(“helloworld”),helloWorld方法同时支持 get、post访问,但是只需要用注解去声明,是不是比Spring中做的更加优雅(Spring实现Get方法:@RequestMapping(value = “/helloworld”, method = RequestMethod.GET))
  • Invocation inv 这个需要作为函数的参数,是由容器传递进来的,我们可以用它来传递数据给页面,当然也可以用它从请求端获取参数
  • @Hello, world. This is the first rose app,这是函数的返回值,也就是url的返回值,rose中的约定是这样:
url返回形式
@String 会在页面上看到一个字符串
@json + String 会在页面上看到一个json类型的字符串
String 返回自定义的页面

 这个文件需要的jar包依赖配置在pom文件中,如下:

    
        com.54chen
        paoding-rose
        1.0
    
    
        com.54chen
        paoding-rose-scanning
        1.0
    

web.xml介绍

  如果我们在程序中没有配置其他的过滤器,那么只需要在web.xml文件中添加如下的过滤器 :

    
        roseFilter
        net.paoding.rose.RoseFilter
  
    
        roseFilter
        /*
        REQUEST
        FORWARD
        INCLUDE
  

  如果在程序中需要配置其他的过滤器,那么一定要在roseFilter之前。

自动化部署

  写好web程序之后当然需要部署下,然后用正确的url去访问它,查看结果是不是自己想要的,对于本例来说,应该会返回一个字符串。
  这里我利用Maven提供的插件对web程序实现自动化部署,注意,本例中tomcat版本是7.0.64,不过对于7.x版本都是支持的,Tomcat6.x 配置不会比7多,所以,也是支持的,Tomcat8还没用过,不知道支不支持。
  实现自动化部署需要这样5步操作:

  • tomcat-users.xml
    在tomcat的conf中找到tomcat-users.xml,在其中添加:

        
            
            
            
            
            
        
    

    这里为了方便我个人记忆书写,用户名直接配置username,密码配置password

  • 验证上述配置是否成功
    在浏览器中输入: http://localhost:8080/manager/,写入用户名和密码查看是否能登陆成功
    注: 每次修改完tomcat的配置后都需要重启tomcat服务

  • settings.xml
    进入到/home/mi/.m2中,找到settings.xml,加入:
    这个文件需要的jar包依赖配置在pom文件中,如下:

        
           local_server
           username
           password
        
    

    注: 这样,maven就可以用这个身份来跟tomcat服务器进行沟通

  • pom文件
    在工程的pom文件中加入:
     这个文件需要的jar包依赖配置在pom文件中,如下:

    
        org.apache.tomcat.maven
        tomcat7-maven-plugin
        2.1
        
            local_server
            http://localhost:8080/manager/text
            /${project.build.finalName}
            true
            username
            password
        
    
    

    注:true 如果不加这个,那么重复部署就会出现文件已经存在的异常

  • 自动部署
    执行命令:mvn -U clean package tomcat7:deploy

如果你按照上面的5步执行完之后,你就会在tomcat的webapps目录下找到你的war包了(需要配置pom文件,指明打包类型和打包插件)

  这篇文章简单的介绍了Rose环境开发并部署web应用程序的过程,内容比较简单,在以后的笔记中会介绍其他的Rose技术。

你可能感兴趣的:(XM)