mint mvc第一个应用

mint mvc 开发web程序的步骤如下:

  1. 引入相关包
  2. 编写action类
  3. 配置web.xml文件
  4. 部署->启动->访问

就这么简单

引入相关包

要实用mint mvc需要引入2个相关包

  1. mint.mvc.jar
  2. 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”这样的请求。

这里有两点敬请注意:

  1. 如果一个请求上未指定调用的action方法,mint mvc会默认调用那个urls中含有"/index"的action方法。url为"http://test/demo"的请求可以调用到index方法
  2. 在忽略请求方式的前提下,"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工程的话,你最后的目录大致如下:

mint mvc第一个应用

部署>启动>访问

最激动人心的时刻来啦:

mint mvc第一个应用

哈哈,成功了

本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

(完)

你可能感兴趣的:(mint-mvc)