controller配置汇总

1.通过URL对应Bean

<pre name="code" class="html"><!-- 配置HandlerMapping 根据beanname找对对应的controller -->

 
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
       	<!-- 配置handleradapter -->
       	<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>
<span style="white-space:pre">	</span><!-- 配置controller -->
       <bean name="/hello.do" class="cn.com.jit.controller.HelloController"/>
以上配置访问/hello.do就会寻找ID为/hello.do的Bean,此类方式仅使用小型应用系统


2.为URL分配Bean

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

<!-- 最常用的 -->
<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 id="hellocontroller" class="cn.com.jit.controller.HelloController"></bean>
此类配置还可以使用通配符,访问/hello.do时,Spring会把请求分配给helloController进行处理。


3.URL匹配Bean

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

<!-- 将hello*.do交给helloController去处理 --> 
<!-- 配置HandlerMapping 根据beanname找对对应的controller -->
       <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>
       	<!-- 配置controller  请求为hello*.do都将会被匹配 -->
       <bean name="/helloController" class="cn.com.jit.controller.HelloController"/>


4注解

 <!-- 配置springMVC 注解驱动 -->
       <mvc:annotation-driven/>
       <!-- 扫描器 -->
       <context:component-scan base-package="cn"></context:component-scan>
在controller中添加注解:

@Controller
@RequestMapping("/user")
public class UserController {
	
	/**
	 * 时间编辑器
	 */
	 @InitBinder  
	 public void initBinder(ServletRequestDataBinder binder) {  
	     SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
	     //dateFormat.setLenient(false);  
	     binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false)); 
		
	}
	
	@RequestMapping("/add1.do")
	public String add(HttpServletRequest request){
		
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		System.out.println("username:" + username + "---" + "password:" + password);
		
		return "user/user_list";
	}
	
	@RequestMapping("/add2.do")
	public String add2(String username, String password ){
		
		System.out.println("username:" + username + "-----" + "password:" + password);
		
		return "user/user_list";
	}
	
	@RequestMapping("/add3.do")
	public String add3(UserInfo userInfo){
		
		System.out.println(userInfo);
		
		return "user/user_list";
	}
	
	@RequestMapping("/add4.do")
	public String add4(String userName, Date date){
		
		System.out.println("username:" + userName + "---" + "date:" + date);
		
		return "user/user_list";
	}

}





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值