手寫一個servlet可以幫助我們對於sevlet底層的實現有一個基本的認識,對於其目錄結構有一個深刻的瞭解,有助於我們開發中的調試。
寫個需求,利用Servlet網頁動態獲取當前時間。
本地Servlet的實現步驟:
1、在Tomacat 的webapp下面建立一個web應用,我們起名字叫做muniu,在該文件夾下。
2、在muniu文件夾下面建立一個文件夾WEB-INF,在WEB-INF裏面創建一個web.xml。(該web.xml可以從apache-tomcat-8.0.43\webapps\ROOT\WEB-INFF中拷貝)
3、根據Servlet規範部署Servlet.
在web.xml文件中添加以下代碼進行部署。同時更改掉其中的編碼機encoding
<!--將Servlet部署到web.xml-->
<servlet>
<!--Servlet的名字(可以自定義,一般與Servlet的名字一致)-->
<servlet-name>MuNiu</servlet-name>
<!--全名(包名+類名)-->
<servlet-class>com.sky.servlet.MuNiu</servlet-class>
</servlet>
<servlet-mapping>
<!--與上面的servlet-name保持一致-->
<servlet-name>MuNiu</servlet-name>
<!--我們訪問該servlet的資源名-->
<url-pattern>/MuNiu</url-pattern>
</servlet-mapping>
4、在WEB-INF目錄下建立一個classes文件夾用來存放sevlet(servlet是一個java程序)
package com.sky.servlet;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class MuNiu extends HttpServlet
{
//啓動函數
public void init(ServletConfig servletConfig) throws ServletException{
}
public ServletConfig getServletConfig(){
return null;
}
//交互服務
public void service(ServletRequest sq,ServletResponse sp) throws ServletException,IOException{
sp.getWriter().println("Current Time is"+new java.util.Date());
}
public java.lang.String getServletInfo(){
return null;
}
//摧毀函數
public void destroy(){
}
}
5、編譯servlet(javac -d . MuNiu.java)加上-d .可以講MuNiu.class編譯到對應的包目錄下:
6、啓動tomcat
7、在瀏覽器中啓動查詢:
以上是繼承Servlet接口實現的Servlet,實際我們的開發中,90%是根據繼承HttpServlet來寫的。
、===========動態網頁的特點:===================、
動態網頁並不是服務器上存在的網頁文件,而是當我們請求時,服務器才動態組裝返回的一個網頁。
動態網頁的內容往往是存放在數據庫中,根據用戶發出的不同請求而提供個性化的網頁內容。