路由派发的问题

来源:3-7 Controller层代码架子的搭建

无心铁憨憨

2020-02-25

翔仔老师你好,对于这个章节我有些疑问,在最后的视频中,我们通过if判断用户的请求路径及方法,并获取到的路径和方法分别调用不同的controller,但是这些路径都是我们自己建立的,所以我们代码中可以这样写,如果是提供给别人使用的话,是如何知道使用者到底需要调用的是哪个controller呢?

写回答

1回答

翔仔

2020-02-25

同学好,就和Spring一样,我们只是提供框架的基础服务,让用户遵循我们的规范来进行配置,因为只有用户才能知道他们业务上需要调用什么样的服务,所以他们得配置好。然后框架就会自动按照他们的配置进行路由。比如spring里面,可以看看我第一门课程有如下代码。

package com.imooc.o2o.web.frontend;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
@RequestMapping("/frontend")
public class FrontendController {

	/**
	 * 首页路由
	 * 
	 * @return
	 */
	@RequestMapping(value = "/index", method = RequestMethod.GET)
	private String index() {
		return "frontend/index";
	}

	/**
	 * 商品列表页路由
	 * 
	 * @return
	 */
	@RequestMapping(value = "/shoplist", method = RequestMethod.GET)
	private String showShopList() {
		return "frontend/shoplist";
	}

	/**
	 * 店铺详情页路由
	 * 
	 * @return
	 */
	@RequestMapping(value = "/shopdetail", method = RequestMethod.GET)
	private String showShopDetail() {
		return "frontend/shopdetail";
	}

	/**
	 * 商品详情页路由
	 * 
	 * @return
	 */
	@RequestMapping(value = "/productdetail", method = RequestMethod.GET)
	private String showProductDetail() {
		return "frontend/productdetail";
	}
}

这段代码就是用户引入spring框架后,通过注解设置上,针对不同请求路径,转发到特定的controller进行处理。所以我们管不了他们的业务,但是我们能协助他们完成业务:)

0
4
无心铁憨憨
回复
翔仔
好的。继续看下去
2020-02-26
共4条回复

剑指Java自研框架,决胜Spring源码

快速入门Spring核心源码+从零开发自研框架

1498 学习 · 495 问题

查看课程