生活随笔
收集整理的這篇文章主要介紹了
【传智播客】Javaweb程序设计任务教程 黑马程序员 第三章 课后答案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
所有章節答案合集——>傳送門
【測一測】
學習完前面的內容,下面來動手測一測吧,請思考以下問題:
1、請列舉Servlet接口中的方法,并分別說明這些方法的特點及其作用。
2、簡述ServletContext接口的三個主要作用。
3、編寫一個servlet,實現統計網站被訪問次數的功能。
4、請編寫一段程序,使程序能讀取該servlet的配置信息,從中獲得參數名為encoding對應的參數值,并輸出到頁面上。
【答案】
1、Servlet接口中有init、service、destroy 、getServletConfig和getServletInfo這 5個方法,這些方法的特點及其作用具體如下:
init(ServletConfig config)方法,該方法在服務器對Servlet第一次訪問時調用,負責Servlet初始化工作。在一個Servlet的生命周期中只執行一次。該方法接收一個ServletConfig類型的參數,Servlet容器可以通過這個參數向Servlet傳遞初始化配置信息。service(ServletRequest request,ServletResponse response)方法,該方法負責響應用戶的請求,當容器接收到客戶端訪問Servlet對象的請求時,就會調用此方法。destroy()方法,該方法方法負責釋放Servlet對象占用的資源。當Servlet對象被銷毀時,容器會調用此方法。getServletConfig()方法,該方法返回容器調用init(ServletConfig config)方法時傳遞給Servlet的ServletConfig對象。getServletInfo()方法,該方法返回一個字符串,其中包含了關于Servlet的信息,例如,作者、版本和版權等信息。
2、ServletContext接口的三個主要作用如下:
1)獲取Web應用程序的初始化參數
2)實現多個Servlet對象共享數據
3)讀取Web應用下的資源文件
3、實現步驟如下:
1)新建一個類ShowTimesServlet繼承HttpServlet,重寫doGet和doPost方法
2)在doPost方法中調用doGet方法,在doGet方法中實現統計網站被訪問次數的功能,用戶每請求一次Servlet,使訪問次數times加1
3)獲取ServletContext,通過它的功能記住上一次訪問后的次數
(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("頁面訪問統計");out
.println("</title></head><body>");out
.println("當前頁面被訪問了");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、實現代碼如下:
(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>
整理不易, 如果對你產生了幫助, 請給博主一個贊哦, 大家的點贊是我創作的最大動力。
總結
以上是生活随笔為你收集整理的【传智播客】Javaweb程序设计任务教程 黑马程序员 第三章 课后答案的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。