映射和请求参数乱码

标准URL映射
访问路径:类上面的访问路径+方法上的访问路径
@RequestMapping("/index") 或 @RequestMapping(value “/index”)

@RequestMapping(value = "/index")
public String index(Model model){
    model.addAttribute("name","这是一个通过注解定义的一个控制器中的action");
    return "index";
}
@RequestMapping(value = {"/test","test2"})
    public String test(Model model){
        model.addAttribute("name","这是一个test");
        return "index";
    }

**限制请求方法映射


**请求方法映射**
@RequestMapping(value = "/testword",method = RequestMethod.POST(get))限定只能是post请求(或get) 
     @RequestMapping(value = "/testword2",method = {RequestMethod.POST,RequestMethod.GET})限定只能是post和get
 

```java
@RequestMapping(value = "/testword2",method = {RequestMethod.POST,RequestMethod.GET})
public String test(Model model){
    model.addAttribute("name","限定只能是post和get");
    return "index";
}

限制参数映射
可以防止用户把信息注入进来
params=“userId"请求中必须包含userId
params=”!userId" 请求参数中不能包含userId
params=”userId!!=1“请求参数中必须包含userId 但其值不能为1 params={”userId“,”name“}必须包含userId和name参数

@RequestMapping(value = "/testHello",params = "id")
public String testHello(Model model){
    model.addAttribute("name","限制请求参数id");
    return "index";
}
@RequestMapping(value = "/testHello2",params = "id")
public String testHello(Model model, @RequestParam("id")int id){
    model.addAttribute("name","限制请求参数id="+id);
    return "index";
}


@RequestMapping(value = "/testHello3",params = "id!=1")
public String testHello3(Model model){
    model.addAttribute("name","限制请求参数id!=1");
    return "index";
}

@RequestMapping(value = "/testHello4",params = "!id")
public String testHello4(Model model){
    model.addAttribute("name","限制请求参数没有id");
    return "index";
}

@RequestMapping(value = "/testHello5")
public String testHello5(Model model,@RequestParam(value = "id",required = false)int id){
    model.addAttribute("name","限制请求参数没有id");
    return "index";
}

占位符映射
防止注入

   @RequestMapping(value = "/testHello7/{id}")
public String testHello7(@PathVariable("id") Integer id){
        System.out.println(id);
    return "index";
}
<a href="<%=request.getContextPath()%>/world/testHello7/1">删除</a>

请求参数乱码问题

<filter>
  <filter-name>CharacterEncondingFilter</filter-name>
  <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  <init-param>
    <param-name>encoding</param-name>
    <param-value>UTF-8</param-value>
  </init-param>
  <init-param>
    <param-name>forceEncoding</param-name>
    <param-value>true</param-value>
  </init-param>
</filter>
<filter-mapping>
  <filter-name>CharacterEncondingFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

注意jsp页面传入值需为pojo类中的值名 形参是pojo类 如下:

@RequestMapping(value = "user")
    public String test(Users users){
    System.out.println(users.getUsername());
        return "index";
    }

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值