国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

深入了解Java ServletContext

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

什么是ServletContext?

根據(jù)字面意思即Servlet上下文

深入了解Java ServletContext

服務(wù)器會(huì)為每一個(gè)工程創(chuàng)建一個(gè)對(duì)象,這個(gè)對(duì)象就是ServletContext對(duì)象,這個(gè)對(duì)象是全局唯一的,工程內(nèi)部的所有servlet都共享這個(gè)對(duì)象,所有應(yīng)用程序共享對(duì)象

深入了解Java ServletContext

下面用一段簡(jiǎn)單的代碼來(lái)證明一下

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對(duì)象的生命周期

誕生:web部署到服務(wù)器上,啟動(dòng)服務(wù)器,此時(shí)上下文環(huán)境對(duì)象創(chuàng)建,只要tomcat服務(wù)器不關(guān)閉,上下文環(huán)境對(duì)象就一直存在

銷(xiāo)毀:關(guān)閉服務(wù)器或者是從web服務(wù)器上卸載該程序的時(shí)候,該對(duì)象銷(xiāo)毀

怎么創(chuàng)建ServletContext對(duì)象?

方法一:

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

方法二:

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

方法三:

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

ServletContext對(duì)象的作用與相關(guān)方法

1.是一個(gè)域?qū)ο?

什么是域:域其實(shí)就是一個(gè)map結(jié)構(gòu),及存入一個(gè)鍵值對(duì),來(lái)存儲(chǔ)獲取數(shù)據(jù)作用范圍:本工程內(nèi)部域?qū)ο罂梢员槐竟こ虄?nèi)所有的servlet對(duì)象共享,因?yàn)橐粋€(gè)工程只有一個(gè)servletcontext對(duì)象

方法介紹:存儲(chǔ)數(shù)據(jù): void setAttribute(String var1, Object var2);

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

獲取數(shù)據(jù): Object getAttribute(String var1);1.由于取出的是一個(gè)Object類(lèi)型,需要強(qiáng)轉(zhuǎn)2.如果指定的屬性名不存在,則返回null

2.可以獲取文件的真實(shí)路徑

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

不同目錄下訪(fǎng)問(wèn)資源的方式不同

//src下的資源訪(fǎng)問(wèn) String realPath = servletContext.getRealPath('/WEB-INF/classes/a.text'); System.out.println(realPath);//WEB-INF下的資源訪(fǎng)問(wèn) String realPath1 = servletContext.getRealPath('/WEB-INF/b.text'); System.out.println(realPath1); //web目錄下的資源訪(fǎng)問(wèn) 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下的資源訪(fǎng)問(wèn) String realPath = servletContext.getRealPath('/WEB-INF/classes/a.text'); System.out.println(realPath); //WEB-INF下的資源訪(fǎng)問(wèn) String realPath1 = servletContext.getRealPath('/WEB-INF/b.text'); System.out.println(realPath1); //web目錄下的資源訪(fǎng)問(wèn) String realPath2 = servletContext.getRealPath('/c.text'); System.out.println(realPath2); }}

結(jié)果

深入了解Java ServletContext

3.獲得MIME類(lèi)型

s什么是MIME類(lèi)型,是在互聯(lián)網(wǎng)通信過(guò)程中定義等等一種文件數(shù)據(jù)類(lèi)型格式:大類(lèi)型/小類(lèi)型 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); }}

結(jié)果

深入了解Java ServletContext

以上就是ServletContext對(duì)象的一些基礎(chǔ)知識(shí),如有錯(cuò)誤還請(qǐng)各位批評(píng)指正,喜歡我的文章可以點(diǎn)贊呀,也可以關(guān)注我,我會(huì)經(jīng)常跟新文章

以上就是深入了解Java ServletContext的詳細(xì)內(nèi)容,更多關(guān)于Java ServletContext的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 99久久免费看国产精品 | 久久亚洲国产精品五月天 | 亚洲一区二区三区欧美 | 新26uuu在线亚洲欧美 | 国产精品亚洲精品一区二区三区 | 免费一级毛片女人图片 | 一区二区中文字幕亚洲精品 | 99精品久久99久久久久 | 中文字幕在线成人免费看 | 亚欧精品在线观看 | 日本aaaaa级毛片 | 亚洲精品手机在线观看 | 国产一级毛片亚洲久留木玲 | 91国在线啪精品一区 | 天天夜夜久久 | 成人影院欧美大片免费看 | www.黄免费| 亚洲精品高清国产麻豆专区 | yy6080福利午夜免费观看 | 国产精品久久久久久久久福利 | 国产大乳喷奶水在线看 | 欧美成人一区二区三区 | 99久久99久久久99精品齐 | 12一15女人a毛片 | 午夜大片免费男女爽爽影院久久 | 亚洲看片网站 | 性做久久久久免费看 | 亚洲精品高清在线 | 国产精品漂亮美女在线观看 | 女人张开双腿让男人桶完整 | 性欧美video另类bd | 国产成人亚洲精品91专区高清 | 特级做a爰片毛片免费看 | 一级一片免费视频播放 | 久久久国产精品免费 | 欧美日韩一级大片 | 一区二区国产在线播放 | 九九99香蕉在线视频免费 | 国产精品久草 | 超91在线| 欧美+日本+国产+在线观看 |