JSP中的Attribute和InitParameter
属性:Attribute
类型:应用/上下文,请求,会话(ServletContext,HttpServletRequest/ServletRequest,HttpSession)
设置方法:setAttribute(String name,Object value)
返回类型:Object
获取方法:getAttribute(Strin name)//注意:需要强制转换,返回值为Object
参数:InitParameter
类型:应用/上下文初始化参数,请求参数,servlet初始化参数
设置方法:不能设置应用和servlet初始化参数,它们都在DD中设置。
返回类型:String
获取方法:getInitParameter(String name)
属性作用域:
可访问性 作用域 适用于。。。
Context: Web应用的所有部分 ServletContext的生命周期 整个应用共享资源,包括数据库,Email地址
HttpSeesion:访问此seesion的所有servlet和JSP seesion的生命周期 与seesion有关的资源,例如:购物车
Request: 应用中能直接访问request对象的所有 request生命周期 将model信息从controller传递到view
部分 (servlet的service()方法结束,既是线程处理)
属性的API
ServletContext作用域不是线程安全的
补充:
整个web应用只有一个ServletContext,而且Web应用中的所有部分都能访问它。不过,应用中的各个ServletConfig.部署Web应用时,容器会建立一个ServletContext,这个上下文对Web应用中的每个Servlet和JSP(也会成为一个servlet)都可用。
要把初始化参数认为是部署时常量!
可以在运行时得到这些初始化参数,但是不能设置,根本没有setInitParameter()。