Spring MVC笔记
来源:互联网 发布:闲在家里的日子 知乎 编辑:程序博客网 时间:2024/06/05 17:11
2--spring2.5_mvc框架_02_基于2.5的注解_项目开发(包含整合hibernate).flv
1、@controller 控制器(注入服务)
2、@service 服务(注入dao)
3、@repository dao(实现dao访问)
4、@component (把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>)
@RequestMapping("/user.do) //<form action="user.do"/>
@Resourse
private UserService userService; //注入
@RequestMapping(params="method=reg") //在jsp页面写一个隐藏域
<input type=hidden name=method value=reg/>
如果访问一个方法就得写一个隐藏域,默认是类继承Controller
后的一个默认方法handleRequest
//struts2传参用属性 private String name; springmvc传参是方法中传参
public String reg(String uname){ //<input type="text" name="uname"/>
}
or
@RequestMapping(params="method=reg2")
public String reg(User user){
System.out.println(user.getUsername);
}
3--Spring MVC 3.0 深入
@RequestMapping(params="method=reg2")
public ModelAndView reg2(){
//return new ModelAndView("index");
ModelAndView mv = new ModelAndView("index");
return mv;
}
基于springmvc 3.0实现文件上传
1.加入commons-fileupload.jar
加入commons-io.jar
2.配置文件
3.
<form action="upload.do" method="post" enctype="multipart/form-data">
<input type="text" name="name"/>
<input type="file" name="file"/>
<input type="submit"/>
</form>
4.建立控制器
在webroot下建一个uploadFile文件用于暂时存放上传的文件
在tomcat下的springmvc下建一个tmp文件用于存放上传的文件
5.
@RequestMapping(value="/upload.do", method = RequestMethod.POST)
public String handleUploadData(String name,@RequestParam("file")[一定要加。]CommonsMultipartFile file){
if (!file.isEmpty()) {
String path = this.servletContext.getRealPath("/tmp/"); //获取本地存储路径
System.out.println(path);
String fileName = file.getOriginalFilename();
String fileType = fileName.substring(fileName.lastIndexOf("."));
System.out.println(fileType);
File file2 = new File(path,new Date().getTime() + fileType); //新建一个文件
try {
file.getFileItem().write(file2); //将上传的文件写入新建的文件中
} catch (Exception e) {
e.printStackTrace();
}
return "redirect:upload_ok.jsp";
}else{
return "redirect:upload_error.jsp";
}
}
处理ajax请求
1、下载jar包
jackson-core-asl.jar
jackson-mapper-asl.jar
2
spring中的拦截器
1、实现接口:org.springframework.web.servlet.HandlerInterceptor
接口中有三个方法:preHandle(),如果返回true,则继续执行action
postHandle()
afterCompletion()
或者继承适配器:org.springframework.web.servlet.handle.HandlerInterceptorAdapter
一般情况下只需重写方法preHandle()
2、springmvc_servlet.xml中配置
1)拦截所有springmvc的url! 即拦截所有的.do请求
<mvc:interceptors>
<bean class="com.sxt.interceptor.MyInterceptor"></bean> <!-- 拦截所有springmvc的url! -->
</mvc:interceptors>
2)拦截指定的springmvc的url! 即拦截所有的user.do请求
<mvc:interceptors>
<bean class="com.sxt.interceptor.MyInterceptor"></bean> //所有请求都拦截,执行MyInterceptor
<mvc:interceptor> //可设置多个指定的拦截器请求
<mvc:mapping path="/user.do" />
<!--<mvc:mapping path="/test/*" />-->
<bean class="com.sxt.interceptor.MyInterceptor2"></bean> //只拦截user.do,执行MyInterceptor和MyInterceptor2
</mvc:interceptor>
</mvc:interceptors>
注意:解决ajax请求有缓存,第一次拦截,第二次不拦截的情况:在url参数的后面加"&a="+Math.random()
- Spring MVC笔记
- spring mvc 基础笔记
- spring mvc 笔记
- Spring MVC 学习笔记
- Spring MVC笔记
- Spring MVC 笔记1
- Spring MVC笔记
- Spring MVC笔记
- spring MVC学习笔记
- Spring Mvc 笔记
- 孔浩Spring mvc 笔记
- spring mvc笔记
- Spring MVC学习笔记
- spring-mvc学习笔记
- spring mvc学习笔记
- spring mvc 学习笔记
- Spring MVC 学习笔记
- Spring MVC笔记
- 在现有struts2+hibernate项目中整合spring框架
- Python自学笔记(一)变量类型
- MAC地址
- 如何还原 sql server 中的备份文件(.bak文件)
- ArcGIS Web API 接入E都市瓦片
- Spring MVC笔记
- SystemServer进程启动过程源码分析
- jquery js 常用正则表达式
- Hessian矩阵
- windows和linux(ubuntu13.04)双系统安装教程
- java访问远程共享文件
- Windows编程-1-字符和字符串处理相关知识点总结
- 黑马程序员_两种遍历集合的方法Iterator接口和foreach循环
- 批量SSH key-gen无密码登陆认证脚本