第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JavaWeb開發(fā)中Servlet是那一層以及用法

JavaWeb開發(fā)中Servlet是那一層以及用法

冉冉說 2019-05-11 07:03:50
JavaWeb開發(fā)中Servlet是那一層以及用法
查看完整描述

2 回答

?
慕森卡

TA貢獻1806條經(jīng)驗 獲得超8個贊

JavaWeb開發(fā)中Servlet是屬于控制層最底端的部分的 ,也就是MVC c的最底層。

他往往用來處理請求的。他的外一層就是View、他的一層就是Service(Servlet往往調(diào)用他做邏輯判斷的操作)

原始的Servlet的生命周期

servlet在第一次訪問的時候就會被初始化

servlet對象一旦被創(chuàng)建就會駐留在內(nèi)存中,當(dāng)服務(wù)器關(guān)閉或者web應(yīng)用被移除的時候servlet對象才銷毀

1:當(dāng)servlet被創(chuàng)建的時候那么 servlet就會被初始化 調(diào)用init方法

2:任何請求來自客戶端,service方法就會被自動調(diào)用

3:當(dāng)servlet從服務(wù)器被移除的時候 distroy方法將會被調(diào)用

如下是一個原始的Servlet代碼(這并不是現(xiàn)在開發(fā)一貫的做法,請往下看)

1

2

3

4

5

6

7

8

9

10

11

import javax.servlet.*;

class FirstServlet 

extends GenericServlet {

    public void 

service(ServletRequest request, ServletResponse response)

            throws ServletException, java.io.IOException 

{

        response.getWriter().write("hello 

servlet");

    }

}

ServletConfig

    getServletConfig 方法 用來獲得servlet的啟動信息,和getServletInfo方法 可以活的servlet的基本信息,和關(guān)于它自己的一些信息,例如作者,版本,版權(quán)等

    為Servlet設(shè)置初始參數(shù)要在web.xml中配置(只對當(dāng)前servlet有效)

如下是在Web.xml中為當(dāng)前servlet配置初始化參數(shù)的。

1

2

3

4

5

6

7

8

9

10

11

12

13

<servlet>

    <servlet-name>ServletConfigDemo</servlet-name>

    <servlet-class> 

cn.itcast.servlet.ServletConfigDemo     </servlet-class>

    <init-param>

        <param-name>encoding</param-name>

        <param-value>utf-8</param-value>

    </init-param>

    <init-param>

        <param-name>encoding2</param-name>

        <param-value>utf-9</param-value>

    </init-param>

</servlet>

ServletCofig對象可以通過this.getServletConfig來獲得,因為在父類中已經(jīng)在獲得了ServletConfig對象;也可以servletconfig對象可以通過父類的init方法內(nèi)穿過來的config對象獲取

1

2

3

    public void init(ServletConfig config) throws ServletException {        this.config = 

config;        this.init();    }    public ServletConfig getServletConfig() 

{        return config;    }

ServletContext 

    

    通常我們稱ServletContext叫Application對象 。也叫域?qū)ο?/p>

    Servlet引擎為每個WEB應(yīng)用程序都創(chuàng)建一個對應(yīng)的ServletContext對象,ServletContext對象被包含在ServletConfig對象中,調(diào)用ServletConfig.getServletContext方法可以返回

通常獲得ServletContext的方法是直接getservletcontext 因為在父類中已經(jīng)定義了這樣的方法,子類直接繼承使用

ServletContext對象的引用。getServletContext().getInitParameter("a") 的方式獲得web應(yīng)用的初始化參數(shù)

我們還可以為整個web應(yīng)用配置初始化參數(shù)

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") 獲得參數(shù)

如下是現(xiàn)代開發(fā)中常用的Servlet

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

public class 

UpLoadServlet extends HttpServlet 

{

    public void doGet(HttpServletRequest request, 

HttpServletResponse response)

            throws ServletException, IOException 

{

    }

    public void 

doPost(HttpServletRequest request, HttpServletResponse 

response)

            throws 

ServletException, IOException {

        doGet(request, 

response);

    }

}

    




查看完整回答
反對 回復(fù) 2019-05-12
?
狐的傳說

TA貢獻1804條經(jīng)驗 獲得超3個贊

ervlet屬于MVC結(jié)構(gòu)中的控制層,也就是連接頁面和數(shù)據(jù)庫的那個層次。
擴展:
m(model)模型,代表的是數(shù)據(jù)庫層,通常用到的是:oracle、db2、mysql等sql知識;
v(view)視圖,代表的是頁面(相關(guān)),通常用到的是:html5、jsp,js等頁面知識;
c(Controller)控制,代表的控制器,通常用到一些框架知識,如ssh(struts,spring,hibernate)。
備注:mvc實際上是一個很寬泛的內(nèi)容,根據(jù)用到的技術(shù)不同,需要實現(xiàn)的業(yè)務(wù)邏輯不一樣,所以靈活開發(fā)配置即可。



查看完整回答
反對 回復(fù) 2019-05-12
  • 2 回答
  • 0 關(guān)注
  • 1195 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號