1. Servlet其實是一個java類,用來處理jsp頁面提交的請求。
2. 繼承javax.servlet.http包中的HttpServlet
3. 重寫doGet()或者doPost()方法
4. 按照tomcat的應程程序目錄約定組裝應用程序
WebApp
WEB_INF
Classes
Lib
Web.xml
5. 定義servlet與請求url地址的映射
<servlet>
<servlet-name>servlet04</servlet-name>
<servlet-class>cn.com.leadfar.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet04</servlet-name>
<url-pattern>/servlet/lifeCycle</url-pattern>
</servlet-mapping>
6 web請求響應過程
Jsp是一個Servlet
因爲Tomcat服務器將.jsp頁面解釋成了.java文件,文件中的類繼承自org.apache.jasper.runtime.HttpJspBase,此類是HttpServlet的子類,故Jsp是一個Servlet。
index.jsp經解釋保存到E:\eclipse\.metadata\.me_tcat\work\Catalina\localhost\CarProject3\org\apache\jsp\index_jsp.java路徑中
.jsp中的html語言被服務器解釋後由 JspWriter 類實例化對象的方法寫入。代碼如下
JspWriter out = null;
out = pageContext.getOut();
out.write("\r\n");
out.write("\r\n");
out.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\r\n");
out.write("<html>\r\n");
out.write(" <head>\r\n");
out.write(" <base href=\"");
out.print(basePath);
out.write("\">\r\n");
out.write(" \r\n");
out.write(" <title>My JSP 'index.jsp' starting page</title>\r\n");
out.write("\t<meta http-equiv=\"pragma\" content=\"no-cache\">\r\n");
out.write("\t<meta http-equiv=\"cache-control\" content=\"no-cache\">\r\n");
out.write("\t<meta http-equiv=\"expires\" content=\"0\"> \r\n");
out.write("\t<meta http-equiv=\"keywords\" content=\"keyword1,keyword2,keyword3\">\r\n");
out.write("\t<meta http-equiv=\"description\" content=\"This is my page\">\r\n");
out.write("\t<!--\r\n");
out.write("\t<link rel=\"stylesheet\" type=\"text/css\" href=\"styles.css\">\r\n");
out.write("\t-->\r\n");
out.write("\t");