写在前面:
项目地址: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在先后端进行统一