SpringMVC
[编程语言教程]

mvc处理乱码:
①public String isreg(User u,HttpServletRequest request)
②String name = u.getname();
String str = new String(name.getBytes(“iso-8859-1″),”utf-8”);

获取请求头信息 @RequestHeader
public String requestHeader(@RequestHeader(“Accept-Language”) String alg) {

通过@RequestMapping(“Accept-Language”) String alg 获取请求头中的Accept-Language值,并将值保存在alg中

通过mvc获取cookie值(JSESSIONID)
@CookieValue
(前置知识:服务器在接收客户端第一次请求时,会给该客户端分配一个session(该session包含一个sessionid))

小结:SpringMvc处理各种参数的流程/逻辑:
请求:前端发请求a->@RequestMapping(“a”)
处理请求中的参数xyz:
@RequestMapping(“a”)
public String aa(@Xxx注解(“xyz”) xyz){

}

在SpringMVC中使用原生态的Servlet API :HttpServletRequest 直接将servlet-api中的类、接口等写在springMVC所映射的方法参数中即可

处理模型数据
如果跳转时需要到数据:V、M,则可以使用一下方式:
ModelAndView、ModelMap、Map、Mpdel -数据放在了request作用域中

@SessionAttributes、@ModeAttribute

示例:
public String testModel(Model model | Map<String,Object>m){

m.put(x,”..”);就会将x对象放在request域中

如何将上述数据放入session中?@SessionAttributes(..)
在方法类的的最上面加@SessionAttributes(..)里面的值可以视具体的值(Student.class)

@@ModeAttribute
i.经常在更新时使用
ii.在不改变原有代码的基础上,插入一个新方法。

通过@ModeAttribute修饰的方法,会在每次请求前先执行;
并且该方法的参数map.put()可以将对象放入即将查询的参数中;
必须满足的约定:
map.put(k,v)其中的k必须是即将查询的方法的参数的首字母小写
testModeAttribute(Student xxx),即student;
如果不一致,需要通过@ModeAttribute声明。如下:

@RequestMapper(value="testModeAttribute")
public String testModeAttribute(@ModeAttribute("stu")Student studetn){
student.setName(student.getName());
...
return ..
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » SpringMVC