# mvcframework **Repository Path**: jianguoqiang/mvcframework ## Basic Information - **Project Name**: mvcframework - **Description**: 自己写的一个mvc框架 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2016-06-19 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #mvcframework mvc框架练习项目仿struts1 框架实现内容 1、定义一个DispatcherServlet,通过在web.xml里面配置该servlet后如: mvcframework com.ywl.mvcframework.servlet.DispatcherServlet contextConfigLocation WEB-INF/classes/mvc.xml,WEB-INF/classes/mvc2.xml 1 mvcframework *.do 所有*.do的请求都会由该servlet来处理。 2、定义配置文件 mvc.xml,可以定义多个,在项目启动时加载 简单起见,主要定义了两部分,一个是form-beans用来处理request传递封装参数用。 action-mappings则是用来处理请求响应。如 /test.do 就会使用配置里的oTestAction来处理,使用对应的ActionForm来接收参数。 3、页面转发使用的是约定了 在Action里定义方法,反回类型有两种,一种是void,这种不需要进行转发,一种是String这种需要进行转发或者重定向。 重定向的这种以 redirect:开头。 @Override public String index(ActionForm actionForm, HttpServletRequest req, HttpServletResponse resp){ return "redirect:/test.do"; } @Override public String goAdd(ActionForm actionForm, HttpServletRequest req, HttpServletResponse resp){ return "/pages/test/add.jsp"; } public void delete(){ System.out.println("delete...."); } 4、请求方式 1、*.do?method=add 如果有method参数则参数值对应请求对应的Action下面的add方法 2、*.do 没有method参数则直接访问对应Action下面的index方法 在Action中会要求实现index方法 @Override public String index(ActionForm actionForm, HttpServletRequest req, HttpServletResponse resp){ return "redirect:/test.do"; } 其它方法自己定义,但参数只能在这三个中随便组合。返回类型在String和void中组合。