控制器接收表达数据

  1. 使用控制器方法接收表单
    在这里插入图片描述
  2. 实现
    reg.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>注册</title>
</head>
<body>
    <h1>注册</h1>
    <form method="post" action="handle_reg.do">
        <div>
            <label>用户</label>
            <input type="text" name="username">
        </div>
        <div>
            <label>密码</label>
            <input type="password" name="password">
        </div>
        <div>
            <label>年龄</label>
            <input type="number" name="age">
        </div>
        <div>
            <label>电话</label>
            <input type="tel" name="phone">
        </div>
        <div>
            <label>邮箱</label>
            <input type="email" name="email">
        </div>
        <input type="submit" value="注册">
    </form>
</body>
</html>

UserController.java

@RestController
@RequestMapping("/user")
public class UserController {

    @GetMapping("/reg.do")
    //http://localhost:8080/SpringMVC_S_war/user/reg.do
    public ModelAndView reg(){
        System.out.println("显示reg模板");
        return new ModelAndView("reg");
    }

    @PostMapping("/handle_reg.do")
    public String handleReg(
            String username,
            String password,
            int age,
            String phone,
            String email
    ){
        System.out.println(username);
        System.out.println(password);
        System.out.println(age);
        System.out.println(phone);
        System.out.println(email);

        return "OK";
    }
}
  • 启动后输入http://localhost:8080/SpringMVC_S_war/user/reg.do,输入内容查看是否可以获取到内容。
  1. 解决中文乱码
    在webapp.java中加入代码
//注册Servlet过滤器
    @Override
    protected Filter[] getServletFilters() {
        return new Filter[] {new CharacterEncodingFilter("UTF-8")};
    }
  1. 使用javaBean获取参数

在这里插入图片描述
在这里插入图片描述

package cn.tedu.vo;

public class User {

    private String username;
    private String password;
    private int age;
    private String phone;
    private String email;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    @Override
    public String toString() {
        return "User{" +
                "username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", age=" + age +
                ", phone='" + phone + '\'' +
                ", email='" + email + '\'' +
                '}';
    }
}

UserController.java

@PostMapping("/handle_reg.do")
    public String handleReg(User user){
        System.out.println(user);
        return "OK";
    }
  1. 利用request接受数据

尽量不要注入request,因为必须依赖外部环境。

@PostMapping("/handle_reg.do")
    public String handleReg(User user, HttpServletRequest request){
        System.out.println(user);
        String ip = request.getRemoteAddr();
        System.out.println("用户的IP"+ip);
        return "OK";
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值