电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

深入了解Java ServletContext

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

什么是ServletContext?

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

深入了解Java ServletContext

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

深入了解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部署到服務(wù)器上,啟動服務(wù)器,此時上下文環(huán)境對象創(chuàng)建,只要tomcat服務(wù)器不關(guān)閉,上下文環(huán)境對象就一直存在

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

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

方法一:

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

方法二:

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

方法三:

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

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

1.是一個域?qū)ο?

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

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

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

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

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

真實路徑:即部署在服務(wù)器是的路徑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); }}

結(jié)果

深入了解Java ServletContext

3.獲得MIME類型

s什么是MIME類型,是在互聯(lián)網(wǎng)通信過程中定義等等一種文件數(shù)據(jù)類型格式:大類型/小類型 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對象的一些基礎(chǔ)知識,如有錯誤還請各位批評指正,喜歡我的文章可以點贊呀,也可以關(guān)注我,我會經(jīng)常跟新文章

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

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 南方珠江-南方一线电缆-南方珠江科技电缆-南方珠江科技有限公司 南汇8424西瓜_南汇玉菇甜瓜-南汇水蜜桃价格 | 阿尔法-MDR2000无转子硫化仪-STM566 SATRA拉力试验机-青岛阿尔法仪器有限公司 | AR开发公司_AR增强现实_AR工业_AR巡检|上海集英科技 | 高防护蠕动泵-多通道灌装系统-高防护蠕动泵-www.bjhuiyufluid.com慧宇伟业(北京)流体设备有限公司 | 股指期货-期货开户-交易手续费佣金加1分-保证金低-期货公司排名靠前-万利信息开户 | HDPE储罐_厂家-山东九州阿丽贝防腐设备 | 锥形螺带干燥机(新型耙式干燥机)百科-常州丰能干燥工程 | 搪瓷搅拌器,搪玻璃搅拌器,搪玻璃冷凝器_厂家-淄博越宏化工设备 | 视觉检测设备_自动化检测设备_CCD视觉检测机_外观缺陷检测-瑞智光电 | 除湿机|工业除湿机|抽湿器|大型地下室车间仓库吊顶防爆除湿机|抽湿烘干房|新风除湿机|调温/降温除湿机|恒温恒湿机|加湿机-杭州川田电器有限公司 | 制丸机,小型中药制丸机,全自动制丸机价格-甘肃恒跃制药设备有限公司 | 商用绞肉机-熟肉切片机-冻肉切丁机-猪肉开条机 - 广州市正盈机械设备有限公司 | 石英粉,滑石粉厂家,山东滑石粉-莱州市向阳滑石粉有限公司 | 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 悬浮拼装地板_幼儿园_篮球场_悬浮拼接地板-山东悬浮拼装地板厂家 | 电脑知识|软件|系统|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网 | Akribis直线电机_直线模组_力矩电机_直线电机平台|雅科贝思Akribis-杭州摩森机电科技有限公司 | 船老大板材_浙江船老大全屋定制_船老大官网 | 真空上料机(一种真空输送机)-百科 | 农业四情_农业气象站_田间小型气象站_智慧农业气象站-山东风途物联网 | 钢格栅板_钢格板网_格栅板-做专业的热镀锌钢格栅板厂家-安平县迎瑞丝网制造有限公司 | 无尘烘箱_洁净烤箱_真空无氧烤箱_半导体烤箱_电子防潮柜-深圳市怡和兴机电 | LZ-373测厚仪-华瑞VOC气体检测仪-个人有毒气体检测仪-厂家-深圳市深博瑞仪器仪表有限公司 | 政府园区专业委托招商平台_助力企业选址项目快速落地_东方龙商务集团 | 塑料脸盆批发,塑料盆生产厂家,临沂塑料广告盆,临沂家用塑料盆-临沂市永顺塑业 | 番茄畅听邀请码怎么输入 - Dianw8.com | 菲希尔FISCHER测厚仪-铁素体检测仪-上海吉馨实业发展有限公司 | 破碎机锤头_耐磨锤头_合金锤头-鼎成机械一站式耐磨铸件定制服务 微型驱动系统解决方案-深圳市兆威机电股份有限公司 | 济南网站策划设计_自适应网站制作_H5企业网站搭建_济南外贸网站制作公司_锐尚 | 媒介云-全网整合营销_成都新闻媒体发稿_软文发布平台 | NMRV减速机|铝合金减速机|蜗轮蜗杆减速机|NMRV减速机厂家-东莞市台机减速机有限公司 | 陕西鹏展科技有限公司| 铁艺,仿竹,竹节,护栏,围栏,篱笆,栅栏,栏杆,护栏网,网围栏,厂家 - 河北稳重金属丝网制品有限公司 山东太阳能路灯厂家-庭院灯生产厂家-济南晟启灯饰有限公司 | 综合管廊模具_生态,阶梯护坡模具_检查井模具制造-致宏模具厂家 | 杭州火蝠电商_京东代运营_拼多多全托管代运营【天猫代运营】 | 低浓度恒温恒湿称量系统,强光光照培养箱-上海三腾仪器有限公司 | 偏心半球阀-电动偏心半球阀-调流调压阀-旋球阀-上欧阀门有限公司 | Type-c防水母座|贴片母座|耳机接口|Type-c插座-深圳市步步精科技有限公司 | 三佳互联一站式网站建设服务|网站开发|网站设计|网站搭建服务商 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 绿萝净除甲醛|深圳除甲醛公司|测甲醛怎么收费|培训机构|电影院|办公室|车内|室内除甲醛案例|原理|方法|价格立马咨询 |