(十九)注解式@Controller @RequestMapping

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jiangshangchunjiezi/article/details/88966822

一、@Controller:创建处理器对象,默认是单例对象

                             位置:在类上面

二、@RequestMapping:映射Request请求与处理器

         放到方法上是处理相应页面请求

        放在类上表示请求地址的公共部分放在这里,省得此类中所有方法都写重复部分

            比如 user/pag1.do   user/pag2.do

           @RequestMapping("user")

            @Controller
            public class MyController {  //代码}

@Controller
public class MyController {

    @RequestMapping ( "value="some.do" ) //若多个请求,用大括号逗号隔开{some.do,input.do}
    public ModelAndView doSome()//处理some.do的请求,showView相当于Servlet的doGet
  {
      //调用Service层处理请求,把处理结果显示给用户
       ModelAndView modelAndView = new ModelAndView();
      
       modelAndView.addObject( " 需要放到 model 中的属性名称 " , " 对应的属性值,它是一个对象 " );
       //展示视图
        modelAndView.setViewName( "show" );
       return modelAndView;
    }

}
 //在配置文件中设置扫描
 < context:component-scan base-package = "com.host.app.web.controller" >
       < context:exclude-filter type = "annotation"
           expression = "org.springframework.stereotype.Service" />
    </ context:component-scan > 

三、@RequestMapping 属性

①method属性

 @RequestMapping (value= "testMethod" , method={RequestMethod. GET , RequestMethod. DELETE })

②param

请求:/testParams.do?param1=value1&param2=value2

 @RequestMapping (value= "testParams" , params={ "param1=value1" , "param2" , "!param3" })
    public String testParams() {
       System. out .println( "test Params..........." );
       return "testParams" ;
    } 

四、处理器方法的参数

处理器方法可以包含以下四类参数,这些参数在系统调用时由系统自动赋值,即程序员可以在方法内直接使用

①HttpServletRequest

②HttpServletResponse

③HttpSession

④请求中所携带的请求参数

猜你喜欢

转载自blog.csdn.net/jiangshangchunjiezi/article/details/88966822