spring-mvc入门(三):映射处理器

发表于:2011-3-21 09:34

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:86asm(JavaEye)    来源:51Testing软件测试网采编

  WEB-INF/page/loginSuc.jsp,主要代码如下:

  • <body> 
  •  
  •     登录成功!欢迎来到后台管理页面   
  •  
  • body> 
  •  
  • index.jsp代码:  
  •  
  •   <form action="<%=request.getContextPath()%>/op/luanXie/login.do" method="post"> 
  •  
  •     用户名:<input type="text" name="username"><br/> 
  •  
  •     密 码:<input type="password" name="password"><br/> 
  •  
  •     <input type="submit" value="登录"> 
  •  
  •   form>
  •   步骤五:访问index.jsp页面,完成测试。

      分析执行过程:为了清晰体会到整个处理器执行过程,我们首先在UserController.java中增加如下代码:

      Java代码

  • protected Object formBackingObject(HttpServletRequest request) throws Exception {     
  •     System.out.println("formBackingObject方法执行-->01");     
  •     return super.formBackingObject(request);     
  • }     
  • protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) throws Exception {     
  •     System.out.println("initBinder方法执行-->02");     
  •     super.initBinder(request, binder);     
  • }     
  • protected void onBind(HttpServletRequest request, Object command) throws Exception {     
  •     System.out.println("onBind方法执行-->03");     
  •     super.onBind(request, command);     
  • }     
  • protected void onBindAndValidate(HttpServletRequest request, Object command, BindException errors)     
  •         throws Exception {     
  •     System.out.println("onBindAndValidate方法执行-->04");     
  •     super.onBindAndValidate(request, command, errors);     
  • }
  •   (1)当访问…/login.do时,会首先被前端控制器DispatcherServlet拦截到,前端控制器通过查找spmvc-servlet.xml配置文件,并交给后端控制器处理。

      (2)执行后,得到如下打印结果,通过打印结果我们知道它的一个大致执行过程。

      执行preHandle方法-->01

      formBackingObject方法执行-->01

      initBinder方法执行-->02

      onBind方法执行-->03

      onBindAndValidate方法执行-->04

      调用逻辑层,处理表单

      Admin----123456

      执行postHandle方法-->02

      执行afterCompletion方法-->03

    相关链接:

    Spring-MVC入门(一):入门实例

    Spring-MVC入门(二):后端控制器

    44/4<1234
    《2023软件测试行业现状调查报告》独家发布~

    关注51Testing

    联系我们

    快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

    法律顾问:上海兰迪律师事务所 项棋律师
    版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
    投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

    沪ICP备05003035号

    沪公网安备 31010102002173号