springMVC常用注解(三)调用原始的Servlet的API

导入servlet的API坐标

  <dependency><!-- 传统得servlet request response   -->
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>

java 模拟

@Controller("sevletController")
@RequestMapping("/servlet")
public class sevletController {
    @RequestMapping("/demo01")
    public String demo01(HttpServletResponse response , HttpServletRequest request , HttpSession httpSession){
        System.out.println(request);
        System.out.println(response);
        System.out.println(httpSession);
        return "success" ;
    }
}

前端模拟访问

<a href="${pageContext.request.contextPath}/servlet/demo01">支持原始得sevlert</a>

话外 隐式对象

隐式对象:spring默认给你提供好的。直接拿过来用即可。
封装数据到模型对象中(请求范围)
Model:
ModelMap:
Map:

@Controller
@RequestMapping("/model")
public class modelController {
    @RequestMapping("/demo1")//这个 是前台form 对用pojo 传入得user
    public String demo1(Model model,User user){ //Model 就是隐式对象 我们可以直接拿来使用
        System.out.println(user);
        model.addAttribute("user",user); //向域对象中添加数据
        return "success";
    }
    //下面得我们使用路径 get 方式模拟
    @RequestMapping("/demo2")
    public String demo2(ModelMap model){ //Model 就是隐式对象 我们可以直接拿来使用
        User user = new User();
        user.setUid(89);
        user.setName("ModelMap");
        System.out.println(user);
        model.addAttribute("user",user); //向域对象中添加数据
        return "success";
    }
    @RequestMapping("/demo3")
    public String demo3(Map model){ //Model 就是隐式对象 我们可以直接拿来使用
        User user = new User();
        user.setUid(111);
        user.setName("Map");
        System.out.println(user);
        model.put("user",user); //向域对象中添加数据
        return "success";
    }
}

控制器 返回值

    @RequestMapping("/demo1")
    public String demo1(){
        return "success";//返回一个逻辑视图  请求转发
//        return "forward:XXX"; //返回一个逻辑视图  请求转发
//        return "redirect:XXX"; //重定向
    }
	 @RequestMapping("/demo02")  //没有返回值 通过原始 servlet API
    public void demo01(HttpServletResponse response , HttpServletRequest request , HttpSession httpSession){
        System.out.println(request);
        System.out.println(response);
        System.out.println(httpSession);
    }
       @RequestMapping("/demo3")
    //ModelAndView: 模型和视图。
        //既能封装数据到模型对象,也能指定视图。
    public ModelAndView demo3() throws Exception{
        ModelAndView mav = new ModelAndView();
        User user= new User();
        user.setUid(99);
        user.setName("user1");
        mav.addObject("user",user);//存放模型数据
        mav.setViewName("success");//前往逻辑视图 
        //mav.setView();//
        return mav;
    }
 <!--指定要扫描的包-->
    <context:component-scan base-package="com.itheima.web"/>
    <!--视图解析器-->
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/pages/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

扶摇的星河

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值