# 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中组合。