MVC模式中的控制器(Controller)主要负责响应用户的输入,冰球在响应时修改模型(Model)。经过这种方式,MVC模式中的控制器主要关注的是应用程序流、输入数据的处理,以及对相关视图(View)输出数据的提供。服务器
URL首先告知路由机制去实例化哪一个控制器,调用哪一个操做方法,并为该方法提供须要的参数。而后控制器的方法决定使用哪一个视图,并对该视图进行渲染。工具
URL并不用存储在Web服务器磁盘上的文件有直接对应关系,而是与控制器类的方法有关。网站
咱们将要构建的应用程序是一个简单的音乐商店。该应用程序有三个主要部分:购物,结账和管理。spa
访客能够按类型浏览相册:3d
他们能够查看单个相册并将其添加到购物车中:对象
他们能够查看购物车,删除他们再也不须要的任何商品:blog
继续结账将提示他们登陆或注册用户账户。继承
建立账户后,他们能够经过填写运费和付款信息来完成订单。为了简单起见,咱们正在进行一项惊人的促销活动:若是他们输入促销代码“免费”,一切都是免费的!索引
订购后,他们会看到一个简单的确认屏幕:事件
除了面向客户的页面,咱们还将构建一个管理员部分,其中显示管理员能够建立,编辑和删除相册的相册列表:
注意:这是一个至关简单的类,它继承了Controller基类。HomeController类的Index方法负责决定当浏览网站首页时触发的事件。
首先建立一个控制器来处理有关浏览音乐目录的URL。这个控制器支持如下三个功能:
添加一个新的控制器StoreController
新建立的StoreController控制器已经有了一个Index方法,下面将利用这个Index方法实如今页面上列出音乐商店里全部歌曲流派的功能。另外,还须要添加两个额外的方法来实现上述其余两项功能,这两个方法分别是Browse和Details。
前面的例子写出的是常量字符串。下一步就是让它们经过响应URL传进来的参数动态地执行操做。
控制器经过URL被调用,而后执行自定义的代码并返回一个视图。
控制器是MVC应用程序的“指挥员”,它精确精密地编排用户、模型对象和视图的交互。同时控制器还负责响应用户输入,操纵正确的模型对象,而后选择合适的视图显示给用户以做为对用户最初输入的响应。