SpringMVC的注解练习
来源:互联网 发布:怎样做淘宝店铺 编辑:程序博客网 时间:2024/05/23 13:23
package mjf.haihan.springmvc.handle;import java.io.UnsupportedEncodingException;import java.net.URLEncoder;import java.util.ArrayList;import java.util.Date;import java.util.List;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import mjf.haihan.springmvc.pojo.User;import mjf.haihan.springmvc.pojo.UserForm;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.CookieValue;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.servlet.ModelAndView;@Controllerpublic class DemoAction {/**标准的映射*/@RequestMapping("demo1")public ModelAndView demo1(){ModelAndView mv = new ModelAndView();mv.setViewName("hello");mv.addObject("msg", "呵呵");return mv;}/**ant的映射方式*/@RequestMapping("/*/demo2")public ModelAndView demo2(){ModelAndView mv = new ModelAndView();mv.setViewName("hello");mv.addObject("msg", "呵呵");return mv;}/**占位符的映射方式*/@RequestMapping("/{userId}/demo3")public ModelAndView demo3(){ModelAndView mv = new ModelAndView();mv.setViewName("hello");mv.addObject("msg", "呵呵");return mv;} /**限制请求方法映射 *///demo4.action?userId=123 @RequestMapping(method=RequestMethod.GET,params="userId",value="/demo4") public ModelAndView demo4(){ ModelAndView mv = new ModelAndView(); mv.setViewName("hello"); mv.addObject("msg", "呵呵"); return mv; } /**绑定Servlet内置对象*/ @RequestMapping(value="/demo5") public ModelAndView demo5(HttpServletRequest request,HttpServletResponse response,HttpSession session){ ModelAndView mv = new ModelAndView(); mv.setViewName("hello"); mv.addObject("msg", "我的第一个注解应用!</br>" +request +"</br>"+response +"</br>"+session); return mv; } /**@PathVariable,使用在占位符*/ @RequestMapping(value="/{userName}/demo6") public ModelAndView demo6(@PathVariable("userName")String userName){ ModelAndView mv = new ModelAndView(); mv.setViewName("hello"); mv.addObject("msg", "呵呵"); return mv; } /**@RequestParam ,使用在带过来的 参数,名字一致可以不用带参*/ @RequestMapping(value="/demo7") public ModelAndView demo7(@RequestParam(defaultValue="123",value="userName",required=true)String userName, @RequestParam("password")String password, @RequestParam("answer")String answer){ ModelAndView mv = new ModelAndView(); mv.setViewName("hello"); mv.addObject("msg", "呵呵"+userName+"..."+password+"..."+answer); return mv; } /**@RequestParam,是可以省略不写的*/ @RequestMapping("demo20") public ModelAndView demo20(String userName,String password){ ModelAndView mv = new ModelAndView(); mv.setViewName("hello"); mv.addObject("msg", "呵呵"+userName+".."+password); return mv; } /**@CookieValue */ @RequestMapping(value="/demo8") public ModelAndView demo8(@CookieValue("JSESSIONID") String cookie){ ModelAndView mv = new ModelAndView(); mv.setViewName("hello"); mv.addObject("msg", "我的第一个注解应用!</br>"+cookie); return mv; } /**@RequestBody,是把json转换为pojo对象,也是可以不写的 */ @RequestMapping(value="/demo9") public ModelAndView demo9(@RequestBody User user){ ModelAndView mv = new ModelAndView(); mv.setViewName("hello"); mv.addObject("msg", "我的第一个注解应用!</br>"+user); return mv; } /**java基本类型绑定*/ @RequestMapping(value="/demo10") public ModelAndView demo10(@RequestParam("userName") String userName,@RequestParam("id") Integer id,@RequestParam("bool") Boolean bool){ ModelAndView mv = new ModelAndView(); mv.setViewName("hello"); mv.addObject("msg", "我的第一个注解应用!</br>"+userName+id+bool); return mv; } /**集合List绑定 */ @RequestMapping(value="/demo11") public ModelAndView demo11(UserForm userForm){ ModelAndView mv = new ModelAndView(); for (User user : userForm.getUsers()) { System.out.println(user); } mv.setViewName("hello"); mv.addObject("msg", "我的第一个注解应用!</br>"); return mv; } /**在ModelAndView中直接添加视图名*/ @RequestMapping("/demo12") public ModelAndView demo12(){ ModelAndView mv = new ModelAndView("jstl-demo"); List<User> users = new ArrayList<User>(); for (int i = 0; i < 10; i++) { User user = new User(); user.setAge(20 + i); user.setCreated(new Date()); user.setId(Long.valueOf(i)); user.setName("name_" + i); user.setPassword("123456"); user.setSex(i / 2); user.setUpdated(user.getCreated()); user.setUserName("userName_"+i); users.add(user); } mv.addObject("users",users); return mv; } /**forward:带有数据的转发,返回modelAndView对象 */ @RequestMapping("/demo13") public ModelAndView demo13(){ ModelAndView mv = new ModelAndView("forward:/demo12.action"); mv.addObject("msg", "呵呵"); return mv; } /**forward:不带有数据的转发,直接返回字符串 */ @RequestMapping("/demo14") public String demo14(){ return "forward:/demo12.action"; } /**redirect:重定向 */ @RequestMapping("demo15") public ModelAndView demo15(){ ModelAndView mv = new ModelAndView("redirect:/test.jsp"); try {mv.addObject("msg",URLEncoder.encode("呵呵","UTF-8"));} catch (UnsupportedEncodingException e) {e.printStackTrace();} return mv; } /**不需要附带数据redirect重定向 */ @RequestMapping("demo16") public String demo16(){ return "redirect:demo12.action"; } /**@RequestBody,把json转换为pojo */ @RequestMapping("demo17") public ModelAndView demo17(@RequestBody User user){ ModelAndView mv = new ModelAndView("show"); mv.addObject("msg", user); return mv; } /**把pojo转换为json*/ @RequestMapping("demo18") @ResponseBody //把页面的输出转化为json格式。 public List<User> demo18(){ List<User> list = new ArrayList<User>(); for (long i = 0; i <=10; i++) { User user = new User(); user.setId(i); user.setName("黑马程序员"+i); user.setBirthday(new Date()); list.add(user); } return list; }}这次练习了springmvc的注解,大致常用注解为@RequestMapping、@PathVariable、@RequestParam、@RequestBody和@ResponseBody这些注解,springmvc以后经常和mybatis和spring整合到项目中。
0 0
- SpringMVC的注解练习
- 基于注解的SpringMVC+Spring JDBC template+JSTL-demo练习
- spring注解 springmvc的注解
- 基于注解的SpringMVC
- 基于注解的springmvc
- SpringMVC的注解
- springMVC的注解
- springMVC的注解1
- 基于注解的springmvc
- SpringMVC 的@RequestMapping注解
- springmvc常用的注解
- 基于注解的SpringMVC
- springmvc的ModelAttribute注解
- 基于注解的SpringMVC
- springmvc的ModelAttribute注解
- 基于注解的SpringMVC
- SpringMVC -- 注解的奥秘
- springmvc的ModelAttribute注解
- python_basic
- 南邮汇编第二次实验
- 数据类型转换
- dubbo源码浅析(一)-插件化机制
- [JSOI2007]建筑抢修 BZOJ1029 BSOJ2228 CODEVS2913 贪心+大根堆
- SpringMVC的注解练习
- [UOJ#245][UER#7B]天路(数学相关:近似算法)
- C#的34课的主要内容
- 安卓开发复习笔记——Fragment+FragmentTabHost组件(实现新浪微
- Crond定时任务
- poj3299 Humidex 细心=_=
- python_basic2
- 封装自己的scrollTop和scrollLeft
- 0-1背包