码迷,mamicode.com
首页 > 编程语言 > 详细

Spring MVC Controller配置方式

时间:2016-07-25 16:45:45      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:注解   springmvc   controller   

在SpringMVC中,对于Controller的配置方式有很多种,如下做简单总结

第一种 URL对应Bean

如果要使用此类配置方式,需要在XML中做如下样式配置

<!-- 表示将请求的URL和Bean名字映射-->  
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>  
<bean name="/hello.do" class="com.wc..HelloController"></bean>

以上配置,访问/hello.do就会寻找ID为/hello.do的Bean,此类方式仅适用小型的应用系统


第二种 为URL分配Bean

使用一个统一配置集合,对各个URL对应的Controller做关系映射

这是最常用的映射配置方式

<!-- 最常用的映射配置方式 -->  
<!-- <prop key="/hello*.do">helloController</prop>-->  
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">  
 <property name="mappings">  
  <props>
      <!-- key对应url的请求名 value对应处理器的id -->  
     <prop key="/hello.do">helloController</prop>  
  </props>  
 </property>  
</bean>  
<bean name="helloController" class="com.wc.controller.HelloController"></bean>

此类配置还可以使用通配符,访问/hello.do时,Spring会把请求分配给helloController进行处理


第三种 URL匹配Bean

如果定义的Controller名称规范,也可以使用如下配置

<!-- 将hello*.do交给helloController处理-->  
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>  
<bean id="helloController" class="test.HelloController"></bean>


第四种 注解

首先在配置文件中开启注解

<!-- 使用spring组件扫描该包下的注解 -->
<context:component-scan base-package="com.wc.controller" />
package com.wc.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller

public class HelloController {
	@RequestMapping("/hello")//映射
	public ModelAndView hello(HttpServletRequest req, HttpServletResponse resp){

		ModelAndView mv = new ModelAndView();
		//封装要显示到视图中的数据
		mv.addObject("msg","hello springmvc annotation");
		//视图名
		mv.setViewName("hello"); //WEB-INF/jsp/hello.jsp
		return mv;
	}	
}


在编写类上使用注解@org.springframework.stereotype.Controller标记这是个Controller对象

使用@RequestMapping("/hello.do")指定方法对应处理的路径,这里只是简单示例,会有更复杂配置

代码类如下:

<!-- 使用spring组件扫描该包下的注解 -->
<context:component-scan base-package="com.wc.controller" />  
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>
package test;  
import java.util.Date;  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;  
import org.springframework.web.bind.annotation.RequestMapping;  
// http://localhost:8080/spring/hello.do?user=java  
@org.springframework.stereotype.Controller  
public class HelloController{  
    @SuppressWarnings("deprecation")  
    @RequestMapping("/hello.do")  
    public String hello(HttpServletRequest request,HttpServletResponse response){  
        request.setAttribute("user", request.getParameter("user") + "-->" + new Date().toLocaleString());  
        return "hello";  
    }  
}


Spring MVC Controller配置方式

标签:注解   springmvc   controller   

原文地址:http://sdqdwc.blog.51cto.com/11678553/1829549

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!