日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

servlet中servletContext的五大作用(一)

發布時間:2025/3/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 servlet中servletContext的五大作用(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 獲取web的上下文路徑
  • 獲取全局的參數
  • 作為域對象使用
  • 請求轉發
  • 讀取web項目的資源文件
  • package day10.about_servletcontext.get_path; /*** 首先區別:* 一個網站只有一個ServletContext對象* 而每一個Servlet都有一個ServletConfig對象* * 但是我們拿Context對象的話,其實是通過Config對象去* 拿的,因為每一個ServletConfig中都有一個ServletContext* 的成員變量;* * 其次因為ServletConfig是在ServletContext之前創建的;* 因為ServletContext是在啟動的時候創建的* 而ServletConfig對象是在調用init方法之前創建的。 * java中獲取ServletContext的常見方法1.在javax.servlet.Filter中直接獲取 ServletContext context = config.getServletContext(); 2.在HttpServlet中直接獲取 this.getServletContext() 3.在其他方法中,通過HttpRequest獲得 request.getSession().getServletContext(); */ import java.io.IOException;import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /*** 【context對象的作用—1】:獲取web的上下文路徑* getContextPath();* * * @author mzy**/ public class ContextDemo01 extends HttpServlet {private static final long serialVersionUID = -4556050230938613373L;public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");// 1.1:首先要獲取到ServletContext對象/** 這種方法原則上沒有錯:* 因為加載的順序上是config在context之前* 并且context必須通過config對象來獲取,* 但是java設計者為了簡化我們的代碼,* 在源碼中重新寫了這部分;* * 他將* this.getServletConfig().getServletContext();* 封裝到了源碼的 getServletContext()的方法中了;* 但是我們還是需要記得獲取context對象必須要獲得* config對象;* * 獲得context對象,必須要通過config對象來獲取;* * 以下只是代碼的簡化而已* */// ServletContext context = this.getServletConfig().getServletContext();ServletContext context = this.getServletContext();String path = context.getContextPath();System.out.println(path);/** 以上就是上下文路徑:但是需要注意的是,當我們在eclipse或者myeclipse中修改* 項目名稱的時候,我們修改了之后其實它的上下文路徑是沒有變的;* 比如我們原來項目叫做 myday09,修改為myday10之后,我們run這個項目下的文件* 最后跑出來的時候,可以看見項目名依舊是myday09,所以這個時候的context我們* 需要去tomcat中改文件夾名稱,或者:右鍵項目Properties-->myeclipse-->web* -->context root 修改* * 當然新版本的myeclipse中沒有這種問題,但是老版的myeclipse和eclipse中可能* 存在這種問題需要注意*/// String path = context.getContextPath(); 獲取上下文路徑的好處??// 主要表現在做請求重定向的時候response.sendRedirect("/MyFirstServlet/hello.html");// 作用可以讓這個獲取文件的路徑更加的靈活response.sendRedirect(context.getContextPath() + "/hello.html");}public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");}}

    轉載于:https://www.cnblogs.com/mzywucai/p/11053521.html

    總結

    以上是生活随笔為你收集整理的servlet中servletContext的五大作用(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。