servlet学习
一直想學習java web開發,但不知道從何著手,查閱了相關資料后決定從servlet開始學習。
一個最基本的 Java Web 項目所需的 jar 包只需要一個 servlet-api.jar,共有 2 個包,分別是 javax.servlet 和 javax.servlet.http。
Java Web 項目還需要一個非常重要的配置文件 web.xml,關于servlet部分的內容如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" ????"http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> ????<servlet> ????????<servlet-name>hello_world</servlet-name> ????????<servlet-class>demo.HelloServlet</servlet-class> ????????<load-on-startup>1</load-on-startup> ????</servlet> ????<servlet-mapping> ????????<servlet-name>hello_world</servlet-name> ????????<url-pattern>/hello</url-pattern> ????</servlet-mapping>? </web-app> javax.servlet 和 javax.servlet.http 這兩個包總共加起來也不過是三十四個接口和類。需要熟悉如下幾個接口:- HttpServlet
- ServetConfig
- ServletContext
- Filter
- FilterConfig
- FilterChain
- RequestDispatcher
- HttpServletRequest
- HttpServletResponse
- HttpSession
- 一些 Listenser 類
Servlet接口有五個方法,其用法如:public void init(ServletConfig config)throws ServletException
public void service(ServletRequest request,ServletResponse response)throws ServletException,java.io.IOException
public void destroy()
public ServletConfig getServletConfig()
public java.lang.String getServletInfo()
在Servlet的五個方法中,init,service和destroy是servlet的生命周期方法。在servlet類已經初始化之后,init方法將會被servlet容器所調用。servlet容器只調用一次,以此表明servlet已經被加載進服務中。init方法必須在servlet可以接受任何請求之前成功運行完畢。一個servlet程序員可以通過覆蓋這個方法來寫那些僅僅只要運行一次的初始化代碼,例如加載數據庫驅動,值初始化等等。在其他情況下,這個方法通常是留空的。servlet容器為servlet請求調用它的service方法。servlet容器傳遞一個javax.servlet.ServletRequest對象和javax.servlet.ServletResponse對象。ServletRequest對象包括客戶端的HTTP請求信息,而ServletResponse對象封裝servlet的響應。在servlet的生命周期中,service方法將會給調用多次。當從服務中移除一個servlet實例的時候,servlet容器調用destroy方法。這通常發生在servlet容器正在被關閉或者servlet容器需要一些空閑內存的時候。僅僅在所有servlet線程的service方法已經退出或者超時淘汰的時候,這個方法才被調用。service方法從ServletResponse對象獲得java.io.PrintWriter實例,并發送字符串到瀏覽器。
轉載于:https://www.cnblogs.com/fangfangJY/p/3867948.html
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
- 上一篇: 《javascript高级程序设计》第六
- 下一篇: 【SAS BASE】SCAN函数