getServletContext報錯

上面bug,源自在做圖片上傳時候用於定義獲取圖片存儲文件。

解決方案:

網上很多回答,都是說因爲Tomcat出了問題,因爲在Tomcat6以後,才支持servlet api 3.0,但是針對於上面bug的回答很片面,當你使用的是Tomcat8,那麼使用的方法應該是request.getSession().getServletContext().getRealPath("/")+"\\upload\\";

 

ServletContext接口中的方法      


Object getAttribute(String name)         返回servlet上下文中具有指定名字的對象,或使用已指定名捆綁一個對象。從Web應用的標準觀點看,這樣的對象是全局對象,  因爲它們可以被同一servlet在另一時刻訪問。或上下文中任意其他servlet訪問。 

      
void setAttribute(String name,Object obj)    設置servlet上下文中具有指定名字的對象。       


Enumeration getAttributeNames()      返回保存在servlet上下文中所有屬性名字的枚舉。 

      
ServletContext getContext(String uripath)    返回映射到另一URL的servlet上下文。在同一服務器中URL必須是以“/”開頭的絕對路徑。      

 
String getInitParameter(String name)    返回指定上下文範圍的初始化參數值。此方法與ServletConfig方法名稱不一樣,後者只應用於已編碼的指定servlet。此方法應用於上下文中所有的參數。 

      
Enumeration getInitParameterNames()    返回(可能爲空)指定上下文範圍的初始化參數值名字的枚舉值。       


int getMajorVersion()    返回此上下文中支持servlet API級別的最大和最小版本號。       


int getMinorVersion()           


String getMimeType(String fileName)    返回指定文件名的MIME類型。典型情況是基於文件擴展名,而不是文件本身的內容(它可以不必存在)。如果MIME類型未知,可以返回null。       


RequestDispatcher getNameDispatcher(String name)    返回具有指定名字或路徑的servlet或JSP的RequestDispatcher。如果不能創建RequestDispatch,返回null。

                                                                                          如果指定路徑,必須心“/”開頭,並且是相對於servlet上下文的頂部。       
RequestDispatcher getNameDispatcher(String path)        

   
String getRealPath(String path)                     給定一個URI,返回文件系統中URI對應的絕對路徑。如果不能進行映射,返回null。       


URL getResource(String path)                        返回相對於servlet上下文或讀取URL的輸入流的指定絕對路徑相對應的URL,如果資源不存在則返回null。     

  
InputStream getResourceAsStream(String path)           


String getServerInfo()    返順servlet引擎的名稱和版本號。      

 
void log(String message)


void log(String message,Throwable t)          將一個消息寫入servlet註冊,如果給出Throwable參數,則包含棧軌跡。     

  
void removeAttribute(String name)             從servlet上下文中刪除指定屬性。 

 

getServletContext()和getServletConfig()的意思

getServletConfig() 在servlet初始化時,容器傳遞進來一個ServletConfig對象並保存在servlet實例中,該對象允許訪問兩項內容:初始化參數和ServletContext對象,前者通常由容器在文件中指定,允許在運行時向sevrlet傳遞有關調度信息,比如說getServletConfig().getInitParameter("debug")後者爲servlet提供有關容器的信息。

 

getServletContext()和getServletConfig()的意思

getServletContext() 一個servlet可以使用getServletContext()方法得到web應用的servletContext 即而使用getServletContext的一些方法來獲得一些值 比如說getServletContext().getRealPath("/")來獲得系統絕對路徑 getServletContext().getResource("WEB-INF/config.xml")來獲得xml文件的內容。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章