日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

servlet学习

發布時間:2024/4/14 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 類
其中,HttpServletRequest 和 HttpServletResponse 尤其需要了解。 servlet應用程序體系結構為: 注意:因為容器是通過Java的反射API來創建Servlet實例,調用的是Servlet的默認構造方法(即不帶參數的構造方法),所以我們在編寫Servlet類的時候,不應該提供帶參數的構造方法。 Servlet的生命周期示意圖為: Servlet 規范里還有另外一個非常重要而且非常有用的接口那就是 Filter 過濾器。在 web.xml 中Filter的配置必須放在 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> ????<filter> ????????<filter-name>helloFilter</filter-name> ????????<filter-class>demo.HelloFilter</filter-class> ????</filter> ????<filter-mapping> ????????<filter-name>helloFilter</filter-name> ????????<url-pattern>/*</url-pattern> ????</filter-mapping> ????? ????<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>

  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年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的servlet学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。