JSP九大内置对象和四大作用域

九大内置对象


四个作用域

1. page(当前页面)

2. request(一次请求中同一个对象)

3. session(一次会话)

3.1 只要客户端Cookie中传递的Jsessionid不变 --> session就不会重新实例化(不超过默认时间)
3.2 实际有效时间:
    3.2.1 浏览器关闭 : cookie失效
    3.2.2 默认时间 :tomcat的web.xml中配置

4 .application(关闭tomcat)


SpringMVC作用域传值方式(四种)

1. 使用原生Servlet(HandlerMethod参数中添加作用域对象)
2. 使用Map集合
3. 使用SpringMVC中Model接口
4. 使用SpringMVC中ModelAndView类

使用原生Servlet

在HandlerMethod参数中 + 作用域对象

注解类:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@Controller
public class DemoController {

@RequestMapping("demo01")
public String demo1(HttpServletRequest abc,HttpSession sessionParam) {

//request作用域
abc.setAttribute("req","req的值");

//session作用域
HttpSession session = abc.getSession();
session.setAttribute("session", "session的值");
sessionParam.setAttribute("sessionParam", "sessionParam的值");

//设置application作用域
ServletContext application=abc.getServletContext();
application.setAttribute("application","application的值");

return "index.jsp"; //返回给一个jsp页面
}
}

index.jsp页面(取出来):

1
2
3
4
request:${requestScope.req }</br>
session:${sessionScope.session }</br>
sessionParam:${sessionScope.sessionParam }</br>
application:${applicationScope.application }</br>

Map集合

map中的内容放入request作用域
spring会对map集合通过BindingAwareModelMap进行实例化

1
2
3
4
5
6
7
8
@RequestMapping("demo02")
public String demo2(Map<String,Object> map) {

System.out.println(map.getClass()); //输出map的结果
map.put("map","map的值"); //获取map值
return "index.jsp";

}

使用SpringMVC中Model接口

内容最终放入到request作用域

1
2
3
4
5
6
7
@RequestMapping("demo03")
public String demo3(Model model) {

model.addAttribute("model","model的值");
return "index.jsp";

}

使用SpringMVC中ModelAndView类

1
2
3
4
5
6
7
@RequestMapping("demo04")
public String demo4() {

ModelAndView m=new ModelAndView("index.jsp");
return "m";

}

×

纯属好玩

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. 九大内置对象
  2. 2. 四个作用域
  3. 3. SpringMVC作用域传值方式(四种)
    1. 3.1. 使用原生Servlet
    2. 3.2. Map集合
    3. 3.3. 使用SpringMVC中Model接口
    4. 3.4. 使用SpringMVC中ModelAndView类
,