`
kevin_qust
  • 浏览: 7931 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

SpringMVC MultiActionController的使用

阅读更多
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 - MultiActionController

    SpringMVC是Spring框架的一部分,专门用于处理Web应用程序的请求-响应...尽管如此,理解MultiActionController的工作原理有助于我们更好地掌握SpringMVC的历史和演进,以及在某些特定场景下可能仍需要使用的旧有技术。

    springMVC3学习(五)--MultiActionController(源码)

    springMVC3学习(五)--MultiActionController(源码) 文章地址:http://blog.csdn.net/itmyhome1990/article/details/25988091

    SpringMVC教程及实现原理

    #### 三、SpringMVC使用步骤 1. **导入JAR包**:首先需要将上述提到的所有JAR包导入到项目中,以确保SpringMVC能够正常运行。 2. **配置SpringMVC的XML文件**:在项目的`src`目录下创建名为`spring-servlet.xml`的...

    springMVC的增删改查

    Operater类继承自MultiActionController,这是一个SpringMVC框架提供的控制器,用于处理多个动作的请求。Operater类中的方法visitor()、insert()和delete()是处理不同的CRUD操作的方法。这些方法使用SpringMVC框架...

    SpringMVC教程

    本教程将介绍SpringMVC的主要功能和使用方法,并通过实例来展示如何实现这些功能。 首先,SpringMVC教程会从SpringMVC的核心概念入手,比如控制器(Controller)的概念。控制器是MVC模式中的C,负责接收用户请求并...

    springMVC带上传文件

    然后,为每个功能(查询、保存、上传文件)添加对应的方法,使用`@ActionMapping`注解(如果使用的是`MultiActionController`,则使用`handleRequest`方法并根据请求参数调用相应的方法)。 4. **文件上传处理**:...

    SpringMVC配置

    - 配置MultiActionController,它允许单个控制器处理多个请求方法,通过`ParameterMethodNameResolver`解析请求参数中的方法名。 - 配置ViewResolver,例如InternalResourceViewResolver,用于解析视图名称到具体...

    springmvc注解详解

    Controller 类,添加了@Controller 注解的类就可以担任控制器(Action)的职责,不使用注解,定义 SpringMVC 的控制类,则要继承 Spring 的 Controller 接口,如:MultiActionController 等。使用@Controller 注解...

    springmvc 学习笔记

    为了处理多个请求,Spring MVC 提供了 `MultiActionController` 类,该类允许你为每个请求定义一个方法。方法签名需要包含 HTTP 请求类型(GET、POST 等)和响应类型。每个方法处理一个特定的请求,并通过 `...

    springmvcdemo

    4 使用MultiActionController 5 所有service利用spring注入到controller中,利用注解 6 数据库连接串单独在properties文件配置 7 在spring中配置数据源,属性使用properties文件中的配置 8 利用JdbcTemplate操作...

    毕设 外文文献翻译--Spring的web-MVC-构架模式

    Spring提供了多种类型的控制器,如`AbstractController`、`AbstractCommandController`、`MultiActionController`等,以满足不同的应用场景。 3. **视图**:负责将模型数据转化为用户界面。Spring支持多种视图技术,...

    Spring MVC 例子

    学习这个示例,你可以了解如何将Spring MVC和MyBatis集成,以及如何使用`SimpleFormController`和`MultiActionController`处理Web请求。这有助于提升你在Java Web开发中的技能,特别是在大型企业级应用的场景下,...

    springmvc_150814

    cotroller继承MultiActionController,不用写dopost doget方法,直接在controller中写方法,方法名称来源于请求带过来的value值,请求格式如下, &lt;form action="/Login.do"&gt; &lt;button type="submit" name=...

    Spring MVC框架 多动作控制器详解 spring mvc 2.5

    本代码使用了Spring MVC框架(spring2.5架包) 演示了(Controller接口的试用方法)和 MultiActionController多动作控制器 数据库连接试用Spring JDBC 并且着重介绍了MultiActionController多动作控制器的两种方法名...

    Spring-Reference_zh_CN(Spring中文参考手册)

    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. 视图与...

    (完整word版)SSM英文文献翻译.docx

    与Struts不同,SpringMVC允许直接使用任意对象作为命令或表单对象,无需特定接口或基类约束,其强大的数据绑定机制能够处理类型转换错误和验证问题。 在事务管理方面,Spring提供了JTA事务管理器、...

    14个编写Spring MVC控制器的实用小技巧(吐血整理)

    1. **使用@Controller Stereotype** - `@Controller`注解是声明一个类作为Spring MVC控制器的基本方式。例如,你可以创建一个HomeController来处理首页请求: ```java @Controller public class HomeController ...

    Spring MVC

    - **推荐使用**:建议每个请求对应一个控制器,对于复杂的流程可以考虑使用 `MultiActionController`。 #### 六、总结 Spring MVC 是一个高度灵活且功能强大的 Web 开发框架,它简化了 Web 应用程序的开发过程,...

Global site tag (gtag.js) - Google Analytics