Step 1:配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>springapp</display-name>
<servlet>
<servlet-name>spring-mvc</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring-mvc</servlet-name>
<url-pattern>/web/*</url-pattern>
</servlet-mapping>
</web-app>
servlet-mapping定义所有以/web/开头的url请求都会被spring 的DispatcherServlet处理转发。
DispatcherServlet会读取<servlet-name>.xml文件的配置信息初始化,该文件中urlMapping的定义决定当前请求转发给哪个controller来处理。
Step2:定义/WEB-INF/spring-mvc.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans default-autowire="byName" default-lazy-init="true">
<!-- 方法名解析器 (该方法名解释器会把整个URL中最后一个"/"和最后一个"."之间的部分作为要调用的方法名。)-->
<bean id="InternalPathMethodNameResolver" class="org.springframework.web.servlet.mvc.multiaction.InternalPathMethodNameResolver" />
<!-- 视图解析器 -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"> <value>org.springframework.web.servlet.view.JstlView</value>
</property>
</bean>
<!-- 注入所有ctrl类,可以单独放在一个xml文件中-->
<bean id="loginCtrl" class="net.gbicc.xbrl.instance.web.LoginCtrl"/>
<!-- -->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<value>
*.login=loginCtrl
.................
</value>
</property>
</bean>
</beans>
Step3:定义controller类并继承MultiActionController
package net.gbicc.xbrl.instance.web;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
public class LoginCtrl extends MultiActionController {
public ModelAndView login(HttpServletRequest req,
HttpServletResponse res) throws ServletException, IOException {
Map map = new HashMap();
String userName = req.getAttribute("userName")
map.put("userName", userName);
return new ModelAndView("/index.jsp", map);
}
}
通过配置文件,访问上面这个controller中某个方法的url即为:
localhost:8080/web/方法名
Step4:/index.jsp
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head></head>
<body>
<c:out value="${map.userName}"/>
</body>
</html>
分享到:
相关推荐
SpringMVC是Spring框架的一部分,专门用于处理Web应用程序的请求-响应...尽管如此,理解MultiActionController的工作原理有助于我们更好地掌握SpringMVC的历史和演进,以及在某些特定场景下可能仍需要使用的旧有技术。
springMVC3学习(五)--MultiActionController(源码) 文章地址:http://blog.csdn.net/itmyhome1990/article/details/25988091
#### 三、SpringMVC使用步骤 1. **导入JAR包**:首先需要将上述提到的所有JAR包导入到项目中,以确保SpringMVC能够正常运行。 2. **配置SpringMVC的XML文件**:在项目的`src`目录下创建名为`spring-servlet.xml`的...
Operater类继承自MultiActionController,这是一个SpringMVC框架提供的控制器,用于处理多个动作的请求。Operater类中的方法visitor()、insert()和delete()是处理不同的CRUD操作的方法。这些方法使用SpringMVC框架...
本教程将介绍SpringMVC的主要功能和使用方法,并通过实例来展示如何实现这些功能。 首先,SpringMVC教程会从SpringMVC的核心概念入手,比如控制器(Controller)的概念。控制器是MVC模式中的C,负责接收用户请求并...
然后,为每个功能(查询、保存、上传文件)添加对应的方法,使用`@ActionMapping`注解(如果使用的是`MultiActionController`,则使用`handleRequest`方法并根据请求参数调用相应的方法)。 4. **文件上传处理**:...
- 配置MultiActionController,它允许单个控制器处理多个请求方法,通过`ParameterMethodNameResolver`解析请求参数中的方法名。 - 配置ViewResolver,例如InternalResourceViewResolver,用于解析视图名称到具体...
Controller 类,添加了@Controller 注解的类就可以担任控制器(Action)的职责,不使用注解,定义 SpringMVC 的控制类,则要继承 Spring 的 Controller 接口,如:MultiActionController 等。使用@Controller 注解...
为了处理多个请求,Spring MVC 提供了 `MultiActionController` 类,该类允许你为每个请求定义一个方法。方法签名需要包含 HTTP 请求类型(GET、POST 等)和响应类型。每个方法处理一个特定的请求,并通过 `...
4 使用MultiActionController 5 所有service利用spring注入到controller中,利用注解 6 数据库连接串单独在properties文件配置 7 在spring中配置数据源,属性使用properties文件中的配置 8 利用JdbcTemplate操作...
Spring提供了多种类型的控制器,如`AbstractController`、`AbstractCommandController`、`MultiActionController`等,以满足不同的应用场景。 3. **视图**:负责将模型数据转化为用户界面。Spring支持多种视图技术,...
学习这个示例,你可以了解如何将Spring MVC和MyBatis集成,以及如何使用`SimpleFormController`和`MultiActionController`处理Web请求。这有助于提升你在Java Web开发中的技能,特别是在大型企业级应用的场景下,...
cotroller继承MultiActionController,不用写dopost doget方法,直接在controller中写方法,方法名称来源于请求带过来的value值,请求格式如下, <form action="/Login.do"> <button type="submit" name=...
本代码使用了Spring MVC框架(spring2.5架包) 演示了(Controller接口的试用方法)和 MultiActionController多动作控制器 数据库连接试用Spring JDBC 并且着重介绍了MultiActionController多动作控制器的两种方法名...
13.3.3. MultiActionController 13.3.4. 命令控制器 13.4. 处理器映射(handler mapping) 13.4.1. BeanNameUrlHandlerMapping 13.4.2. SimpleUrlHandlerMapping 13.4.3. 拦截器(HandlerInterceptor) 13.5. 视图与...
与Struts不同,SpringMVC允许直接使用任意对象作为命令或表单对象,无需特定接口或基类约束,其强大的数据绑定机制能够处理类型转换错误和验证问题。 在事务管理方面,Spring提供了JTA事务管理器、...
1. **使用@Controller Stereotype** - `@Controller`注解是声明一个类作为Spring MVC控制器的基本方式。例如,你可以创建一个HomeController来处理首页请求: ```java @Controller public class HomeController ...
- **推荐使用**:建议每个请求对应一个控制器,对于复杂的流程可以考虑使用 `MultiActionController`。 #### 六、总结 Spring MVC 是一个高度灵活且功能强大的 Web 开发框架,它简化了 Web 应用程序的开发过程,...