• 【JavaWeb】Servlet属性设置


    Servlet中的属性是可以从以下范围之一设置,获取或删除的对象:

    • 请求范围
    • 会话范围
    • 应用范围

    Servlet程序员可以使用属性将信息从一个servlet传递给另一个servlet。它就像将对象从一个类传递给另一个类一样,以便我们可以一次又一次地重用同一个对象。

    ServletRequest,HttpSession和ServletContext接口的属性特定方法

    Servlet中有以下4种属性方法,它们具体如下:

    序号方法描述
    1public void setAttribute(String name,Object object)在应用程序范围内设置给定的对象。
    2public Object getAttribute(String name)返回指定名称的属性。
    3public Enumeration getInitParameterNames()返回上下文的初始化参数的名称,转为String对象的枚举。
    4public void removeAttribute(String name)从servlet上下文中删除具有给定名称的属性。

    ServletConfig和ServletContext的区别

    servletconfig对象引用单个servlet,而servletcontext对象引用整个Web应用程序。

    ServletContext的示例设置和获取属性

    ServletAttr.java

    public class ServletAttr extends HttpServlet {
        private static final long serialVersionUID = 1L;
    
        @Override
        public void doGet(HttpServletRequest request, HttpServletResponse response){
            try {
                // 设置服务器端内容类型
                response.setContentType("text/html");
                // 设置服务器端编码方式
                response.setCharacterEncoding("utf-8");
                // 获取服务器端输出对象
                PrintWriter out = response.getWriter();
    
                // 获取ServletContext对象
                ServletContext context = getServletContext();
                // 设置属性
                context.setAttribute("school","WTU");
    
                out.println("Welcome to first servlet");
                out.println("在第二个Servlet查看属性值");
                out.close();
    
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    ServletAttr2.java

    public class ServletAttr2 extends HttpServlet {
        private static final long serialVersionUID = 1L;
    
        @Override
        public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
            // 设置服务器端内容类型和编码方式
            response.setContentType("text/html");
            response.setCharacterEncoding("utf-8");
            // 获取服务器端的输出对象
            PrintWriter out = response.getWriter();
            // 获取ServletContext对象
            ServletContext context = getServletContext();
    
            String name = (String) context.getAttribute("school");
    
            out.println("Welcome to "+name);
            out.close();
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    web.xml

    
    
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
             id="WebApp_ID" version="3.1">
        <display-name>AttributeServletdisplay-name>
        <welcome-file-list>
        welcome-file-list>
        <servlet>
            <servlet-name>AttributeServletservlet-name>
            <servlet-class>ServletAttrservlet-class>
        servlet>
        <servlet-mapping>
            <servlet-name>AttributeServletservlet-name>
            <url-pattern>/servletAttrurl-pattern>
        servlet-mapping>
        <servlet>
            <servlet-name>AttributeServlet2servlet-name>
            <servlet-class>ServletAttr2servlet-class>
        servlet>
        <servlet-mapping>
            <servlet-name>AttributeServlet2servlet-name>
            <url-pattern>/servletAttr2url-pattern>
        servlet-mapping>
    web-app>
    ~~
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
  • 相关阅读:
    Web之HTML笔记
    [‘1‘,‘2‘,‘3‘].map(parseInt)的输出结果为什么是[1,NAN,NAN]
    < Python全景系列-4 > 史上最全文件类型读写库大盘点!什么?还包括音频、视频?
    用程序计算出钢琴88个键的音高
    腾讯数字生态大会详解腾讯云全球化发展规划,全真互联为重要发力点
    neo4j 图数据库初步调研 三元组、属性图、图模型、超图、RDF-f
    Android Aidl跨进程通讯(三)--进阶使用
    常见荧光染料修饰多种基团及其激发和发射波长数据一览数据
    [SQL开发笔记]LIKE操作符:在 WHERE 子句中搜索列中的指定模式
    VMware-vSphere 文档
  • 原文地址:https://blog.csdn.net/u013301892/article/details/127562151