jsp内置对象总结

JSP中九大内置对象为:

  request 请求对象  类型 javax.servlet.ServletRequest 作用域 Request

  response 响应对象 类型 javax.servlet.SrvletResponse 作用域 Page

pageContext 页面上下文对象 类型 javax.servlet.jsp.PageContext 作用域 Page

  session 会话对象 类型 javax.servlet.http.HttpSession 作用域 Session

  application 应用程序对象 类型 javax.servlet.ServletContext 作用域 Application

  out 输出对象 类型 javax.servlet.jsp.JspWriter 作用域 Page

  config 配置对象 类型 javax.servlet.ServletConfig 作用域 Page

  page 页面对象 类型 javax.lang.Object 作用域 Page

  exception 例外对象 类型 javax.lang.Throwable 作用域 page

JSP内置对象——application对象
一、application介绍
1、实现了用户间数据的共享,可存放全局变量。(类似静态对象)
2、开始于服务器启动,终止于服务器的关闭(生命周期)
3、在用户的前后连接或不同用户之间的连接中,可以对application对象的同一属性进行操作
4、在任何地方对application对象属性进行操作,都将影响到其他用户对此的访问
5、application对象是ServletContext类的实例


import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.util.ServletContextAware;

import com.opensymphony.xwork2.ActionSupport;
//所有Action动作的父类,并注入内置对象
public class SuperAction implements ServletRequestAware,
ServletResponseAware,ServletContextAware{
    /**
     * 
     */
        //请求对象
    protected HttpServletRequest request;
    //响应对象
    protected HttpServletResponse response;
    //会话对象
    protected HttpSession session;
    //全局对象
    protected ServletContext application;
    public void setServletContext(ServletContext application) {
        // TODO Auto-generated method stub
        this.application=application;
    }

    public void setServletResponse(HttpServletResponse response) {
        // TODO Auto-generated method stub
        this.response=response;
    }

    public void setServletRequest(HttpServletRequest request) {
        // TODO Auto-generated method stub
        this.request=request;
        this.session=request.getSession();
    }

}

子类这样也可以直接引用父类的属性
三 在MVC框架中获取内置对象
1. struts2中获取内置对象

Struts2获取request对象

1.通过ActionContext获取返回的是map集合
Map request = (Map)ActionContext.getContext().get(“request”);
request.put(“tasks”, tasks);

2.通过ServletActionContext类来获取
HttpServletRequest request = ServletActionContext.getRequest();
request.setAttribute(“username”, “zhangsan”);
req.getSession().setAttribute(“b”, “bb”);//获取session对象
request.getSession().getServletContext().getApplication(); //得到Application
3.通过接口注入的方式(推荐使用)

Struts2获取session对象

Map session=ActionContext.getContext().getSession();
//在session中设值
session.put(“username”, username);

2.springMVC中获取内置对象

//获取request对象
1.(推荐使用)
public String reg2(HttpServletRequest req){
req.setAttribute(“a”, “aa”);
}
2.
public String reg(ModelMap map){
map.put(“a”, “aaa”);
return “index”;
}

//获取session对象
1.(推荐使用)
public String reg2(HttpServletRequest req){
req.getSession().setAttribute(“b”, “bb”);
}
2.使用注解
@SessionAttributes({“u”,”a”}) //将ModelMap中属性名字为u、a的再放入session中。这样,request和session中都有了。


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值