`
tntxia
  • 浏览: 1507382 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

自已写的Webmvc框架

 
阅读更多

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>

 

最后,浏览器控制台打出一个空对象,说明前台调用成功。

 

附件上,是测试的代码,有兴趣的同学可以下载下来看看。

 

 

分享到:
评论

相关推荐

    自已写的phpMVC框架

    【标题】: 自已写的phpMVC框架 【描述】: 这是一个个人开发的PHP MVC框架,体现了对Web应用程序设计模式的理解与实践。MVC(Model-View-Controller)架构模式是现代Web开发中常用的设计模式,它将业务逻辑、数据...

    java三大框架

    Struts只是一个MVC框架(Framework),用于快速开发Java Web应用。Struts实现的重点在C(Controller),包括ActionServlet/RequestProcessor和我们定制的 Action,也为V(View)提供了一系列定制标签(Custom Tag)。但...

    自已做.net 小练习

    8. **ASP.NET Web应用**:如果想构建Web应用,可以学习ASP.NET,它提供了多种开发Web应用的方法,如ASP.NET MVC、ASP.NET Web Forms和ASP.NET Core。 9. **Entity Framework**:作为.NET的ORM(对象关系映射)框架...

    spring2.0 hibernate 3.0 struts1.1 xfire1.2 整合

    Struts 1.1是MVC框架的一种早期实现,主要用于构建基于JSP和Servlet的Web应用程序。它规范了请求处理流程,将业务逻辑与表现层分离,提供了动作类、表单bean和配置文件(struts-config.xml)来定义应用的结构。虽然...

    struts 自已动手

    Struts 2 是一个强大的MVC框架,它旨在简化Java Web应用程序的开发。其核心特性包括: 1. **Action类**:这是业务逻辑的主要载体,处理用户请求并返回结果。 2. **拦截器**:提供了一种灵活的方式来增强Action的...

    自已学习时开发的JAVA

    13. **MVC(Model-View-Controller)模式**:这是一种常见的Web应用设计模式,用于分离业务逻辑、用户界面和数据模型。 14. **AJAX(Asynchronous JavaScript and XML)**:一种在不刷新整个页面的情况下与服务器...

    大学 毕业设计 项目实训 个人备忘录系统(java SSH网站源代码)+JSP漂亮的界面控件.zip

    【压缩包子文件】的两个文件名:“sshmemo自已写的.rar”可能是整个备忘录系统的源代码,其中“自已写的”暗示这是一份原创代码,开发者可能是自己独立完成的。另一个文件“JSP漂亮的界面控件”可能是包含了一些预设...

    Spring MVC之DispatcherServlet_动力节点Java学院整理

    拦截匹配的请求,Servlet拦截匹配规则要自已定义,把拦截下来的请求,依据某某规则分发到目标Controller(我们写的Action)来处理。  “某某规则”:是根据你使用了哪个HandlerMapping接口的实现类的不同而不同。  ...

    全局异常类和统一返回结果代码压缩包

    在Java Web开发中,这通常通过实现Servlet的Filter或使用Spring框架的@ControllerAdvice注解来实现。 1. **Servlet Filter**: 在Servlet容器(如Tomcat)中,可以创建一个实现了javax.servlet.Filter接口的类,并在...

    C#.NET编程培训教程

    ASP.NET提供了多种模型,如Web Forms、MVC和Blazor,开发者可以根据需求选择合适的开发模式。另外,Visual Studio作为C#.NET的主要开发工具,提供了强大的调试、代码编辑和项目管理功能,极大地提高了开发效率。 在...

Global site tag (gtag.js) - Google Analytics