关于SSM CRUD上传功能的总结
1. 技能点SSM+Bootstrap+jQuery(Ajax)+Maven+Svn
2.开发注意事项:
1.建立maven工程 maven-archetype-web
2.建立工程后需要设置工程字符集为UTF-8
(如果设置Window-Preferences-General-Workspace里面的字符集就是所有工程都是UTF-8)
3.导入jar包后最好maven-update-并勾选Force update …(强制更新资源)
4.根据用户的类找到对应的maven包,版本最好相同
5.如果实在找不到,则在网上下载对应的jar包用手工安装到本地仓库
例:oracle
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc7 -Dversion=12.1.0.2 -Dpackaging=jar -Dfile=文件路径/ojdbc7.jar
3.配置xml文件
1.web.xml——一定要配对,还有顺序不能颠倒
2.spring.xml在无法联网的情况下需要把spring.xml头部的版本替换为2.5
3.根据自己的项目是否要启动二级缓存或有复杂的语句处理来决定是否在SqlSessionFactoryBean下配置mapperLocations和configLocation
4.SVN上传文件时
1.第一次需要设置SVN-ignore忽略target和target/*
2.删除工程的时候,必须先断开连接再删除
5.Spring mvc
1.考虑到日期格式,建议使用:
@InitBinder
public void dateBind(ServletRequestDataBinder bind){
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
df.setLenient(true);
bind.registerCustomEditor(Date.class, new CustomDateEditor(df, true));
}
2.获取页面传送的数据,增加了PathVariable
@RequestMapping(value="/findFood{cookid}.do",method=RequestMethod.GET)
public String findFood(@PathVariable("cookid")int cookid,HttpSession session){
session.setAttribute("own", ckService.findCookAndFood(cookid));
return "info";
}
3.在使用PathVariable路径时如果最后你跳转页面资源,那么return时要小心路径
4.@RequestMapping不但可以用在方法上也可以写在类的头部,代表一个命名空间,同样也要注意路径文件
5.如果你使用的ajax和json则不考虑路径问题
6.springmvc 上传时,将自动区分用户传入的是mutlipart请求和普通request请求
6.Bootstrap
1.导航栏
自由更换位置,可以使用flex弹性盒子进行处理
2.折叠
bootstrap在控件中自定义了很多事件,一定和元素动作有关
3.弹出框
popover必须要写两次,否则第一次只加载事件并不触发
$(obj).popover({trigger:'hover',html:true}),popover('show');
4.模态框
1.可以拆分,点击触发的位置不一定要和显示层出现在一起
2.显示层中可以随意写任何代码
3.模态框的隐藏可以使用modal('hide');
7.Ajax
1.传送form表单可以使用FormData元素
var formData = new FormData(//form表单的DOM对象);
@.ajax({
type:"POST",
url:"save.do",
data:formData,
processData:false,
contentType:false,
success:function(res){
alert("恭喜恭喜!");
$("#modal-container-1").modal('hide');
}
});
2.springmvc 需要放回值,否则容易进入error分支