mint mvc 开发web程序的步骤如下:
- 引入相关包
- 编写action类
- 配置web.xml文件
- 部署->启动->访问
就这么简单
引入相关包
要实用mint mvc需要引入2个相关包
- mint.mvc.jar
- fastjson-1.1.40.jar(下面那张截图引入了common-logging,那是一段时间前的做法)
编写action类
在mint mvc中action类与 spring中的controller类似。
先上一个action类(代码清单1):
package action;
import mint.mvc.annotation.BaseMapping;
import mint.mvc.annotation.Mapping;
@BaseMapping("/demo", method="get")
public class DemoAction {
@Mapping(urls="/index")
public String index(){
return "helloworld";
}
}
什么样的类是action类
凡是标有BaseMapping注解的类都是action类。
BaseMapping注解的值表示访问该action的路径。比如上面的DemoAction的访问路劲是(假设你网站域名是http://test)http://test/demo。但是单单有action类还不能处理请求,真正处理请求的是action方法。then···
什么是action方法
首先action方法必须定义在action类内,而且要标注有Mapping注解,代码清单中的index方法就是一个action方法。
Mapping注解有两个属性:urls和method
urls
urls是一个字符串数组,BaseMapping 的value 分别和 urls数组中的每个值相连接起来之后,就可以表明了这个action方法可以处理哪些请求。比如代码清单中的BaseMapping.value + Mapping.urls 得到一个url"/demo/index",那么index方法就可以处理“http://test/demo/index”这样的请求。
这里有两点敬请注意:
- 如果一个请求上未指定调用的action方法,mint mvc会默认调用那个urls中含有"/index"的action方法。url为"http://test/demo"的请求可以调用到index方法
- 在忽略请求方式的前提下,"http://test/demo/index" 和 "http://test/demo/index/"这两种请求时等效的(可以访问到同样的action方法)。这种设计主要是出于如下目的设计的:现在大多网站,url后面加不加“/”返回的结果都是一样的,导致用户都觉得,url后面加不加"/"都是一样的,所以就这样设计了
method
method属性指定该action方法能处理以哪些方式提交的请求。目前只支持"post"和"get"提交方式。如果action方法上不指定method属性,则默认处理以"post"和"get"方式提交的过来的请求。代码清单中index方法只能处理get请求,如果一个请求的url 是"http://test/demo/index",但是提交方式是"post"的话,该请求将无法访问index方法。
至此,一个最简单的action类已经写完了
配置web.xml文件
mint mvc入口配置(代码清单2):
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee/web-app_2_4.xsd"
version="2.4">
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>mint.mvc.core.ServiceServlet</servlet-class>
<init-param>
<param-name>actionPackages</param-name>
<param-value>demo;</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
代码清单2显示了mint mvc最简单的配置(更多的配置项在以后会讲到)。
mint.mvc.core.ServiceServlet是mint mvc的前端控制器,也是整个mint mvc的入口。前端控制器的"actionPackages"启动参数用以指定action类所在的包,多个包用";"号隔开。当前端控制器启动是,会根据actionPackages参数的指定,到相关的包目录下扫描action类,并且分离action方法。启动完毕后,前端控制器会接管请求,并把请求送到相应的action方法进行处理。
如果你用eclipse最传统那种方式建web工程的话,你最后的目录大致如下:
部署>启动>访问
最激动人心的时刻来啦:
哈哈,成功了
本demo下载地址:http://git.oschina.net/895925636/mintdemo/tree/master
项目地址:http://git.oschina.net/895925636/mint-mvc
收录地址:http://www.oschina.net/p/mint-mvc
博客地址:http://www.wemakers.net/home/blog?cate=1001
(完)