【愚公系列】2023年04月 Java教学课程 138-Spring MVC框架的Servlet相关接口详解

2023-04-21 19:13:14 浏览数 (1)


一、Servlet相关接口-Servlet相关接口替换方案

Spring MVC框架是一个基于MVC模型的Web应用程序框架,用于创建Web应用程序。在Spring MVC框架中,Servlet相关接口包括HttpServletRequest、HttpServletResponse和HttpSession等。

  • HttpServletRequest接口表示HTTP请求
  • HttpServletResponse接口表示HTTP响应
  • HttpSession接口表示HTTP会话。这些接口是开发Web应用程序时经常使用的重要接口
  • SpringMVC提供访问原始Servlet接口API的功能,通过形参声明即可
代码语言:javascript复制
@RequestMapping("/servletApi")
public String servletApi(HttpServletRequest request,
                         HttpServletResponse response, HttpSession session){
    System.out.println(request);
    System.out.println(response);
    System.out.println(session);
    request.setAttribute("name","itheima");
    System.out.println(request.getAttribute("name"));
    return "page.jsp";
}
  • Head数据获取
  • 名称: @RequestHeader
  • 类型: 形参注解
  • 位置:处理器类中的方法形参前方
  • 作用:绑定请求头数据与对应处理方法形参间的关系
  • 范例:
代码语言:javascript复制
@RequestMapping("/headApi")
public String headApi(@RequestHeader("Accept-Language") String head){
    System.out.println(head);
    return "page.jsp";
}  
  • Cookie数据获取
  • 名称: @CookieValue
  • 类型: 形参注解
  • 位置:处理器类中的方法形参前方
  • 作用:绑定请求Cookie数据与对应处理方法形参间的关系
  • 范例:
代码语言:javascript复制
@RequestMapping("/cookieApi")
public String cookieApi(@CookieValue("JSESSIONID") String jsessionid){
    System.out.println(jsessionid);
    return "page.jsp";
}  
  • Session数据获取
  • 名称: @SessionAttribute
  • 类型: 形参注解
  • 位置:处理器类中的方法形参前方
  • 作用:绑定请求Session数据与对应处理方法形参间的关系
  • 范例:
代码语言:javascript复制
@RequestMapping("/sessionApi")
public String sessionApi(@SessionAttribute("name") String name){
    System.out.println(name);
    return "page.jsp";
}  
  • Session数据设置
  • 名称: @SessionAttributes
  • 类型: 类注解
  • 位置:处理器类上方
  • 作用:声明放入session范围的变量名称,适用于Model类型数据传参
  • 范例:
代码语言:javascript复制
@Controller
@SessionAttributes(names={"name"})
public class ServletController {
    @RequestMapping("/setSessionData2")
    public String setSessionDate2(Model model) {
        model.addAttribute("name", "Jock2");
        return "page.jsp";
    }
}  

0 人点赞