Springmvc Controller接口代码示例
|
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接收复杂集合对象(参数)代码示例 SpringMVC拦截器实现监听session是否过期详解 SpringMVC开发restful API之用户查询代码详解 如有不足之处,欢迎留言指出。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Android手机定位实例代码
- java – IntelliJ IDEA抱怨@NotNull参数的空检查
- java – 推荐用于存储应用程序瞬态配置的实践
- 不幸的Java异常:java.lang.NoSuchMethodError
- Tomcat报错:HTTP Status 500 (Wrapper cannot find servl
- Java中的XMLSignature中的DigestValue与C#不同
- java – Log4J能够从磁盘恢复完整吗?
- java – Apache Camel.节流部分路线
- Java – 是否可以使用方法签名输出堆栈跟踪?
- java – maven-assembly-plugin MojoExecutionException,其
