标签:
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1.Servlet介绍:是一个java类,但是部署在servlet容器(如 tomcat)中
1)Java Servlet是和平台无关的服务器端组件,它运 行在Servlet容器中。Servlet容器负责Servlet和 客户的通信以及调用Servlet的方法,Servlet和客 户的通信采用“请求/响应”的模式。
2)Servlet可完成如下功能:
> 创建并返回基于客户请求的动态HTML页面
> 创建可嵌入到现有HTML 页面中的部分HTML 页面(HTML 片段)
> 与其它服务器资源(如数据库或基于Java的应用程序)进行通信
3)servlet容器响应客户端请求的过程(容器可以创建,销毁一个servlet,掌控servlet的声明周期)
过程分析:
① Servlet引擎检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第④步,否则,执行第②步;
② 装载并创建该Servlet的一个实例对象:调用该 Servlet 的构造器;
③ 调用Servlet实例对象的init()方法;
④ 创建一个用于封装请求的ServletRequest对象和一个代表响应消息的ServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去;
⑤ WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法
4)Servlet的API
5)创建servlet实例hello
①helloServlet代码:继承Servlet, 重写方法
1 package com.jason.javaweb;
2
3 import java.io.IOException;
4
5 import javax.servlet.Servlet;
6 import javax.servlet.ServletConfig;
7 import javax.servlet.ServletException;
8 import javax.servlet.ServletRequest;
9 import javax.servlet.ServletResponse;
10
11 public class helloServlet implements Servlet {
12
13 @Override
14 public void destroy() {
15 System.out.println("destroy ...");
16 }
17
18 @Override
19 public ServletConfig getServletConfig() {
20 System.out.println("getServletConfig");
21 return null;
22 }
23
24 @Override
25 public String getServletInfo() {
26 System.out.println("getServletInfo");
27 return null;
28 }
29
30 @Override
31 public void init(ServletConfig arg0) throws ServletException {
32 System.out.println("init");
33
34 }
35
36 @Override
37 public void service(ServletRequest arg0, ServletResponse arg1)
38 throws ServletException, IOException {
39 System.out.println("service");
40 }
41
42 public helloServlet() {
43 System.out.println("HelloServlet constructor ");
44 }
45
46 }
②配置/javaWEB/WebContent/WEB-INF/web.xml 实现通过浏览器去访问一个Servlet的java类
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xmlns="http://java.sun.com/xml/ns/javaee" 4 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 5 id="WebApp_ID" version="3.0"> 6 7 <!-- 配置servlet 和 映射 servlet --> 8 <servlet>
9 <!-- Servlet 的注册名 --> 10 <servlet-name>helloServlet</servlet-name>
11 <!-- Servlet 的全类名 --> 12 <servlet-class>com.jason.javaweb.helloServlet</servlet-class>
13 </servlet> 14 15 <servlet-mapping>
16 <!-- 需要和某一个Servlet 节点的servlet-name 子节点的文本节点一直 --> 17 <servlet-name>helloServlet</servlet-name>
18 <!-- 映射具体的访问路径,其中 / 代表当前的WEB应用的根目录 --> 19 <url-pattern>/hello</url-pattern>
20 </servlet-mapping> 21 22 </web-app>
2.总结
1)本部分要理解关于xml的配置:servlet的注册,映射的配置,实现浏览器访问servlet的java类
2)知道servlet的执行过程:构造器 -> init -> service -> destroy
[原创]java WEB学习笔记04:Servlet 简介及第一个Servlet程序
标签:
原文地址:http://www.cnblogs.com/jasonHome/p/5492765.html