Spring3 映射请求到控制器之BeanNameUrlHandlerMapping

来源:互联网 发布:金融和it 知乎 编辑:程序博客网 时间:2024/06/07 23:59

一、在spring的配置文件里加入:

<beans:bean name="/myHome" class="my.app.first.MyHomeController"/>

其中"/myHome"是你请求的URL的路径,要和MyHomeController中的MyHome名称一致,并且要创建一个名称为"myHome.jsp"的视图.这样一来,spring就会自动调用BeanNameUrlHandlerMapping把你的请求映射到“my.app.first.MyHomeController”这个控制器了。下面这行语句是执行spring的Eclipse控制台输出情况:

INFO : org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping - Mapped URL path [/myHome] onto handler '/myHome'
这样看着很不舒服。给bean加个id属性:
<beans:bean name="/myHome" id="myHomeController" class="my.app.first.MyHomeController"/>
再来看看输出情况:
INFO : org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping - Mapped URL path [/myHome] onto handler 'myHomeController'

这下看着更明了些了。


二、编写MyHomeController控制器

public class MyHomeController extends AbstractController {private static final Logger logger = LoggerFactory.getLogger(MyHomeController.class);@Overrideprotected ModelAndView handleRequestInternal(HttpServletRequest request,HttpServletResponse response) throws Exception {logger.info("go to myHome.jsp");return new ModelAndView("myHome");}}

三、添加视图解析器

由于控制器返回的是一个逻辑的视图名称"myHome",所以要在spring的配置里添加一个视图解析器:

<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><beans:property name="prefix" value="/WEB-INF/views/" /><beans:property name="suffix" value=".jsp" /></beans:bean>
原创粉丝点击