怎么在Springmvc中实现一个Controller接口?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
怀安网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联于2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
Spring MVC
Controller控制器,是MVC中的部分C,为什么是部分呢?因为此处的控制器主要负责功能处理部分:
收集、验证请求参数并绑定到命令对象;
将命令对象交给业务对象,由业务对象处理并返回模型数据;
返回ModelAndView(Model部分是业务对象返回的模型数据,视图部分为逻辑视图名)。
1. 继承该接口 Controller接口,重写对应方法,或者采用注解Controller,自定义映射文件
@Controller @RequestMapping("/flight") public class ControlFlight /*implements Controller*/ { }
需要注意的是:
SimpleUrlHandlerMapping决定使用哪一个控制器。
其中对于prexf-servlet-.xml文件中使重定向方式:
1.第一种ModelAndView方式。
<!--基于URL映射器--> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="start1.do">ControlFlight</prop> <prop key="buy.do">ControlFlight</prop> <prop key="flight.do">ControlFlight</prop> <prop key="result.do">ControlFlight</prop> <!--<prop key="start.do">loginController</prop>--> </props> </property> </bean> <!-- <bean id="loginController" class="org.springframework.web.servlet.mvc.ParameterizableViewController"> <property name="viewName" value="buy"/> </bean>--> <bean id="ControlFlight" class="com.qunar.flight.control.ControlFlight"/> <!--ViewResolver映射--> <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/WEB-INF/flight/"/> <property name="suffix" value=".jsp"/> <property name="order" value="1"/> </bean>
之后进入Controller中进行任务分派:
@RequestMapping(value = "/start.do", method = RequestMethod.GET) public ModelAndView BuyAirTicket() { return new ModelAndView("buy"); }
2 第二种采用
<!--基于URL映射器--> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="start.do">loginController</prop> </props> </property> </bean> <bean id="loginController" class="org.springframework.web.servlet.mvc.ParameterizableViewController"> <property name="viewName" value="buy"/> </bean>
然后和下面的部分代码实现URL拼接
<!--ViewResolver映射--> <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/WEB-INF/flight/"/> <property name="suffix" value=".jsp"/> <property name="order" value="1"/> </bean>
还有另一种方法:
就是直接使用这个命令,但是前提条件是,请求URI的前缀(过滤掉.vm,.htm等)和转发的一样,则直接可以使用
<bean id="loginController" class="org.springframework.web.servlet.mvc.UrlFilenameViewController"/>
3 继承AbstractControlle 接口,并实现相应的方法,次方法和Controller相同,但是对于如果想封装表单请求,可以直接使用CommandController,-->AbstractCommandController(3.0以上版本废弃)
4. 注解@RequestMapping("/path") -->在类级别上定义注解时,那么再用此方法注解方法method时,那么method下的路径是与类路径相对。
@PathVariable 该注释是用来指明URL路径里面取参数,这个注解可以多个使用,下面时使用一种的代码片段
@RequestMapping("/flight/{name}") public ModelAndView toAdd(@PathVariable("name") String name){ ModelAndView mav = new ModelAndView("buy"); return mav; }
关于怎么在Springmvc中实现一个Controller接口问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。
网页名称:怎么在Springmvc中实现一个Controller接口
网站地址:https://www.cdcxhl.com/article26/ipeecg.html
成都网站建设公司_创新互联,为您提供网站维护、网站设计公司、定制网站、电子商务、网站排名、企业网站制作
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联