zoukankan      html  css  js  c++  java
  • 第六周作业

    Servlet 中能够设置属性的对象有ServletRequest/HttpServletRequest、HttpSession、ServletContext。用于存储、查询和删除这些属性的方法对于所有的作用域都是相同的。它们是:

    Object getAttribute(String name);    
    void setAttribute(String name, Object value);    
    void removeAttribute(String name);     
    Enumeration getAttributeNames();  

    ① ServletRequest :请求作用域

    对应于JSP 中的Request,封装了客户的请求信息, 如客户的请求方式、参数名和参数值  、客户端正在使用的协议,以及发出请求的远程主机信息。HttpServletRequest 接口包含了客户端的请求信息,通过该接口取得客户端的一些信息(如:IP地址、浏览器类型等)及HTTP 请求类型(如:GET、HEAD、POST、PUT等)。

    通过HttpServletRequest 接口中的getSession() 方法还可以获得会话作用域(HttpSession) 。

     public HttpSession getSession();  如果“当前用户的会话对象”为空(第一次访问时)则创建一个新的会话对象返回

     public HttpSession getSession(boolean create);   create=false:如果“当前用户的会话对象”为空,则返回null(即不自动创建会话对象),create = true 与不带参数用法一样。

    ServletRequest 对象获得方法

    javax.servlet.ServletRequestWrapper.getRequest();

    ② HttpSession:会话作用域

    对应于JSP 中的Session,为访客分配一个唯一标识,并存储在客户端的Cookie 中。

    常用方法:

    public boolean isNew();  判断这个session是不是新的。

    public void invalidate();  终止这个session。所有绑定在这个session上的数据都会被清除。

    public void setMaxInactiveInterval(int interval) ;设置会话的超时值。

    HttpSession 对象几种获得方法

    javax.servlet.http.HttpServletRequest.getSession(boolean create);

    javax.servlet.http.HttpServletRequest.getSession();

    javax.servlet.http.HttpServletRequestWrapper.getSession(boolean create);

    javax.servlet.http.HttpServletRequestWrapper.getSession();

    javax.servlet.http.HttpSessionBindingEvent.getSession();

    javax.servlet.http.HttpSessionContext.getSession(String sessionID);

    javax.servlet.http.HttpSessionEvent.getSession();

    ③ ServletContext:上下文作用域

    对应于JSP 中的Application,是Servlet 与Servlet 容器直接通信的接口,Servlet 容器在启动一个Web 应用时,会为它创建一个唯一的ServletContext 对象。同一个Web 应用的所有Servlet 共享一个ServletContext,Servlet 对象通过它来访问 Servlet 容器中的各种资源。

    常用方法:

    ● 访问当前Web 的应用资源

         public String getContextpath(); 返回当前Web应用的入口URL。

         public String getInitParameter(String name);返回Web 应用范围内的匹配的初始化参数值。在web.xml 中<web-app>元素中<context-param>元素标识应用范围内的初始化参数。

        public Enumeration getInitParameterNames();

        public String getServletContextName(); 返回Web 应用名字。即<web-app>元素中<display-name>元素的值。

        public RequestDispacher getRequestDispacher(String path);返回一个像其他Web组件发送请求的RequestDispacher 对象。

    ●  访问 Servlet 容器的相关信息

        public ServletContext getContext(String uripath); 根据指定的URI,返回当前Servlet容器中,其他Web 应用的ServletContext 对象。

    ●  访问Web 容器的相关信息

        public String getServerInfo(); 返回Servlet 容器的名字和版本。

        public int getMajorVersion(); 返回Servlet 容器支持的java Servlet API 的主版本号。

        public int getMinorVersion(); 返回Servlet 容器支持的java Servlet API 的主版次号。

    ●  访问服务器端的文件系统资源

        public String getRealPath(String path); 根据参数指定的虚拟路径,返回一个文件系统中的真实路径。

        public URL getResource(String path);返回一个指定路径的URL。

    ● 输出日志

       public void log(String msg); 向Servlet 的日志文件中写日志。

       public void log(String msg,Throwable throwable);向日志文件中写错误信息,以及异常堆栈信息。

    ServletContext 对象获得的几种方式

    javax.servelt.http.HttpServlet.getServletContent();

    javax.servlet.http.HttpSession.getServletContext();

    javax.servlet.jsp.PageContext.getServletContext();

    javax.servlet.servletConfig.getServletContext();

  • 相关阅读:
    政府网文件搜索列表页
    docker 容器间相互连接
    asp.net core 3.1 中使用cookie
    abp vnext 去IdentityServer 精简单体项目基于abp vnext 3.2版本
    c# 图片加文字,横线,圆
    淘宝客根据优惠券url更新优惠券信息
    软件产品ui模型制作工具
    在类库中获取配置信息 asp.net core 3.1
    vs 或 Android Studio 使用Visual Studio Emulator for Android调试安卓程序
    ABP 替换异常过滤器
  • 原文地址:https://www.cnblogs.com/wzt853306121/p/5475676.html
Copyright © 2011-2022 走看看