生活随笔
收集整理的這篇文章主要介紹了
【传智播客】Javaweb程序设计任务教程 黑马程序员 第三章 课后答案
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
所有章節(jié)答案合集——>傳送門
【測(cè)一測(cè)】
學(xué)習(xí)完前面的內(nèi)容,下面來(lái)動(dòng)手測(cè)一測(cè)吧,請(qǐng)思考以下問(wèn)題:
1、請(qǐng)列舉Servlet接口中的方法,并分別說(shuō)明這些方法的特點(diǎn)及其作用。
2、簡(jiǎn)述ServletContext接口的三個(gè)主要作用。
3、編寫一個(gè)servlet,實(shí)現(xiàn)統(tǒng)計(jì)網(wǎng)站被訪問(wèn)次數(shù)的功能。
4、請(qǐng)編寫一段程序,使程序能讀取該servlet的配置信息,從中獲得參數(shù)名為encoding對(duì)應(yīng)的參數(shù)值,并輸出到頁(yè)面上。
【答案】
1、Servlet接口中有init、service、destroy 、getServletConfig和getServletInfo這 5個(gè)方法,這些方法的特點(diǎn)及其作用具體如下:
init(ServletConfig config)方法,該方法在服務(wù)器對(duì)Servlet第一次訪問(wèn)時(shí)調(diào)用,負(fù)責(zé)Servlet初始化工作。在一個(gè)Servlet的生命周期中只執(zhí)行一次。該方法接收一個(gè)ServletConfig類型的參數(shù),Servlet容器可以通過(guò)這個(gè)參數(shù)向Servlet傳遞初始化配置信息。service(ServletRequest request,ServletResponse response)方法,該方法負(fù)責(zé)響應(yīng)用戶的請(qǐng)求,當(dāng)容器接收到客戶端訪問(wèn)Servlet對(duì)象的請(qǐng)求時(shí),就會(huì)調(diào)用此方法。destroy()方法,該方法方法負(fù)責(zé)釋放Servlet對(duì)象占用的資源。當(dāng)Servlet對(duì)象被銷毀時(shí),容器會(huì)調(diào)用此方法。getServletConfig()方法,該方法返回容器調(diào)用init(ServletConfig config)方法時(shí)傳遞給Servlet的ServletConfig對(duì)象。getServletInfo()方法,該方法返回一個(gè)字符串,其中包含了關(guān)于Servlet的信息,例如,作者、版本和版權(quán)等信息。
2、ServletContext接口的三個(gè)主要作用如下:
1)獲取Web應(yīng)用程序的初始化參數(shù)
2)實(shí)現(xiàn)多個(gè)Servlet對(duì)象共享數(shù)據(jù)
3)讀取Web應(yīng)用下的資源文件
3、實(shí)現(xiàn)步驟如下:
1)新建一個(gè)類ShowTimesServlet繼承HttpServlet,重寫doGet和doPost方法
2)在doPost方法中調(diào)用doGet方法,在doGet方法中實(shí)現(xiàn)統(tǒng)計(jì)網(wǎng)站被訪問(wèn)次數(shù)的功能,用戶每請(qǐng)求一次Servlet,使訪問(wèn)次數(shù)times加1
3)獲取ServletContext,通過(guò)它的功能記住上一次訪問(wèn)后的次數(shù)
(1)ShowTimesServlet類的編寫如下:
public class ShowTimesServlet extends HttpServlet {private static final long serialVersionUID
= 1L
;protected void doGet(HttpServletRequest req
, HttpServletResponse resp
)throws ServletException
, IOException
{ServletContext context
= getServletContext();Integer times
= (Integer
) context
.getAttribute("times");if (times
== null
) {times
= new Integer(1);} else {times
= new Integer(times
.intValue() + 1);}resp
.setContentType("text/html;charset=GB2312");PrintWriter out
=resp
.getWriter(); out
.println("<html><head><title>");out
.println("頁(yè)面訪問(wèn)統(tǒng)計(jì)");out
.println("</title></head><body>");out
.println("當(dāng)前頁(yè)面被訪問(wèn)了");out
.println("<font color=red size=20>"+times
+"</font>次");context
.setAttribute("times",times
);}protected void doPost(HttpServletRequest req
, HttpServletResponse resp
)throws ServletException
, IOException
{this.doGet(req
, resp
);}
}
(2)web.xml配置信息如下:
ShowTimesServlet cn.itcast.chapter03.servlet.ShowTimesServlet ShowTimesServlet /ShowTimesServlet
4、實(shí)現(xiàn)代碼如下:
(1)TestServlet類如下:
public class TestServlet extends HttpServlet {protected void doGet(HttpServletRequest request
,HttpServletResponse response
) throws ServletException
, IOException
{PrintWriter out
= response
.getWriter();ServletConfig config
= this.getServletConfig();String param
= config
.getInitParameter("encoding");out
.println("encoding=" + param
);}protected void doPost(HttpServletRequest request
,HttpServletResponse response
) throws ServletException
, IOException
{this.doGet(request
, response
);}
}
(2)web.xml文件配置如下:
<servlet><servlet-name>TestServlet
</servlet-name><servlet-class>cn.itcast.chapter03.servlet.TestServlet
</servlet-class><init-param><param-name>encoding
</param-name><param-value>UTF-8
</param-value></init-param></servlet>
<servlet-mapping><servlet-name>TestServlet
</servlet-name><url-pattern>/TestServlet
</url-pattern>
</servlet-mapping>
整理不易, 如果對(duì)你產(chǎn)生了幫助, 請(qǐng)給博主一個(gè)贊哦, 大家的點(diǎn)贊是我創(chuàng)作的最大動(dòng)力。
總結(jié)
以上是生活随笔為你收集整理的【传智播客】Javaweb程序设计任务教程 黑马程序员 第三章 课后答案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。