Servlet之ServletContext创建对象和作用

本文介绍了ServletConfig对象的创建过程及ServletContext对象的功能,包括获取web上下文路径、全局参数、域对象操作、请求转发和读取项目资源文件等五个方面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,创建ServletConfig对象

ServletConfig对象叫servlet上下文对象。 一个网站只会创建一个ServletContext对象。代表的是整个网站的环境信息。

获取ServletContext对象必须要先获取ServletConfig对象,由此对象才可以获取ServletContext对象。

         伪代码:此伪代码能够说明为什么必须先获取ServletConfig对象。

                            ServletContext对象:启动的时候创建

                            ServletConfig对象:调用init方法之前创建的,在ServletContext对象创建之前

                                    

                                     publicServletCofig{

                                               ServletContextcontext;

                                               publicServletConfig(context){

                                                        this.context=context;

                                               }

                                               publicServetContxt getServletContext(){

                                                        return context;

                                               }

                                     }    

                                     ServletConfigconfig = new ServletConfig(context);

                            publicMyServlet extends HttpSevlet{

                                               publlicinit(ServletConfig config){

                                                        SevletContextcontext= config. getServletContext();

                                  }

                            }


2,ServletContext对象的作用(5个)

                            1)获取web的上下文路径

                                               java.lang.StringgetContextPath()                 

                            2)获取全局参数

                                               java.lang.StringgetInitParameter(java.lang.String name)           

                                               java.util.EnumerationgetInitParameterNames() 

                            3)和域对象相关的

                                               voidsetAttribute(java.lang.String name, java.lang.Object object) 

                                               java.lang.ObjectgetAttribute(java.lang.String name) 

                                               voidremoveAttribute(java.lang.String name)

 

                                               什么是域对象?

                                               域对象在不同的资源之间来共享数据。保存数据,获取数据。

                                    

                                              ServletContext就是我们学习的第一个域对象。

                                               Servlet三个域对象:

                                                                 ServletContext

                                                                 HttpServletRequest

                                                                 HttpSession                                                                                                

                            4)请求转发的

                                              RquestDispatcher getRequestDispatcher(java.lang.Stringpath)

                                     在servlet跳转页面:

                                     请求重定向:

                                               1)地址栏会发送改变,变成重定向到的地址。

                                               2)可以跳转到项目内的资源,也可以跳转项目外的资源

                                              3)浏览器向服务器发出两次请求,那么就不能使用请求来作为域对象来共享数据。

 

                                     请求转发:

                                               1)地址栏不会改变。

                                               2)只能跳转到项目内的资源,不能跳转到项目外的资源

                                               3)浏览器向服务器发出一次请求,那么可以使用请求作为域对象共享数据。

                                   

                            5)读取web项目的资源文件

                                               java.lang.StringgetRealPath(java.lang.String path) 

                                               java.io.InputStreamgetResourceAsStream(java.lang.String path) 

                                               java.net.URLgetResource(java.lang.String path)  




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值