MVC的实现
1)创建抽象类Action,定义抽象方法execute(处理具体逻辑)
2)创建HelloAction并继承抽象类Action,重写execute方法
3)在ActionServlet中定义私有Map<String,Action>(根据不同请求路径名调用不同逻辑处理Action类)
4)在ActionServlet中的init方法初始化Map集合
map.put(‘请求路径’,‘逻辑处理Action类’)
5)在ActionServlet中的doPost方法中处理请求
案例2:演示完成的MVC流程,form表单提交数据,进行逻辑处理后将结果返回页面显示
1)在ActionServlet中的init方法中添加
map.put(’/AddAction’,new AddAction());
2)创建AddAction继承抽象类Action,重写execute方式,处理逻辑后,返回结果
Actionservlet类
package com.huangjie.mvc.framework;import java.io.IOException;import java.util.HashMap;import java.util.Map;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.huangjie.mvc.action.AddAction;import com.huangjie.mvc.action.HelloAction;/** * 自定义mvc里面的中央控制器 * @author 黄洁 * */
public class ActionServlet extends HttpServlet {
private Map<String, Action>map;
@Override
public void init() throws ServletException {
map=new HashMap<String,Action>();
map.put("/helloAction", new HelloAction()); map.put("/addAction",new AddAction());
}
@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(req, resp);}
@Overrideprotected
void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletExcep