本文包括一下几个内容
需要的环境
rose是在Spring基础上构建的Web开发框架,它符合Servlet规范,且大量的采用约定优于配置的策略,比如Controller、DAO等,具体的描述可以查看陈老师的这篇文章: [ rose手册 ]
/**
* 这里的 注解@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";
}
}
注:
url返回形式 | 值 |
---|---|
@String | 会在页面上看到一个字符串 |
@json + String | 会在页面上看到一个json类型的字符串 |
String | 返回自定义的页面 |
这个文件需要的jar包依赖配置在pom文件中,如下:
<dependency>
<groupId>com.54chen</groupId>
<artifactId>paoding-rose</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>com.54chen</groupId>
<artifactId>paoding-rose-scanning</artifactId>
<version>1.0</version>
</dependency>
如果我们在程序中没有配置其他的过滤器,那么只需要在web.xml文件中添加如下的过滤器 :
<filter>
<filter-name>roseFilter</filter-name>
<filter-class>net.paoding.rose.RoseFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>roseFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
如果在程序中需要配置其他的过滤器,那么一定要在roseFilter之前。
写好web程序之后当然需要部署下,然后用正确的url去访问它,查看结果是不是自己想要的,对于本例来说,应该会返回一个字符串。
这里我利用Maven提供的插件对web程序实现自动化部署,注意,本例中tomcat版本是7.0.64,不过对于7.x版本都是支持的,Tomcat6.x 配置不会比7多,所以,也是支持的,Tomcat8还没用过,不知道支不支持。
实现自动化部署需要这样5步操作:
tomcat-users.xml
在tomcat的conf中找到tomcat-users.xml,在其中添加:
<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="username" password="password" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
</tomcat-users>
这里为了方便我个人记忆书写,用户名直接配置username,密码配置password
验证上述配置是否成功
在浏览器中输入: http://localhost:8080/manager/,写入用户名和密码查看是否能登陆成功
注: 每次修改完tomcat的配置后都需要重启tomcat服务
settings.xml
进入到/home/mi/.m2中,找到settings.xml,加入:
这个文件需要的jar包依赖配置在pom文件中,如下:
<server>
<id>local_server</id>
<username>username</username>
<password>password</password>
</server>
注: 这样,maven就可以用这个身份来跟tomcat服务器进行沟通
pom文件
在工程的pom文件中加入:
这个文件需要的jar包依赖配置在pom文件中,如下:
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<server>local_server</server>
<url>http://localhost:8080/manager/text</url>
<path>/${project.build.finalName}</path>
<update>true</update>
<username>username</username>
<password>password</password>
</configuration>
</plugin>
注:true 如果不加这个,那么重复部署就会出现文件已经存在的异常
自动部署
执行命令:mvn -U clean package tomcat7:deploy
如果你按照上面的5步执行完之后,你就会在tomcat的webapps目录下找到你的war包了(需要配置pom文件,指明打包类型和打包插件)
这篇文章简单的介绍了Rose环境开发并部署web应用程序的过程,内容比较简单,在以后的笔记中会介绍其他的Rose技术。