SpringMVC学习(2):使用@RequestMapping映射请求方式

在上一篇文章中其实已经使用了@RequestMapping修饰类

@RequestMapping除了可以修饰方法,还可以修饰类,类方法的路径是相对于类的,如果类没有配置路径,那么类方法的路径就是相对于目录的。

这一篇文章讲一下使用@RequestMapping映射请求参数

一、使用@RequestMapping映射请求方法

在@RequestMapping中可以使用method定义请求方法,例如上篇文章讲的HelloWorld中其实就可以将HelloWorld.java写成这样

package springmvc;

import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
@RequestMapping("/springmvc")
public class HelloWorld {
	
	private static final String SUCCESS = "success";
	
	@RequestMapping(value="/helloworld", method=RequestMethod.GET)
	public String helloWorld() {
		System.out.println("hello world");
		return SUCCESS;
	}
}
接下来试试POST方法,为了方便起见,我直接修改原有的HelloWorld程序了。

先在index.jsp中添加一个表单

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>




SpringMVC


	
	
将HelloWorld.java写成这样:

package springmvc;

import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
@RequestMapping("/springmvc")
public class HelloWorld {
	
	private static final String SUCCESS = "success";
	
	@RequestMapping(value="/testPostMethod", method=RequestMethod.POST)
	public String testPostMethod() {
		System.out.println("testPostMethod...");
		return SUCCESS;
	}
}
运行起来效果是这样的:

SpringMVC学习(2):使用@RequestMapping映射请求方式_第1张图片
 SpringMVC学习(2):使用@RequestMapping映射请求方式_第2张图片

二、使用Ant风格匹配URL

Ant风格资源地址支持3种匹配符:

?:匹配文件名中的一个字符

*:匹配文件名的任意字符

**:匹配多层路径

修改一下HelloWorld.java:

package springmvc;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/springmvc")
public class HelloWorld {
	
	private static final String SUCCESS = "success";
	
	@RequestMapping("/testAntPath/*/abc")
	public String testAntPath() {
		System.out.println("testAndPath");
		return SUCCESS;
	}
}
然后改一下jsp测试一下:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>




SpringMVC


	
	Test AntPath


可以发现,把标签的href属性中的mnxyz改成别的字符串也可以成功映射回testAntPath()这个函数




你可能感兴趣的:(SpringMVC学习)