spring mvc 程序

首先我们的界面在返回的时候回根据我们的配置信息进行路径的查找  然后会识别我们的控制器返回的字符串(其实就是界面的名字)而找到界面的信息,eg:如果我们返回的是success那么就会去找我们的WEB-INF下的对应的success.jsp或者success.html界面

控制层:

/**
 * 请求参数绑定
 */
@Controller
@RequestMapping(value = "/param")
public class paramController {


    @RequestMapping("/testParams")
    public String testParam(){
        System.out.println("执行了.....");
        return "success";
    }
}

然后请求返回的就是我们的success界面

注解:

java的注解长得类似于python的装饰器但是作用是不同的,因为java的注解只是为了声明这个方法或者类具有这个功能,功能是提前定义好的或者自带的,但是要手动加上,而python的装饰器的作用是自己定义那些不改变函数的方法的形式而增加的功能

请求注解:RequestMapping

建立请求url和处理方法之间的对应关系

当我们的请求进来的时候要进行url的定义就是通过RequestMapping,并且RequestMapping 可以多级分发,java的url是一级一级的去找  而不是直接定义完整的url

 像上面的完整的url就是/params/testParams

RequestMapping 的参数:

    path  接受定义的url

    value  和path的作用相同,都是接受url两者用哪个都可以

     

1. path   指定请求路径的url
2. value   和path属性一样
3. mthod  指定该方法的请求方式
4. params  指定限制请求参数的条件
5. headers 发送的请求中必须包含的请求头

path/value属性

如果RequestMapping中只有这一个属性可以省略不写

    @RequestMapping("/testParams")  //可以省略path/value不写
    public String testParam(){
        System.out.println("执行了.....");
        return "success";
    }

method属性

声明请求方式

@RequestMapping(value = "/param",method = RequestMethod.GET)

上面是声明请求方式只能为GET方法 其余方法不可以使用

如果想要定义多个请求方式可以如下:

metgod = {请求方式}

@RequestMapping(value = "/param",method = {RequestMethod.GET,RequestMethod.POST})

上面就是定义/params这个url使用的时候可以是GET也可以是POST

params:请求参数

如果定义了params那么请求的时候必须携带这个参数

@Controller
@RequestMapping(value = "/param",method = {RequestMethod.GET,RequestMethod.POST}, params={"username"})

上面是规定请求的时候必须携带params中的username的参数 否则就不允许

默认参数:

 @RequestMapping(path = "/hell",method={RequestMethod.GET, RequestMethod.POST},params={"username=hehe"})   // params可以规定死的参数

规定请求参数必须是hehe否则就报错

headers:

规定请求头,

 @RequestMapping(path = "/hell",method={RequestMethod.GET, RequestMethod.POST},params={"username=hehe"},headers = {"Accept"}) 

规定我们的请求必须要携带这个请求头

猜你喜欢

转载自www.cnblogs.com/zhaoyunlong/p/10807812.html