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");