日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

基于ssm的水果商城系统项目总结

發(fā)布時間:2025/3/12 windows 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于ssm的水果商城系统项目总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

SSM水果商城

項目介紹

因為我先學過了ssm的基礎知識,所以找了個ssm項目來練練手,加深對框架的理解。
由于我也是手敲所以暫時沒有感覺到與javaweb比優(yōu)勢在哪,但是了解過之后,框架之所以是框架,個人覺得是因為它有它一套可以通用的結構,把許多功能解耦合放到一個文件夾下更加方便調用,大部分項目都可以直接使用base層,再加上代碼生成器的使用,節(jié)省了我們許多工作,只需要寫寫controller層,把代碼生成器生成的架構內容補充完整。
pom依賴的配置一開始也是不知道需要哪種,但是使用的多了,以后寫項目也是可以拿來用的。

項目視頻演示

水果商城演示視頻

項目過程中新遇到的知識和問題

  • Serializable接口的意義和用法

  • Serializable接口是啟用其序列化功能的接口。實現(xiàn)java.io.Serializable 接口的類是可序列化的。沒有實現(xiàn)此接口的類將不能使它們的任意狀態(tài)被序列化或逆序列化。

    這個介紹非常的不接地氣,于是我與去看了幾篇博客,有一個小姐姐的博客引起了我的注意,她是這樣理解的:

    序列化的過程,就是一個“freeze”的過程,它將一個對象freeze(冷凍)住,然后進行存儲,等到再次需要的時候,再將這個對象de-freeze就可以立即使用。我們以為的沒有進行序列化,其實是在聲明的各個不同變量的時候,由具體的數(shù)據(jù)類型幫助我們實現(xiàn)了序列化操作。

    存儲對象在存儲介質中,以便在下次使用的時候,可以很快捷的重建一個副本,便于數(shù)據(jù)傳輸,尤其是在遠程調用的時候!

    其實說了這么多,想表達的意思就是:

    Serializable接口是一個里面什么都沒有的接口
    它的源代碼是public interface Serializable{},即什么都沒有。
    如果一個接口里面什么內容都沒有,那么這個接口是一個標識接口,比如,一個學生遇到一個問題,排錯排了幾天也沒解決,此時,她舉手了(示意我去幫他解決),然后我過去,幫他解決了,那么這個舉手其實就是一個標識,自己不能解決的問題標示我去幫他解決,在Java中的這個Serializable接口是給JVM看的,告訴JVM,我不做這個類的序列化了,你(JVM)給我序列化,序列化就是變成二進制流,比如云計算、Hadoop,特別是Hadoop完全就是分布式環(huán)境,那么就要涉及到對象要在網(wǎng)絡中傳輸,里面的全是二進制流,當然你來做這個序列化操作也可以,但是這個類里面可能還有一個類,如果你把外面的類對象Person變成二進制,那么里面也要序列化(這要用到深度遍歷,很麻煩),干脆告訴JVM,讓他來幫你做。
    serializable接口就是Java提供用來進行高效率的異地共享實例對象的機制,實現(xiàn)這個接口即可。

  • redirect重定向流程
    • response.sendRedirect重定向跳轉
    @RequestMapping(value="/testredirect",method = { RequestMethod.POST, RequestMethod.GET }) public ModelAndView testredirect(HttpServletResponse response){ response.sendRedirect("/index");return null; }
    • ViewResolver直接跳轉

    不帶參數(shù)

    @RequestMapping(value="/testredirect",method = { RequestMethod.POST, RequestMethod.GET }) public String testredirect(HttpServletResponse response){ return "redirect:/index"; }

    帶參數(shù)

    @RequestMapping("/testredirect") public String testredirect(Model model, RedirectAttributes attr) {attr.addAttribute("test", "51gjie");//跳轉地址帶上test參數(shù)attr.addFlashAttribute("u2", "51gjie");//跳轉地址不帶上u2參數(shù)return "redirect:/user/users"; }

    使用RedirectAttributes的addAttribute方法傳遞參數(shù)會跟隨在URL后面,如上代碼即為http:/index.action?test=51gjie

    使用addFlashAttribute不會跟隨在URL后面,會把該參數(shù)值暫時保存于session,待重定向url獲取該參數(shù)后從session中移除,這里的redirect必須是方法映射路徑,jsp無效。你會發(fā)現(xiàn)redirect后的jsp頁面中b只會出現(xiàn)一次,刷新后b再也不會出現(xiàn)了,這驗證了上面說的,b被訪問后就會從session中移除。對于重復提交可以使用此來完成.

    spring mvc設置下RequestMappingHandlerAdapter 的ignoreDefaultModelOnRedirect=true,這樣可以提高效率,避免不必要的檢索。

    • ModelAndView重定向

      不帶參數(shù)

    @RequestMapping(value="/restredirect",method = { RequestMethod.POST, RequestMethod.GET }) public ModelAndView restredirect(String userName){ ModelAndView model = new ModelAndView("redirect:/main/index"); return model; }

    帶參數(shù)

    @RequestMapping(value="/toredirect",method = { RequestMethod.POST, RequestMethod.GET }) public ModelAndView toredirect(String userName){ ModelAndView model = new ModelAndView("/main/index"); model.addObject("userName", userName); //把userName參數(shù)帶入到controller的RedirectAttributesreturn model; }
  • Servlet.init() for servlet springMVC threw exception

    本地運行一點毛病沒有
    部署到服務器上就出現(xiàn)這個錯誤…
  • 解決方案:

  • 把hibernate-validator換成4版本的
  • <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>4.3.1.Final</version> </dependency>
  • 把javax.validation更新到較高版本
  • <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>1.1.0.Final</version> </dependency>

    完美解決!

    • 兩個源碼的下載方式
      • 代碼生成器

        代碼生成器

      • 水果商城源碼下載

        SSM水果商城

    總結

    以上是生活随笔為你收集整理的基于ssm的水果商城系统项目总结的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。