servlet到底屬于MVC的哪一層?
JavaWeb開發中Servlet是屬于控制層最底端的部分的 ,也就是MVC c的最底層。
他往往用來處理請求的。
他的外一層就是View、他的一層就是Service(Servlet往往調用他做邏輯判斷的操作) 原始的Servlet的生命周期 servlet在第一次訪問的時候就會被初始化 servlet對象一旦被創建就會駐留在內存中,當服務器關閉或者web應用被移除的時候servlet對象才銷毀
1:當servlet被創建的時候那么 servlet就會被初始化 調用init方法
2:任何請求來自客戶端,service方法就會被自動調用
3:當servlet從服務器被移除的時候 distroy方法將會被調用 如下是一個原始的Servlet代碼(這并不是現在開發一貫的做法,請往下看)
ServletConfig
getServletConfig 方法 用來獲得servlet的啟動信息,和getServletInfo方法 可以活的servlet的基本信息,和關于它自己的一些信息,例如作者,版本,版權等
為Servlet設置初始參數要在web.xml中配置(只對當前servlet有效)
如下是在Web.xml中為當前servlet配置初始化參數的。
ServletCofig對象可以通過this.getServletConfig來獲得,因為在父類中已經在獲得了ServletConfig對象;也可以servletconfig對象可以通過父類的init方法內穿過來的config對象獲取。
ServletContext
通常我們稱ServletContext叫Application對象 。也叫域對象。
Servlet引擎為每個WEB應用程序都創建一個對應的ServletContext對象,ServletContext對象被包含在ServletConfig對象中,調用ServletConfig.getServletContext方法可以返回
通常獲得ServletContext的方法是直接getservletcontext 因為在父類中已經定義了這樣的方法,子類直接繼承使用。
ServletContext對象的引用。getServletContext().getInitParameter("a") 的方式獲得web應用的初始化參數
我們還可以為整個web應用配置初始化參數
Request & Response
基本servlet 中service的方法的request 和 response 對象分別是
RequestFacade 和 ResponseFacade 這個類是Tomcat中的類 他繼承自HttpServletRequest而 HttpServletRequest 又繼承 ServletRequest(Response同理)
一些常用方法:
request.getRequestURL(); 獲得URl
request.getHeader("accept-encoding"); 獲得支持的壓縮格式
request.getHeader("referer"); 獲得來自哪里(防盜鏈)
request.getInputStream(); 獲得消息體
request.getParameter("name") 獲得參數
如下是現代開發中常用的Servlet