SpringMVC静态资源放行
1.web.xml
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
<url-pattern>*.css</url-pattern>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
2.springmvc.xml
开启对default servlet 的处理
<mvc:default-servlet-handler/>
注意:ajax请求后台没无响应数据 alert 不启动,不会执行
success:function(data){
alert("okookkkkook");
} 这部分不会执行
springmvc的方法返回String+@ResponseBody: 不会进行页面跳转,会把该字符串以JSON形式发送到页面
rest:名词表示url的规范 restful adj 遵守该规范的 项目,网站,那该网站就叫 restful
restful 请求 :URL的一种规范
一种请求对应一种方法
可以实现一个url对数据库的不同操作
订单管理系统
/order/goods/1:
库存管理系统:
/store/goods/1
增 post
删 delete /order/goods?delete=1
该 put /order/goods?put=1
查 get /order/goods?get=1
springMVC: restful
在web.xml中配置filter:HiddenHttpMethodFilter
SpringMVC阉割了Http 的delete 和 put
Spring+springMVC +Mybatis/hibernate 整合步骤 :
1.spring +Mybatis/hibernate:applicationContext.xml
2.springmvc:springmvc.xml
3.web.xml:
1.加载applicationContext.xml
2.加载springmvc.xml 目的解耦
SM需求:
1.首页:参看首页列表+片别列表
2..通过片的类别查询对应的影片列表
3. 批量删除
4.修改
5.文件上传 新增
6.分页
动态sql中有 逗号 用set标签
Double 包装类 double 实体类 Double 中可以写null double只能写0.0
顺序不能乱 先解决乱码 再解决 post问题
1.
</filter>
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2.
<filter>
<!-- 在web.xml中配置filter:HiddenHttpMethodFilter: 把post请求 转成 delete /put -->
<filter-name>HttpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HttpMethodFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
BOM:浏览器对象模型,指的是整个浏览器中的使用元素
DOM:文档对象模型,对应的整个页面(地址栏以下)的内容和样式
document 是 BOM下的一个对象 DOM模型的根对象
//通过document 可以获得所有的节点对象
//html 节点对象 head Body-
示意图如下
SpringMvc中的文件复制
注意点
1.页面的form
3.源文件 源文件.transferTo 目标文件
4. 需要在springmvc.xml中配置一个 CommonsMultipartResolver
package controller;
import java.io.File;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;
import domain.Video;
import mapper.VideoMapper;
@Controller
@RequestMapping("/video")
public class MultiController {
@Autowired
private VideoMapper vm;
@RequestMapping("/addVideo")
// MultipartFile 专门做上传文件 的一个类FileAPI
public String addVideo(MultipartFile pic, HttpServletRequest request, Video video) throws Exception, IOException {
// 1.获取 上传的文件夹路径
// dest目的地 DirPath
String destDirPath = request.getServletContext().getRealPath("upload");
// 2.创建目标文件夹对象
File destDir = new File(destDirPath);
// 3.创建目标文件夹
if (!destDir.exists()) {
destDir.mkdirs();
}
// 4.获取要上传的文件名
// MultipartFile.getOriginalFilename 相当于 File.getName
String fileName = pic.getOriginalFilename();
// 5.创建目标文件对象
File targetFile = new File(destDir, fileName);
// SpringMVC 的文件上传页需要两个包
// 6.复制原文件 Dao目标文件
// 源文件.transferTo 目标文件
pic.transferTo(targetFile);
return "redirect:showAllVideos";
}
}
配置文件上传解析器 必须配置 beanId: multipartResolver
Springmvc异常处理
程序抛出异常,自动定位异常页面
在springmvc.xml中配置SimpleMappingExceptionResolver 的bean