怎么在Springmvc中实现一个控制器接口

  介绍

怎么在Springmvc中实现一个控制器接口?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

<强> Spring MVC

控制器控制器,是MVC中的部分C,为什么是部分呢?因为此处的控制器主要负责功能处理部分:

收集,验证请求参数并绑定到命令对象,

将命令对象交给业务对象,由业务对象处理并返回模型数据;

返回ModelAndView(模型部分是业务对象返回的模型数据,视图部分为逻辑视图名)。

1。继承该接口控制器接口,重写对应方法,或者采用注解控制器、自定义映射文件

@ Controller   @RequestMapping (“/flight")   public  class  ControlFlight    *//* implements 控制器   {   }

需要注意的是:

SimpleUrlHandlerMapping决定使用哪一个控制器。

其中对于prexf-servlet . xml文件中使重定向方式:

<强> 1。第一种ModelAndView方式。

& lt; !——基于URL映射器——比;   ,,,& lt; bean 类=皁rg.springframework.web.servlet.handler.SimpleUrlHandlerMapping"比;   ,,,,,& lt; property  name=癿appings"比;   ,,,,,,,& lt; props>      ,,,,,,,,,& lt; prop 关键=皊tart1.do"祝辞ControlFlight   ,,,,,,,,,& lt; prop 关键=癰uy.do"祝辞ControlFlight   ,,,,,,,,,& lt; prop 关键=癴light.do"祝辞ControlFlight   ,,,,,,,,,& lt; prop 关键=皉esult.do"祝辞ControlFlight   ,,,,,,,,,& lt; !——& lt; prop 关键=皊tart.do"祝辞loginController——比;   ,,,,,,,& lt;/props>   ,,,,,& lt;/property>   ,,,& lt;/bean>      ,,& lt; !——, & lt; bean  id=發oginController",类=皁rg.springframework.web.servlet.mvc.ParameterizableViewController"比;   ,,,,,& lt; property  name=皏iewName",值=https://www.yisu.com/zixun/"买入"/>    - ->                     <属性名=" viewClass " value=" org.springframework.web.servlet.view.JstlView "/>   <属性名="前缀“value="/web - inf/飞行/"/>   <属性名="后缀" value=" . jsp "/>   <属性名="秩序" value=" 1 "/>   

之后进入控制器中进行任务分派:

@RequestMapping (=value “/start.do",, method =, RequestMethod.GET)   ,,public  ModelAndView  BuyAirTicket (), {   return  new  ModelAndView (“buy");   }

<强> 2第二种采用

& lt; !——基于URL映射器——比;   ,,,& lt; bean 类=皁rg.springframework.web.servlet.handler.SimpleUrlHandlerMapping"比;   ,,,,,& lt; property  name=癿appings"比;   ,,,,,,,& lt; props>      ,,,,,,,,,& lt; prop 关键=皊tart.do"祝辞loginController   ,,,,,,,& lt;/props>   ,,,,,& lt;/property>   ,,,& lt;/bean>      ,,,& lt; bean  id=發oginController",类=皁rg.springframework.web.servlet.mvc.ParameterizableViewController"比;   ,,,,,& lt; property  name=皏iewName",值=https://www.yisu.com/zixun/"买入"/>   

然后和下面的部分代码实现URL拼接

& lt; !——ViewResolver映射——比;   & lt;才能bean 类=皁rg.springframework.web.servlet.view.UrlBasedViewResolver"比;   ,,,& lt; property  name=皏iewClass",价值=https://www.yisu.com/zixun/" org.springframework.web.servlet.view.JstlView "/>   <属性名="前缀“value="/web - inf/飞行/"/>   <属性名="后缀" value=" . jsp "/>   <属性名="秩序" value=" 1 "/>   

还有另一种方法:

就是直接使用这个命令,但是前提条件是,请求URI的前缀(过滤掉. vm, . htm等)和转发的一样,则直接可以使用

& lt; bean  id=發oginController",类=皁rg.springframework.web.servlet.mvc.UrlFilenameViewController"/祝辞

3继承AbstractControlle接口,并实现相应的方法,次方法和控制器相同,但是对于如果想封装表单请求,可以直接使用CommandController,——在AbstractCommandController(3.0以上版本废弃)

4。注解@RequestMapping (“/path")——在在类级别上定义注解时,那么再用此方法注解方法方法时,那么方法下的路径是与类路径相对。

@PathVariable该注释是用来指明URL路径里面取参数,这个注解可以多个使用,下面时使用一种的代码片段

怎么在Springmvc中实现一个控制器接口