寫在前面:
項目地址:https://github.com/yyconstantine/quick_ssm,若是此博文對您有所幫助,還請點亮小星星~
1.項目代碼及實現思路來自nomico271
2.本項目適宜人羣爲剛剛學完SSM框架須要練手或對SSM開發感興趣的童鞋
3.要求明白如何進行dao、service、controller的開發前端
一步步帶你學會如何快速搭建ssm框架及項目的避坑java
打開IDEA,使用Maven建立一個webapp項目git
PS:建立項目名稱確認爲maven-archetype-webappgithub
tbl_emp可參照Employee.java,tbl_dept可參照Department.java
log4j.propertiesweb
使用jbdc.properties進行數據庫鏈接屬性的統一管理
log4j.properties進行日誌管理ajax
1.mybatis配置文件spring
此處使用xml寫sql,注意xml文件需與mapper.java命名相同sql
mapper.xml文件的namespace以接口的位置爲準(精確到接口的類名)
使用resultMap時,多表間的關係須要經過bean包下類的getter方法進行映射
數據庫
排坑:報錯Parameter 'offset' not found. Available parameters are [arg1, arg0, param1,param2] 問題緣由:找不到offset,limit 解決方案:將mapper.xml中佔位符屬性改成arg0,arg1後解決
排坑:主頁輪播圖不加載,查看爲找不到資源(404) 問題緣由:未加載是因爲dispatcherServlet攔截了全部的請求,包括靜態資源 解決方案: 1. 在SpringMVC.xml中配置<mvc:default-servlet-handler/> 2. 在web.xml中配置 <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>/static/img/*</url-pattern> </servlet-mapping>
PS:在web.xml中的配置需在dispatcherServlet前json
<%@include file="/WEB-INF/jsp/common/head.jsp"%>
基本框架相同,需注意的是,將main.jsp的輪播圖改成表格展現
主要是配置好JSTL表達式,注意jsp內的屬性與接口屬性的對應關係,如JSTL表達式不生效,在jsp頁面添加
<%@page isELIgnored="false" %>
實現過程:數據庫查詢 --> 放在SpringMVC的ModelAndView,前端經過JSTL解析獲取到的結果集
排坑:在controller內使用service實現類的bean編譯出錯 問題緣由:spring找不到所需的bean對象 解決方案:須要在web.xml中配置啓動Spring的容器 <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/applicationContext.xml</param-value> </context-param>
排坑:啓動服務器時報錯nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/mybatis/SqlMapConfig.xml] 問題緣由:emmm 解決方案:在applicationContext.xml內將/mybatis/SqlMapConfig.xml的類路徑前加上classpath:後恢復
排坑:使用新增方法接口500 問題緣由:前端頁面接收的字段名稱與接口定義的字段名稱不匹配 解決方案:因爲我本身前端頁面大部分搬運的,因此這裏調試了好久……已經統一了全部須要改動地方的字段名稱爲數據庫字段名稱 排坑:使用新增方法頁面405,提示不支持GET方法 問題緣由:在ajax內的TYPE設置與controller內不一致 解決方案:本項目使用基於rest風格的URI,需對GET、POST、PUT、DELETE在先後端進行統一