<properties> <spring.version>5.0.8.RELEASE</spring.version> </properties> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> </dependencies>
<servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 配置DispatcherServlet的初始化參數:设置文件的路径和文件名称 --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springMVC</servlet-name> <!-- 路径模型 --> <url-pattern>/</url-pattern> </servlet-mapping>
<!-- 扫描组件, 将加@Controller注解的类作为SpringMVC的控制层 --> <context:component-scan base-package="test"></context:component-scan> <!-- 配置视图解析器 作用: 将prefix + 视图名称 + suffix确定最终要跳转的页面 /view/xxx.jsp --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/view/"></property> <property name="suffix" value=".jsp"></property> </bean>
index.jsp <body> <a href="hello?username=admin&password=123456">测试SpringMVC</a> </body> /WEB-INF/view/success.jsp <body> SUCCESS </body>
@Controller public class TestController { @GetMapping(value = "hello") public String hello(String username, String password) { System.out.println(username); System.out.println(password); return "success"; } }

//value这里, 加斜线是访问项目下, 不加则是访问当前目录下 @PostMapping(value = "/test", params = {"username", "!age"}) public String testPOST() { System.out.println("SUccess: post"); return "success"; }
//此时, 浏览器中request header的language必须以q=0.8,en-us开头, 否则404错误 @PostMapping(value = "/test", headers = {"Acceept-Language:q=0.8,en-US;"})

@GetMapping(value = "/*/ant??/**/testAnt") 匹配 /aa/antBB/CCC/DDD/testAnt
<a href="testREST/1001/admin">测试</a> //以前: <a href="testREST?id=1001&useranme=admin>测试</a>
@GetMapping("/testREST/{id}/{username}") public String testREST(@PathVariable("id")Integer id, @PathVariable("username")String useranme) { System.out.println(id); System.out.println(useranme); return "success"; }

<filter> <filter-name>HiddenHttpMethodFilter</filter-name> <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class> </filter> <filter-mapping> <filter-name>HiddenHttpMethodFilter</filter-name> <!-- 过滤所有 --> <url-pattern>/*</url-pattern> </filter-mapping>

<!-- 测试Get --> <a href="testREST/1001">测试GET</a> <!-- 测试POST --> <form action="testREST" method="post"> <input type="submit" value="测试POST"> </form> <!-- 测试PUT --> <form action="testREST" method="post"> <input type="hidden" name="_method" value="PUT"> <input type="submit" value="测试PUT"> </form> <!-- 测试DELETE --> <form action="testREST" method="post"> <input type="hidden" name="_method" value="DELETE"> <input type="submit" value="测试DELETE"> </form>
@Controller public class TestController { @GetMapping("/testREST/{id}") public String getUserById(@PathVariable("id") Integer id) { System.out.println(id); return "success"; } @PostMapping("/testREST") public String insertUser() { return "success"; } @PutMapping("/testREST") public String updateUser() { return "success"; } @DeleteMapping("/testREST/{id}") public String deleteUserById(@PathVariable("id")Integer id) { System.out.println(id); return "success"; } }
@ResponseBody @PutMapping("/testREST") public String updateUser() { return "success"; }
@DeleteMapping("/testREST/{id}")
public String deleteUserById(@PathVariable("id")Integer id) {
System.out.println(id);
return "redirect:/tosuccess";
}
@GetMapping("/tosuccess")
public String toSuccess() {
return "success";
}
<form action="param" method="post"> username: <input type="text" name="name"> <br/> password: <input type="password" name="password"> <br/> </form>
@PostMapping("/param")
public String param(@RequestParam(value = "name", required = false, defaultValue = "admin")String username, String password) {
System.out.println(username);
System.out.println(password);
return "success";
}
@PostMapping("/param")
public String param(@RequestHeader("Accept-Language")String lan) {
System.out.println(lan);
return "success";
}
@PostMapping("/param")
public String param(@CookieValue("JSESSIONID")String JESSIONID) {
System.out.println(JESSIONID);
return "success";
}
@NoArgsConstructor @AllArgsConstructor @Data public class Address { private String province; private String city; private String country; }
<form action="param" method="post"> province: <input type="text" name="province"> <br/> city: <input type="text" name="city"> <br/> country: <input type="text" name="country"/> <input type="submit" value="添加"> </form>
@PostMapping("/param")
public String param(Address address) {
System.out.println(address);
return "success";
}
@Autowired private HttpServletRequest request; @PostMapping("/param") public String param() { request.getParameter("country"); return "success"; }
<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency>
@PostMapping("/param")
public ModelAndView param() {
ModelAndView mav = new ModelAndView();
mav.addObject("useranme", "root"); //往request域中放值
mav.setViewName("success");
return mav;
}
<body> SUCCESS ${requestScope.username} </body>
@PostMapping("/param")
public String param(Map<String, Object> map) {
map.put("username", "admin");
return "success";
}
@PostMapping("/param1")
public String param1(Model model) {
model.addAttribute("username", "张三");
return "success";
}
原文:https://www.cnblogs.com/binwenhome/p/13037790.html