springMVC页面参数的接收
来源:互联网 发布:泰迪罗宾地位知乎 编辑:程序博客网 时间:2024/05/21 08:04
springMVC (中)
1.获取servlet内置对象
@RequestMapping("scope")@Controller public class ControllerTwo {@RequestMapping(value="inlay",method={RequestMethod.POST,RequestMethod.GET})public String demo01( HttpServletRequest request, HttpServletResponse response, HttpSession session, Model model ){ model.addAttribute("msg1","request:"+request); model.addAttribute("msg2","response:"+response); model.addAttribute("msg3","session:"+session); return "inlay";}}
2.接收表单提交的数据
//接受表单提交的基本类型的数据@RequestMapping(value="show")public void demo03( @RequestParam("name") String name, @RequestParam("age") Integer age, @RequestParam("income") Double income, @RequestParam("isMarried") Boolean isMarried, @RequestParam("interests") String [] interests ){ System.out.println(name); System.out.println(income); System.out.println(isMarried); System.out.println(interests.length); }
3.@PathVariable 和 @RequestParam的区别?
@PathVariable : 必须要传递的参数,在路径中指定
@RequestParam : 专门用来接收form表单提交的name属性的值,和分页查询(在@RequestMapping中的params属性中还可以指定只可以接收和拒收的具体参数)
@RequestParam(value=”pageNum”,defaultValue=”1”@RequestParam(value=”pageSize”,defaultValue=”10”)用来指定分页时用户没有传参时,默认页面为1,每页条数为10
4,获取cookie中数据
@RequestMapping(value=”cookie”)
public String demo06(@CookieValue("JSESSIONID") String cookie){ System.out.println(cookie); return "pojo";}
5.从页面接收List的集合
如果在Controller的方法参数上定义ListUser(自定义类)类型,那么标签的name属性对应的就是该类中的某个属性
6.接收和发送json格式对象
//发送json对象@RequestMapping(value="rsJson")@ResponseBodypublic User demo07(){ User user = new User(); user.setId(1l); user.setCreated(new Date(System.currentTimeMillis())); user.setAge(13); user.setName("lili"); user.setPassword("123"); user.setSex(1); user.setusername("liyu"); return user;}
页面接收的json数据对象 ,从页面发送到Controller方法:
{“id”:1,”username”:”liyu”,”password”:”123”,”name”:”lili”,”age”:13,”sex”:1,”birthday”:null,”created”:”2017-09-11”,”updated”:null}
//接收一个json格式的对象@RequestMapping(value="rqJson")public String demo08(@RequestBody User user,Model m){ m.addAttribute("message",user); return "index";}
7.SpringMVC的文件上传
1.导入依赖
<!-- 文件上传的依赖 --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency>
2.在springmvc-servlet.xml核心配置文件中添加
<!-- 定义文件上传解析器 --><bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 设定默认编码 --> <property name="defaultEncoding" value="UTF-8"></property> <!-- 设定文件上传的最大值5MB,5*1024*1024 --> <property name="maxUploadSize" value="5242880"></property></bean>
3.编写Controller控制器
@Controller@RequestMapping("upload")public class UploadDemo {//文件上传@RequestMapping(value = "demo")// 通过参数:MultipartFile file来接收上传的文件,这个是SpringMVC中定义的类,会被自动注入public ModelAndView upload(@RequestParam("file") MultipartFile file) throws Exception { ModelAndView mv = new ModelAndView("index"); if(file != null){ // 将上传得到的文件 转移到指定文件。 file.transferTo(new File("D:/" + file.getOriginalFilename())); } mv.addObject("message", "上传成功!" + file.getOriginalFilename()); return mv;}}
8.自定义拦截器
拦截器的前置方法顺序执行,如果返回true,继续。返回false,流程终止,执行前面所有返回true的拦截器的完成方法
拦截器的后置方法倒序执行,在Controller执行结束后,视图解析前执行。
拦截器的完成后方法倒序执行,在视图解析后执行。无论前面是否出错或返回false,已经执行过的拦截器的完成方法都会被执行,类似于finally
9.SpringMVC和Struts的区别
- springMVC的入口是Servlet,struts2的入口是Filter两者的实现机制不同
- springMVC基于方法的设计,传递参数是通过方法的形参,其实现是单例模式(也可以改为多例,推荐用单例),struts2基于类设计,传递参数是通过类的属性,只能是多例实现,性能上SpringMVC更高一些.
- 参数传递方面,struts2使用类的属性接收的,也就是在多个方法间的共享,SpringMVC基于方法,多个方法之间是不能共享的.SpringMVC的耦合性相对来说较低
阅读全文
1 0
- springMVC页面参数的接收
- SpringMVC接收页面表单参数
- SpringMVC接收页面表单参数
- SpringMVC接收页面表单参数
- SpringMVC接收页面表单参数
- SpringMVC接收页面表单参数
- springmvc接收页面表单参数
- SpringMVC接收页面表单参数
- SpringMVC接收页面表单参数
- SpringMVC接收页面表单参数
- SpringMVC接收页面表单参数
- SpringMVC接收页面表单参数
- SpringMVC接收页面表单参数
- SpringMVC接收页面表单参数
- SpringMVC接收页面表单参数
- SpringMVC接收页面表单参数
- SpringMVC接收页面表单参数
- SpringMVC接收页面表单参数
- Java多线程
- 1180:5个数求最值
- Selector 实现原理
- OPNET网络仿真分析-1.1.1、网络仿真简介
- 【云周刊】第139期:阿里年会黑科技全揭秘:IoT手环、人脸识别验票、大屏弹幕互动等“十八般武艺”轮番上阵
- springMVC页面参数的接收
- Unit Test -- 初步了解
- Logtail技术分享(一) : Polling + Inotify 组合下的日志保序采集方案
- linux C 生成带有格式的文件 wkhtmltopdf(类似word的效果 有颜色 字体等等)
- 欢迎使用CSDN-markdown编辑器
- (N)Telephony分析(五)之DcTracker的初始化
- ajax自动补全
- 堆排序 java
- 针对复制东西Eclipse或者MyEclipse中出现cannot paste the clipboard contents into the selected elements报错问题