标签:
第一个Servlet程序
一、Servlet简介
Java Servlet是和平台无关的服务器端组件,它运行在Servlet容器中。Servler容器负责Servlet和客户的通信以及调用Servlet的方法,Servlet和客户的通信采用"请求/响应"的模式
Servlet可完成如下功能:
-- 创建并返回基于客户请求的动态HTML页面
-- 创建可嵌入到现有HTML页面中的部分HTML页面(HTML片段)
-- 与其他服务器资源(如数据库或基于Java的应用程序)进行通信
二、Servlet容器相应客户端请求的过程
① Servlet引擎检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第④步,否则,执行第②步
②装载并创建该Servlet的一个实例对象:调用该Servlet的构造器
③调用Servlet实例对象的init()方法
④创建一个用于封装请求的ServletRequest对象和一个代表响应消息的ServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去
⑤WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destory方法
三、Servlet案例
HelloServlet.java
package com.servlet.demo; import java.io.IOException; import javax.servlet.Servlet; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class HelloServlet implements Servlet { public HelloServlet() { System.out.println("HelloServlet contrustor method!"); } @Override public void destroy() { System.out.println("Servlet destory method!"); } @Override public ServletConfig getServletConfig() { System.out.println("servlet config method!"); return null; } @Override public String getServletInfo() { System.out.println("servlet info method!"); return null; } @Override public void init(ServletConfig config) throws ServletException { System.out.println("Servlet init method!"); } @Override public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException { System.out.println("servlet service method!"); } }
web.xml
web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <display-name></display-name> <!-- 配置和映射Servlet --> <servlet> <!-- Servlet 注册的名称 --> <servlet-name>HelloServlet</servlet-name> <!-- Servlet 的全类名 --> <servlet-class>com.servlet.demo.HelloServlet</servlet-class> </servlet> <servlet-mapping> <!-- 需要和某一个servlet节点的servlet-name子节点的文本节点一致 --> <servlet-name>HelloServlet</servlet-name> <!-- 映射具体的访问路径: / 代表当前WEB应用的根目录 --> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app>
标签:
原文地址:http://www.cnblogs.com/xinhuaxuan/p/4540511.html