也谈Spring MVC

在说Spring MVC之前,我们先说说没有Spring MVC的时候。
1)最早的Java Web程序,我们使用Servlet来处理请求,一般来说,一个请求对应一个Servlet,比如/user/add.do,就对应某个useradd的Servlet来处理。在Servlet中,我们可以获取到HttpServletRequest(req)和HttpServletResponse(resp)两个参数。其中req可以取得请求相关的信息,然后我们处理好请求之后,将要返回的东西写进resp里面,比如要输出一个html页面,就一行行的println,非常的麻烦,像这样:

PrintWriter out = resp.getWriter();
out.println("<h1>" + message + "</h1>");

2)后来有了jsp文件,我们就把代码从Servlet搬到了jsp里面。这个时候,就不用一行行的println了,直接在普通的html页面里面加上需要动态化的代码就可以了。
同时,也出现了一种做法,也就是把业务逻辑写到Servlet,而数据展现放在jsp页面,再独立出领域模型,就成了mvc的模式,也就是模型(model)-视图(view)-控制器(controller)的缩写,这样做使得项目结构开始清晰起来。
3)每个请求都写个Servlet是很麻烦的,所以就有了只写一个Servlet,映射”/*”的做法,也就是把所有请求都映射到一个Servlet上面,这个Servlet再根据传递的参数做转发。再后来,把这个转发的配置写到一个独立的配置文件里面,也就是类似Struts这样的框架。Struts把处理请求的方法和返回的页面地址配置到一个xml里面,像这样:

<action name="Login" class="steven.actions.LoginAction">
<result name="success" type="redirectAction">User?u_id=${loginBean.u_id}</result>
</action>

好处显而易见,不用写一堆的Servlet了,也不用自己写转发的方法了,只要按格式配置个xml就搞定。
4)后来就有了Spring MVC,除了类似Struts这样的用法外,还可以支持annotation的方式(Spring2.5后),就可以这样:

@Controller  
@RequestMapping("blog")  
public class BlogController {  
    @RequestMapping("index")  
    public String index(Map<String, Object> map) {  
        return "blog/index";  
    }  
}  

annotation的方式,只要写那几个@的内容,比原先写到配置文件里,省事了不少呀。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值