(十九)注解式@Controller @RequestMapping

一、@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

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

 

五、面试题

1.怎样在方法里面得到Request,或者Session?

答:直接在方法的形参中声明request,SpringMvc就自动把request对象传入。

2、SpingMvc中的控制器的注解一般用那个,有没有别的注解可以替代?

答:一般用@Conntroller注解,表示是表现层,不能用别的注解代替。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值