spring 学习2

 

  1. package com.asm;  
  2. //...省略导入的相关类
  3. public class MessageController implements Controller {  
  4. public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {  
  5. ModelAndView mav = new ModelAndView("message");  
  6. mav.addObject("message", "您好!spring MVC");  
  7. return mav;  
  8. }  
  9. }  

解释一下:红色代表了去找目录前缀下的message.jsp页面;

下面的message我认为是在找页面上的元素,并赋值。

  1. <bean id="viewResolver"      class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
  2. <property name="prefix" value="/WEB-INF/page/" />  
  3. <property name="suffix" value=".jsp" />  
  4. </bean>  
  5. <bean name="/message.do" class="com.asm.MessageController"></bean>  

message.jsp

<body>

    Message${message}

</body>

红色标签。

启动服务器,输入…/message.do访问测试。

 

逻辑:

message.do--->com.asm.MessageController-->message.jsp(ModelAndView mav = new ModelAndView("message");)

(1)启动服务器后,当我们向服务器发送message.do请求时,首先被在web.xml中配置的前端控制器DispatcherServlet拦截到。

(2)前端控制器把此请求转交给后端控制器,下面分析转交过程:当在spmvc-servlet.xml中查找能执行message.do请求的映射处理器时,发现没有能处理此请求的映射处理器,这时便使用默认的映射处理器BeanNameUrlHandlerMapping.我们还需注意:这种后端控制器的bean Name必须以“/”开头,并且要结合DispatcherServlet的映射配置。同时beanName支持通配符配置。比如如果配置:<bean name="/m*.do" class="com.asm.MessageController" /> 时,当访问messasge.do时也可以成功访问到MessageController类。

(3)BeanNameUrlHandlerMapping处理器,会查找在spring容器中是否在名为“message.do”的bean实例。当查找到此实例后,则把此bean作为处理此请求的后端控制器。同时把自身加到映射处理器链上,并向处理器链传递此请求。
(4)后端控制器进行处理,并返回视图。

 

转载于:https://www.cnblogs.com/daifei/p/3513309.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值