SpringMVC封装的就是原生的servlet
我们进行测试如下所示:
package com.rgf.controller.service; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletRequest; /** * 1.获取请求参数的方式: * 1.通过servletAPI获取 * 只需要在控制器方法的形参位置设置HttpServletRequest类型的形参,就可以在控制器方法中使用request对象获取请求参数 */ @Controller public class TestParamController { @RequestMapping("/param/servletAPI") public String getParamByServlet(HttpServletRequest request){ String username = request.getParameter("username"); String password = request.getParameter("password"); System.out.println("username:"+username+",password:"+password); return "success"; } }我们的登陆页面如下所示:
"en" xmlns:th="http://www.thymeleaf.org"> "UTF-8">首页 index.html
"submit" value="测试@RequestMapping注解的method属性"> 用户名: "text" name="username"> 密码: "password" name="password"> 提交: "submit" value="登录">
点击登录之后,即会跳转到成功界面。
同时我们的控制台会进行输出:username:admin,password:123456
我们的页面如下所示:
"en" xmlns:th="http://www.thymeleaf.org"> "UTF-8">首页 index.html
"submit" value="测试@RequestMapping注解的method属性"> 用户名: "text" name="username"> 密码: "password" name="password"> 提交: "submit" value="登录">
package com.rgf.controller.service; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletRequest; /** * 1.获取请求参数的方式: * 1.通过servletAPI获取 * 只需要在控制器方法的形参位置设置HttpServletRequest类型的形参,就可以在控制器方法中使用request对象获取请求参数 * 2.通过控制器方法的形参获取 * 只需要在控制器方法的形参位置,设置一个形参,形参的名字要和请求参数的名字一致即可。 * */ @Controller public class TestParamController { @RequestMapping("/param/servletAPI") public String getParamByServlet(HttpServletRequest request){ String username = request.getParameter("username"); String password = request.getParameter("password"); System.out.println("username:"+username+",password:"+password); return "success"; } @RequestMapping("/param") public String getParam(String username,String password){ return "success"; } }我们进行如下界面:
我们点击登陆之后,会跳转到成功界面, 此时控制台会进行输出:
username:root,password:123456
当请求参数的名字和控制器方法的形参名字不一致的时候,如果继续获取的话,控制台会输出为null.面对这种情况,我们需要进行手动添加。
我们需要利用@RequestParam标签:其下有三个属性
我们将界面修改如下所示:
"en" xmlns:th="http://www.thymeleaf.org"> "UTF-8">首页 index.html
"submit" value="测试@RequestMapping注解的method属性"> 用户名: "text" name="name"> 密码: "password" name="password"> 提交: "submit" value="登录">此时找不到,我们将匹配的方法修改如下所示:
package com.rgf.controller.service; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import javax.servlet.http.HttpServletRequest; /** * 1.获取请求参数的方式: * 1.通过servletAPI获取 * 只需要在控制器方法的形参位置设置HttpServletRequest类型的形参,就可以在控制器方法中使用request对象获取请求参数 * 2.通过控制器方法的形参获取 * 只需要在控制器方法的形参位置,设置一个形参,形参的名字要和请求参数的名字一致即可。 * */ @C