开发者社区> twilight0402> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Servlet ServletContext

简介: 版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/twilight_karl/article/details/70214712 简介 WEB容器在启动时,它会为每个WEB应用程序都创建一个对应的ServletContext对象,它代表当前web应用。
+关注继续查看
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/twilight_karl/article/details/70214712

简介

WEB容器在启动时,它会为每个WEB应用程序都创建一个对应的ServletContext对象,它代表当前web应用。可以通过ServletConfig.getServletContext方法获得ServletContext对象。
由于一个WEB应用中的所有Servlet共享同一个ServletContext对象,因此Servlet对象之间可以通过ServletContext对象来实现通讯。

getRequestDispatcher()

参考这篇博客
http://twilight.net.cn/2017/04/09/Servlet-%E4%BD%BF%E7%94%A8RequestDispathcher%E8%B0%83%E6%B4%BE%E8%AF%B7%E6%B1%82/

getResourcePaths(“url”)

url 必须以/开头

        for(String temp : getServletContext().getResourcePaths("/")){
            output.println(temp);
        }

效果如下

/JSP-useBean/
/FormTest.html
/AutoLogin.jsp
/Hello.jsp
/Cookie/
/Main.html
/CheckNum/
/META-INF/
/index.jsp
/test.html
/WEB-INF/
/includes/
/JSP-Include/
/AutoLogin.html
/error.jsp

获取webRoot下的所有图片

    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        resp.setContentType("text/html;charset=utf-8");
        PrintWriter output = resp.getWriter();
        ServletContext context = getServletContext();

        // '/' 表示 WebRoot
        for(String temp : context.getResourcePaths("/img")){
            temp = temp.substring(temp.indexOf("/")+1);
            output.println("<img src='"+temp+"' width=200 height=200></img>");
        }
    }

getResourceAsStream(“url”)

获取文件流,返回类型是InputStream,URL必须以”/”开头

向页面中发送图片

    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        ServletContext context = req.getServletContext();
        // 获取输入流
        InputStream input = context.getResourceAsStream("/img/P70114-101325.jpg");
        // 获取输出流
        OutputStream output = resp.getOutputStream();
        byte [] data = new byte [1024];
        int len = 0 ;
        while(-1 != (len = input.read(data))){
            output.write(data,0,len);
        }

        output.close();
        input.close();
    }

这是从服务器端向客户端发送文件,如果需要接受客户端发来的文件,具体操作方式请参考
Servlet 上传文件

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Java Web——Servlet的数据共享方案:ServletContext接口(全局作用域对象)
Java Web——Servlet的数据共享方案:ServletContext接口(全局作用域对象)
0 0
Servlet中ServletConfig接口和ServletContext接口的作用
Servlet中ServletConfig接口和ServletContext接口的作用
0 0
Servlet第二篇【Servlet调用图、Servlet细节、ServletConfig、ServletContext】(下)
前面我们已经学过了Servlet的生命周期了,我们根据Servlet的生命周期画出Servlet的调用图加深理解
0 0
Servlet第二篇【Servlet调用图、Servlet细节、ServletConfig、ServletContext】(中)
前面我们已经学过了Servlet的生命周期了,我们根据Servlet的生命周期画出Servlet的调用图加深理解
0 0
Servlet第二篇【Servlet调用图、Servlet细节、ServletConfig、ServletContext】(上)
前面我们已经学过了Servlet的生命周期了,我们根据Servlet的生命周期画出Servlet的调用图加深理解
0 0
初识 JSP---(servlet / ServletConfig接口 / ServletContext接口)
servlet简介 Java Servlet是和平台无关的服务器端的组件,它运行在servlet容器中。Servlet容器负责servlet和客户的通信以及调用servlet的方法,servlet和客户的通信采用的是“请求/响应”的模式。
1111 0
《Servlet和JSP学习指南》一1.7 ServletContext
本节书摘来自华章出版社《Servlet和JSP学习指南》一书中的第1章,第1.7节,作者(加)Budi Kurniawan,更多章节内容可以访问云栖社区“华章计算机”公众号查看
626 0
Servlet-监听器(ServletContext、Request、Session)
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.
395 0
《Servlet、JSP和Spring MVC初学指南》——1.7 ServletContext
ServletContext表示Servlet应用程序。每个Web应用程序只有一个上下文。在将一个应用程序同时部署到多个容器的分布式环境中,每台Java虚拟机上的Web应用都会有一个ServletContext对象。
1580 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载