springmvc 和 struts2的區別

  • 他們都是控制層框架,都是用來跳轉頁面和接受參數的;
  • springmvc和spring是兄弟級別的關係,可是做用不同;
  • 區別
    • springmvc是單例的,struts2是多例的;由於struts2中存在全局變量,若是是單利模式,遇到併發狀況會發生衝突;
    • springmvc的前段控制器是dispatcherServlet,而Struts2的前段控制器是filterDispatcher;
    • struts的註解是@action,經過value和result來定義訪問路徑和返回的結果集;
    • springmvc的註解是@controller,經過@RequestMapping("")來定義訪問路徑,經過return返回字符串跳轉頁面;
    • 普通參數的傳遞;Struts2傳參時經過私有屬性,提供get,set方法來傳遞參數;springmvc是經過方法括號中定義變量來接受參數的,經過ModelMap來傳參;
    • 日期類型的傳遞;Struts2直接傳遞字符串,後臺Date就能夠接受到,springmvc傳參時須要定義一個註解@DateTimeFormat(pattern="yyyy-MM-dd")
    • 文件格式的傳遞;struts2是私有化的文件和文件名,提供get set方法來獲取到文件
      • springmvc是經過註解@RequestParam('文件名')
    • json傳參,struts2一般是經過提供的beasAction工具類來傳遞;springmvc是經過@responseBody註解來定義傳遞
    • request和response的獲取,struts是經過beasAction提供的;springmvc是在方法後括號中定義來獲取到的;HttpServletResponse ;HttpServletRequest
相關文章
相關標籤/搜索