ServletContext功能_域对象和ServletContext功能_获取文件服务器路径

  • 域对象:共享数据

    • setAttribute(String name,Object value)
    • getAttribute(String name)
    • removeAttribute(String name)
  • ServletContext对象范围:所有用户所有请求的数据

package com.ailyt.servletContext;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/scs3")
public class ServletContextStudy03 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        /**
         * ServletContext功能:
         *      域对象:共享数据
         *      获取文件真实(服务器)路径
         */
        //通过request对象获取
        ServletContext context1 = req.getSession().getServletContext();

        //获取数据
        Object msg = context1.getAttribute("msg");
        System.out.println(msg);


    }
}

package com.ailyt.servletContext;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/scs3")
public class ServletContextStudy04 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        /**
         * ServletContext功能:
         *      域对象:共享数据
         *      获取文件真实(服务器)路径
         */
        //通过request对象获取
        ServletContext context1 = req.getSession().getServletContext();

        //设置数据
        context1.setAttribute("msg","hahhaha");


    }
}

  • 获取文件的真实(服务器)路径
    • 方法:String getRealPath(String path);
package com.ailyt.servletContext;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;

@WebServlet("/scs5")
public class ServletContextStudy05 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        /**
         * ServletContext功能:
         *      域对象:共享数据
         *      获取文件真实(服务器)路径
         */
        //通过request对象获取
        ServletContext context1 = req.getSession().getServletContext();

        //获取文件的服务器路径
        String realPath = context1.getRealPath("/b.txt");
        File file = new File(realPath);


    }
}

posted @ 2022-08-12 09:23  我滴妈老弟  阅读(19)  评论(0编辑  收藏  举报