tntxiawebmvc是我自己写的一个MVC框架,目的是简化MVC的配置。
原来我是使用Spring MVC的,因为感觉有些扩展比较难,所以最后决定自己写MVC框架来解决问题。
下面是tntxiawebmvc的配置方法
一、依赖的jar包
commons-lang-2.5.jar
dom4j-1.6.1.jar
fastjson-1.1.33.jar
freemarker-2.3.16.jar
jaxen-1.1-beta-6.jar
二、web.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<servlet>
<servlet-name>mvc</servlet-name>
<servlet-class>com.tntxia.web.mvc.DispatchServlet</servlet-class>
<init-param>
<param-name>config-file</param-name>
<param-value>
/WEB-INF/config/mvc.xml
</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>mvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>mvc</servlet-name>
<url-pattern>*.mvc</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>mvc</servlet-name>
<url-pattern>*.ftl</url-pattern>
</servlet-mapping>
</web-app>
三、 MVC配置
每个MVC跳转分成两个部分,
1. MVC Java类的配置
2. MVC的路径的配置
如下,是最简单的配置
<?xml version="1.0" encoding="UTF-8"?> <mvc> <charset>UTF-8</charset> <actionlist> <action name="login">com.tntxia.mywebmvc.test.action.LoginAction</action> </actionlist> <action-mapping> <dispatch url="login.do">login</dispatch> </action-mapping> </mvc>
四、类的编写:
如下,LoginAction的代码:
package com.tntxia.mywebmvc.test.action;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class LoginAction {
public Map execute(HttpServletRequest request, HttpServletResponse response){
return new HashMap();
}
}
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
$.ajax({
url:'login.do',
success:function(data){
console.log(data);
}
})
</script>
</head>
<body>
</body>
</html>
最后,浏览器控制台打出一个空对象,说明前台调用成功。
附件上,是测试的代码,有兴趣的同学可以下载下来看看。