SpringMVC详解

一个简单的图一目了然


请求首先通过DispatcherServlet。servlet根据HandlerMapping,来处理请求,并根据请求,来找到Controller,Controller执行完毕后,发送一个ModelAndView,并告诉需要展示哪个视图。根据这个视图,servlet找到这个视图的ViewResolver,并由这个ViewResolver生成对应的view,并输出。 

handler mappings 处理器影射器,它会根据请求,查找到实际的请求处理者 
view resolvers 视图解析器 
locale resolver 本地化解析器,提供国际化的支持 
Theme resolver 主题解析器 
multipart file 文件上传解析器 
handler exception resolvers 异常处理器 

返回类型

请求处理方法入参的可选类型                                                   说明

void                        此时逻辑视图名由请求处理方法对应的 URL 确定,如以下的方法:

@RequestMapping("/welcome.do")

public void welcomeHandler() {

}

对应的逻辑视图名为“welcome

 

String                   此时逻辑视图名为返回的字符,如以下的方法:

@RequestMapping(method = RequestMethod.GET)

public String setupForm(@RequestParam("ownerId") int ownerId, ModelMap model) {

     Owner owner = this.clinic.loadOwner(ownerId);

     model.addAttribute(owner);

     return "ownerForm";

}

                          对应的逻辑视图名为“ownerForm

 

ModelMap             和返回类型为 void 一样,逻辑视图名取决于对应请求的 URL

如下面的例子:

@RequestMapping("/vets.do")

public ModelMap vetsHandler() {

     return new ModelMap(this.clinic.getVets());

}

 

对应的逻辑视图名为“vets”,返回的 ModelMap 将被作为请求对应的模型对象,

可以在 JSP 视图页面中访问到。

ModelAndView                  

返回方式

1 使用无返回方法跳转,如果使用返回方法进行跳转的话,则会通过视图解析器进行以

prefix(前缀)+方法名+suffix(后缀)组成的页面文件名称.

 

2 使用一个返回的字符串方法作为跳转,使用字符串跳转的话好处就是在return的时候可

以自己指定返回的名字,JSP组成是prefix(前缀)+返回的字符串+suffix(后缀)

 

3 返回一个ModelAndView类型,使用setViewName方法则可以跳转到指定的页面.



参考:http://blog.sina.com.cn/s/blog_a43be7b001011lx9.html

http://blog.sina.com.cn/s/blog_4b5bc0110100zf11.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值