首发地址http://inmethetiger.iteye.com/blog/1679399
熟悉MultiActionController之后,就想写一个基于注解的MultiActionController处理多个用户请求。后来发现,基于注解的多请求处理,并不需要MultiActionController,而只是需要简单的在控制器中使用@Controller并在xxxx-servlet.xml中进行简单的配置就可以了。
所以,把代码帖一下,让自己记住。当然,这个只是最简单的实现。只是简单的使用了@RequestMapping,对于参数或者请求参数并没有涉及。主要原因是自己也是菜鸟。有的地方自己也无法解释清楚。 话不多说,代码如下:
-------------------------------------------------------------------------------------------------------------------------------------
@Controller
public class MyMutilActionController {
@RequestMapping(value = "/listing.do")
public ModelAndView listObject(HttpServletRequest request,
HttpServletResponse response) {
ModelAndView mv = new ModelAndView();
mv.setViewName("list");
return mv;
}
@RequestMapping(value = "/delete.do")
public ModelAndView deleteObject(HttpServletRequest request,
HttpServletResponse response) {
ModelAndView mv = new ModelAndView();
mv.setViewName("delete");
return mv;
}
@RequestMapping(value = "/update.do")
public ModelAndView updateObject(HttpServletRequest request,
HttpServletResponse response) {
ModelAndView mv = new ModelAndView();
mv.setViewName("update");
return mv;
}
@RequestMapping(value = "/insert.do")
public ModelAndView insertObject(HttpServletRequest request,
HttpServletResponse response) {
ModelAndView mv = new ModelAndView();
mv.setViewName("insert");
return mv;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:annotation-config></context:annotation-config>
<context:component-scan base-package="org.spring.controller"></context:component-scan>
<!-- HandlerMapping -->
<!-- 帮助DispatchServlet进行web请求的url到具体处理类的匹配,默认为BeanNameUrlHandleMapping -->
<!-- <bean id="handlerMapping" class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">
</bean> -->
<bean id="handlerMapping"
class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
</bean>
<!-- Controller -->
<!-- 控制器,自己实现,收集参数,绑定参数到命令对象,调用业务对象,选择视图模型,返回视图,模型,数据 -->
<!-- <bean name="/login.do" class="org.spring.controller.LoginController"></bean> -->
<!-- ViewResover -->
<!-- DispatcherServlet根据Controller中指定的逻辑视图查找相应的视图实现 -->
<bean id="defaultViewResover"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/view/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
</beans>
看xml文件可知,基于注解的Spring mvc基本上可以说是零配置。而且方便易懂,比如只要查看控制器就可以知道映射关系,而并不需要在xml文件中查看对应关系。
分享到:
相关推荐
在Spring MVC中,`MultiActionController`是早期版本中的一个控制器类,它允许在一个控制器类中处理多个请求映射。然而,从Spring 3.0开始,`MultiActionController`已被废弃,取而代之的是更灵活、更面向注解的`@...
在传统的Spring MVC中,Controller通常需要实现`org.springframework.web.servlet.mvc.Controller`接口,或者是继承`SimpleFormController`或`MultiActionController`。但是使用注解后,Controller不再需要继承任何...
这与传统的实现 `org.springframework.web.servlet.mvc.Controller` 接口或者继承 `SimpleFormController` 或 `MultiActionController` 不同,`@Controller` 注解使得我们的类变成了一个纯粹的 POJO,无需额外的接口...
本资源"spring-ext-handler-mapping"着重于扩展Spring的地址映射功能,使得开发者在使用Spring MVC进行Web开发时能够更加灵活和高效。 1. **扩展Spring HandlerMapping** Spring MVC默认提供了一些内置的...
尽管在现代Spring MVC应用中,我们通常会推荐使用基于注解的@Controller或@RestController,但理解MultiActionController的工作原理仍然对学习Spring MVC的历史和演进有所帮助。 **1. MultiActionController介绍** ...
然而,随着Spring MVC的发展,`MultiActionController`逐渐被更现代、更灵活的`@Controller`注解和基于方法的映射所取代。现在,我们通常推荐使用`@RequestMapping`来定义请求映射,它可以更精确地控制HTTP方法(GET...
【Spring MVC注解详解】 Spring MVC 是 Spring 框架的一部分,主要负责处理 Web 应用中的请求和响应。在 Spring 2.5 版本之后,Spring MVC 引入了注解驱动的功能,极大地简化了控制器(Controller)的配置和使用。...
- **实现**:Spring MVC 提供了多种视图解析器实现,如 `InternalResourceViewResolver` 和 `FreeMarkerViewResolver`。 - **优点**:简化了视图的配置和使用过程。 #### 三、Spring MVC 的处理流程 1. **客户端...
本示例将深入探讨`SimpleFormController`和`MultiActionController`这两种控制器在Spring MVC中的应用。 首先,`SimpleFormController`是Spring MVC早期版本中提供的一个抽象控制器,主要用于处理表单提交。它内置...
Spring MVC提供了一系列的抽象控制器,如`AbstractController`、`AbstractCommandController`、`MultiActionController`等,帮助开发者实现更复杂的控制逻辑。与Struts相比,Spring MVC允许开发者根据需求选择合适的...
总的来说,`springMVC带上传文件`的功能实现涉及到了Spring MVC的控制器、模型、视图解析器的配置,以及文件上传的相关处理。通过理解这些核心概念,可以更好地构建和维护基于Spring MVC的Web应用。
为了处理多个请求,Spring MVC 提供了 `MultiActionController` 类,该类允许你为每个请求定义一个方法。方法签名需要包含 HTTP 请求类型(GET、POST 等)和响应类型。每个方法处理一个特定的请求,并通过 `...
创建一个MultiActionController需要继承`org.springframework.web.servlet.mvc.MultiActionController`基类。然后,你可以定义多个处理方法,每个方法对应一个特定的请求。例如: ```java public class Test...
Spring的AOP模块提供了在Web MVC之外的功能,如日志、安全性、缓存等跨切面的关注点的实现。这使得业务逻辑更专注于核心功能,而将共性问题抽象到切面中处理。 8. **容器集成** Spring可以很好地与各种Java EE...
2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. 动态语言支持 2.6.2. JMX 2.6.3. 任务规划 2.6.4. 对Java 5(Tiger)的支持 2.7. 移植到Spring 2.0 2.7.1. 一些变化 2.8. 更新的...
ApplicationContext是Spring的核心接口之一,它提供了更丰富的功能,比如国际化支持、事件发布机制等。 #### 十三、MessageResource接口 为了支持多语言的应用程序,Spring提供了一个MessageResource接口,用于...
Spring MVC是Spring提供的用于构建Web应用程序的模块。3.0.6.RELEASE版本引入了诸如ContentNegotiatingViewResolver和MultiActionController等改进,以支持多种视图技术,并提高了处理HTTP请求的效率。此外,@...
- `@Controller`注解是声明一个类作为Spring MVC控制器的基本方式。例如,你可以创建一个HomeController来处理首页请求: ```java @Controller public class HomeController { @RequestMapping("/") public ...
2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. 动态语言支持 2.6.2. JMX 2.6 .3. 任务规划 2.6.4. 对Java 5(Tiger)的支持 2.7. 移植到Spring 2.0 ...