首先咱们的界面在返回的时候回根据咱们的配置信息进行路径的查找 而后会识别咱们的控制器返回的字符串(其实就是界面的名字)而找到界面的信息,eg:若是咱们返回的是success那么就会去找咱们的WEB-INF下的对应的success.jsp或者success.html界面html
控制层:java
/** * 请求参数绑定 */ @Controller @RequestMapping(value = "/param") public class paramController { @RequestMapping("/testParams") public String testParam(){ System.out.println("执行了....."); return "success"; } }
而后请求返回的就是咱们的success界面python
注解:app
要在类上加@Controller 注解是等于把类交给ioc容器进行管理 而且让咱们的配置能够经过这个@Controller注解识别到这个类jsp
java的注解长得相似于python的装饰器可是做用是不一样的,由于java的注解只是为了声明这个方法或者类具备这个功能,功能是提早定义好的或者自带的,可是要手动加上,而python的装饰器的做用是本身定义那些不改变函数的方法的形式而增长的功能函数
请求注解:RequestMappingurl
创建请求url和处理方法之间的对应关系spa
当咱们的请求进来的时候要进行url的定义就是经过RequestMapping,而且RequestMapping 能够多级分发,java的url是一级一级的去找 而不是直接定义完整的urlcode
像上面的完整的url就是/params/testParamshtm
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"})
规定咱们的请求必需要携带这个请求头