自定义MVC01

本文详细介绍了MVC(Model-View-Controller)架构模式,包括其定义、工作流程以及核心思想。通过一个中央控制器和子控制器的代码示例,展示了如何在实际应用中实现MVC。此外,还探讨了框架的概念,以通用分页和自定义MVC组合为例,说明了框架的基础构成。
摘要由CSDN通过智能技术生成

1.思维导图(自定义mvc原理)

1.1 什么是MVC?

          MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写, 它是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码

1.2 MVC的工作原理 :

        浏览器用户请求——>中央控制器(接收用户请求,寻找子控制器)——>子控制器(获得用户请求方法名运行)——>模型层(Model)——>访问服务器——>返回给浏览器

1.3 mvc的核心思路:各司其职

1.4 什么是框架?

       框架是: 反射+设计模式(可以解决框架70%~80%的问题)

        案例:通用分页+自定义page标签+自定义mvc的组合就是框架(基础)

2.代码演绎过程

 2.1.中央控制器代码块

       ① DispatchServlet.java: 寻找子控制器

@WebServlet("*.action")
public class DispatchServlet extends HttpServlet {
	
	//存放子控制器的容器
	private Map<String , ActionSupport> actions = new HashMap<String , ActionSupport>();
	//初始化子控制器容器(集合),经过初始化,action容器内部就有了子控制器
	//init(初始化方法),service(服务),destroy(销毁)
	@Override
	public void init() throws ServletException {
		actions.put("/book", new BookAction());
	}
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doPost(req, resp);
	}
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		//完成子控制器对的过程
		//浏览器:http://localhost:8080/J2ee12/book.action?name=add
		//目标:BookAction.add()...
		/**
		 * 思路:
		 * 	1.从浏览器URL中获取到"/book"字符串
		 * 	2.在子控制器中拿到BookAction
		 * 	3.BookAction.add()
		 */
		String url = req.getRequestURI();
		url = url.substring(url.lastIndexOf("/"), url.lastIndexOf("."));
		//action=BookAction
		ActionSupport action = actions.get(url);
		action.execute(req, resp);
	}
}

2.2.子控制器代码截图

      ActionSuppor.java:  获取对应的方法名

 2.3 视图层index.jsp

 

2.4.运行结果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值