數據庫及配置文件等參考:springmvc+mybatis 處理圖片(一):上傳圖片
思路:把圖片二進制信息寫入到HttpServletResponse 的outputStream輸出流中來顯示圖片。一個Controller來返回頁面,另外一個Controller來顯示圖片
1. NewsController.java(顯示除了圖片以外的新聞信息)html
//獲取全部新聞 @RequestMapping(value="/htNews") public String htNews(Model model) { // 得到全部news集合 List<News> news_list = fdyfzxService.getAllNews(); // 將news集合添加到model當中 model.addAttribute("news_list", news_list);//htNews.jsp中使用${requestScope.news_list }獲取news列表 // 跳轉到main頁面 return "htNews"; }
2. NewsController.java(顯示圖片)java
/**獲取新聞的圖片 * @Param id 新聞id */ @RequestMapping(value="newsPic") public void newsPic(String id, HttpServletResponse response, Model model){ News news = fdyfzxService.findNewsById(Integer.parseInt(id)); byte[] newsPic = news.getNewsPic(); try { OutputStream outputStream=response.getOutputStream(); InputStream in=new ByteArrayInputStream(newsPic); int len = 0; byte[] buffer = new byte[1024]; while((len=in.read(buffer, 0, 1024)) != -1){ outputStream.write(buffer, 0, len); } outputStream.close(); } catch (Exception e) { e.printStackTrace(); } }
3. htNews.jsp(顯示新聞信息)spring
<img src="${ctx }/newsPic?id=${news.newsID }" height="100" width="100"/>
<!--其餘代碼省略-->
效果如圖數據庫
參考:https://blog.csdn.net/cwzhsi/article/details/43417357mybatis