亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

深入了解Java ServletContext

瀏覽:48日期:2022-08-27 15:50:21

什么是ServletContext?

根據字面意思即Servlet上下文

深入了解Java ServletContext

服務器會為每一個工程創建一個對象,這個對象就是ServletContext對象,這個對象是全局唯一的,工程內部的所有servlet都共享這個對象,所有應用程序共享對象

深入了解Java 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('/ServletContext2')public class ServletContext2 extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { ServletContext servletContext = this.getServletContext(); System.out.println('ServletContext2的地址:'); System.out.println(servletContext); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doGet(req, resp); }}

import javax.servlet.RequestDispatcher;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('/ServletContext')public class ServletContext 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 { javax.servlet.ServletContext servletContext = this.getServletContext(); System.out.println('ServletContext2的地址:'); System.out.println(servletContext); RequestDispatcher servletContext2 = req.getRequestDispatcher('ServletContext2'); servletContext2.forward(req,resp); }}

可以看到二者的地址一模一樣

深入了解Java ServletContext

ServletContext對象的生命周期

誕生:web部署到服務器上,啟動服務器,此時上下文環境對象創建,只要tomcat服務器不關閉,上下文環境對象就一直存在

銷毀:關閉服務器或者是從web服務器上卸載該程序的時候,該對象銷毀

怎么創建ServletContext對象?

方法一:

javax.servlet.ServletContext servletContext = this.getServletContext();

方法二:

javax.servlet.ServletContext servletContext1 = req.getServletContext();

方法三:

javax.servlet.ServletContext servletContext3 = this.getServletConfig().getServletContext();

ServletContext對象的作用與相關方法

1.是一個域對象*

什么是域:域其實就是一個map結構,及存入一個鍵值對,來存儲獲取數據作用范圍:本工程內部域對象可以被本工程內所有的servlet對象共享,因為一個工程只有一個servletcontext對象

方法介紹:存儲數據: void setAttribute(String var1, Object var2);

移除數據: void removeAttribute(String var1);

獲取數據: Object getAttribute(String var1);1.由于取出的是一個Object類型,需要強轉2.如果指定的屬性名不存在,則返回null

2.可以獲取文件的真實路徑

真實路徑:即部署在服務器是的路徑String getRealPath() 獲取文件的真實路徑

不同目錄下訪問資源的方式不同

//src下的資源訪問 String realPath = servletContext.getRealPath('/WEB-INF/classes/a.text'); System.out.println(realPath);//WEB-INF下的資源訪問 String realPath1 = servletContext.getRealPath('/WEB-INF/b.text'); System.out.println(realPath1); //web目錄下的資源訪問 String realPath2 = servletContext.getRealPath('/c.text'); System.out.println(realPath2);

代碼

import javax.servlet.RequestDispatcher;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('/ServletContext')public class ServletContext 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 { javax.servlet.ServletContext servletContext = this.getServletContext(); //src下的資源訪問 String realPath = servletContext.getRealPath('/WEB-INF/classes/a.text'); System.out.println(realPath); //WEB-INF下的資源訪問 String realPath1 = servletContext.getRealPath('/WEB-INF/b.text'); System.out.println(realPath1); //web目錄下的資源訪問 String realPath2 = servletContext.getRealPath('/c.text'); System.out.println(realPath2); }}

結果

深入了解Java ServletContext

3.獲得MIME類型

s什么是MIME類型,是在互聯網通信過程中定義等等一種文件數據類型格式:大類型/小類型 image/jpeg獲取: String getMimeType(String file)

代碼如下

import javax.servlet.RequestDispatcher;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('/ServletContext')public class ServletContext 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 { javax.servlet.ServletContext servletContext = this.getServletContext(); String filename='a.jpg'; String mimeType = servletContext.getMimeType(filename); System.out.println(mimeType); }}

結果

深入了解Java ServletContext

以上就是ServletContext對象的一些基礎知識,如有錯誤還請各位批評指正,喜歡我的文章可以點贊呀,也可以關注我,我會經常跟新文章

以上就是深入了解Java ServletContext的詳細內容,更多關于Java ServletContext的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
主站蜘蛛池模板: 免费在线观看a级毛片 | 国产精品黄大片在线播放 | 成人免费真人毛片视频 | 免费看一级a一片毛片 | 欧美一级视频免费观看 | 伊人久久精品亚洲精品一区 | 国产美女无遮挡免费网站 | 亚洲一级毛片免观看 | 看全大色黄大色黄大片一级爽 | 免费观看欧美一级高清 | 国产日韩精品一区在线观看播放 | 在线欧美成人 | 一级爱做片免费观看久久 | 伊人久久综合影院首页 | 日韩免费视频一区二区 | 日韩a无吗一区二区三区 | 看看黄色毛片 | 看免费黄色 | 伊人影院视频 | 91精品国产美女福到在线不卡 | 九九精品视频在线播放 | 性插影院 | 99久久综合狠狠综合久久aⅴ | 午夜精品久久久久久久久 | 日本三级黄色网址 | 黄色免费观看视频网站 | aaa国产 | 亚洲一区二区三区四区热压胶 | 伊人黄 | 久久久青草青青国产亚洲免观 | 欧美日韩精品一区二区三区不卡 | 美女视频黄a视频全免费网站一区 | 激情性生活视频在线播放免费观看 | 免费黄色国产视频 | 日本一级毛片在线播放 | 91aaa在线观看 | 精品999视频| 中文字幕在线观看一区 | 国产91福利在线精品剧情尤物 | 国产小说| 青草悠悠视频在线观看 |