SpringMVC
来源:互联网 发布:mac 邮件 qq邮箱 编辑:程序博客网 时间:2024/04/30 02:49
Spring MVC的WEB请求有下面三种方式:
1. HttpServletRequest获取
- Spring参数注入HttepServletRequest。
注:需要自己处理数据格式
@RequestMapping("/login.form")public String CheckLogin(HttpServletRequest req){ String name=req.getParameter("name"); String pwd=req.getParameter("password"); User user=userService.login(name,pwd); return "success";}
- 使用RequestParam注解
Sping会自动将表单参数注入到方法参数
使用@RequestParam注解,映射不一致的名称
这样参数类型可以自动转换,缺点就是可能出现转换异常。
@RequestMapping("/login.form")public String checkLogin(String name,@RequestParam("pwd")String password,HttpServletRequest req){ User user=userService.login(name,password); ....... return "success";}
- 使用自动封装成Bean的对象
定义User类实体,属性名与表单组件的name相同
<form action="login.form"> username:<input type="text" name="name"></br> password:<input type="text" name="pwd"></br></form>
public class User{ private String name; private String pwd; //这块是getter和setter方法}
使用Controller组件开始了
@RequestMapping("/login.form")public String login(User user){ system.out.print(user.getName()); system.out.print(user.getPwd()); User user=userService(user.getName(),user.getPwd()); //.......... return "success";}
用上面方法就是将组件处理,现在需要向JSP页面传值
- 使用ModelAndView对象
@RequestMapping("/login.form")publilc ModelAndView checkLogin(String name,String pwd){ User user=userService.login(name,pwd); Map<String,Object> data=new HashMap<String,Object>(); data.put("user",user); return new ModelAndView("success",data);}
- 使用ModelMap参数
@RequestMapping("/login.form")public String checkLogin(String name,String pwd,ModelMap model){ User user=userService.login(name,pwd); model.addAttribute("user",user); return "success";}
- 使用@ModelAttribute
在Controller的参数部分或Bean的属性方法上使用
@RequestMapping("/login.form")public String checkLogin(@ModelAttribute("user")User user){ ///..... return "success";}/**@ModelAttribute数据会利用HttpServletRequest的Atribute传递到JSP页面*/@ModelAttribute("name")public String getName(){ return name;}
session存储
利用HttpServletRequest的getSession()方法
RequestMapping("/login.form")public String checkLogin(String name,String pwd,ModelMap model,HttpServletRequest req){ User user=userService.login(name,pwd); req.getSession().setAttribute("loginUser",user); model.setAttribute("user",user); return "success";}
SpringMVC默认采用转发方式定位视图,如果需要重定向方式可以使用:
- RedirectView
- 使用redirect:前缀
如果Controller控制方法返回的是ModelAndView对象,可以使用RedirectView方法重定向,
public ModelAndView checkLogin(){ //................ RedirectView redirect=new RedirectView("login.form"); return new ModelAndView(view);}
当Controller控制方法返回的是String字符串时,可以使用redirect:前缀
public String checkLogin(){ //..................... return "redirect:login.form";}
0 0
- SpringMVC
- springmvc
- SpringMVC
- SpringMVC
- springMvc
- springMVC
- springmvc
- springMVC
- springMVC
- springmvc
- SpringMVC
- SpringMVC
- springMvc
- springmvc
- springmvc
- SpringMVC
- Springmvc
- springmvc
- 天梯赛 - 当芸芸众生忙着在朋友圈中发照片的时候,总有一些人因为太帅而没有朋友。本题就要求你找出那些帅到没有朋友的人。
- 保险利益表数据及图表
- Swift 中使用 SQLite——查询数据
- 关于Spring的注解
- 【学习 Opencv】—— 常见接口
- SpringMVC
- 网络交互——实现从服务器获取文件(例如:图片)
- jQuery ajax + ajaxfileupload.js插件 实现无刷新文件上传
- Web API接口设计经验总结
- request.setAttribute()和request.getSession().setAttribute()解释
- javascript变量赋值
- 拦截器
- Enumeration和Iterator的区别
- Log4Qt