• Servlet的三个域对象



    我们在开发javaweb项目的时候,经常会遇到jsp和Servet之间互相传值,既然有传值,就要有对象来传,这里先说Servlet的三大域对象,request,session,application他们共同的特点都是通过键值对传值,这样也很好理解,键是唯一的,通过键可以找到值。


    一、request

    request汉译为请求需求,request代表的只是一次请求,当你点击一个链接,这就是依次请求,request只是一次请求有效,当你在跳转一次的时候和上一次就不是依次请求了。记住一句话,一次请求就是一个request,只对当前请求有效。


    用法:用于一次请求之间的值的传递,在jsp页面设置有name属性的表单,在Servlet通过request对象获取属性值,注意request是jsp内置的九个对象之一,可以直接用


    常用方法:

    request.setAttribute();
    request.getAttribute();
    request.getParameter();

    注意传值的时候总是根据键值对传值

    二、session

    session会话,他的作用范围只是对一次会话有效,例如打开了一个浏览器访问网址,当你再打开另一个的时候就是两次会话了,当你关闭浏览器的时候本次会话就结束了,这次会话的session也就失效了,一次会话只对应一个session

    用法:有时我们要在两个Servlet之间进行传值,用session比较方便,还有就是当用户登录之后,服务器记下这个session键值对,那么本次会话用户就不用二次登录了

    常用方法:

    session.setAttribute(); 
    session.getAttribute();

    在用上面的方法的时候先要获取session对象,在jsp页面中session属于九大内置对象,可以直接拿来用,在Servlet中必须先要获取session对象通过

    HttpSession session = request.getSession();

    在jsp页面直接拿来

    <%session.serAttribute("key",value)%>

    session对象进行传值也是通过键值对,键的值是唯一的

    三、application

    这个对象的范围比较大,他是作用于整个服务端,在你启动服务器创建application对象设置值,之后在本项目中都可以获取到,一个项目中只有一个对象,传值的时候根据键的不同区分,application在服务器关闭的时候销毁,

    常用方法

     application.setAttribute("key", value); 
     application.getAttribute("key"); 
    注意在Servlet中也是要获取application对象的,通过下面这句获取

     ServletContext application = request.getServletContext();
    ServletContext也是属于JSP九大内置对象之一,故可以直接使用


    参考:http://blog.csdn.net/qq_26676207/article/details/52592846

  • 相关阅读:
    复杂业务
    重析业务逻辑架构模式
    Katana介绍以及使用
    使用ServiceStack构建Web服务
    ASP.NET vNext 在 Mac OS
    用户端的防腐层作用及设计
    Mvc 模块化开发
    编程语言
    页面生命周期
    If you pay peanuts,you get monkeys
  • 原文地址:https://www.cnblogs.com/duzhentong/p/7816560.html
Copyright © 2020-2023  润新知