Servlet笔记

来源:互联网 发布:李兴华java虚拟机视频 编辑:程序博客网 时间:2024/06/06 09:02

      • 什么是Servlet
      • 核心API类图
      • 实现
      • Servlet的生命周期
      • webxml的配置
      • 常用API

ServletAPI
《Servlet中文API文档》
《javaweb基础03》

1 什么是Servlet?

Servlet的命名:Server + Applet=Servlet 意为服务器端的小程序。
Servlet 运行在服务端的Java小程序,是sun公司提供一套规范(接口),用来处理客户端请求、响应给浏览器的动态资源。但servlet的实质就是java代码,通过java的API 动态的向客户端输出内容。

Servlet的作用

  1. 获取请求数据
  2. 处理请求
  3. 完成响应

2 核心API类图

这里写图片描述

这里写图片描述

3 实现

  • 创建类实现Servlet接口,覆盖尚未实现的方法—service方法;
package com.hkls.servlet;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 ServletDemo1 implements Servlet{    public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {        System.out.println("hello servlet");    }}
  • 创建类继承HttpServlet类,覆盖doGet和doPost。
package com.hkls.servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class ServletDemo2 extends HttpServlet {    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        System.out.println("hello servlet");    }    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        doGet(request, response);    }}

4 Servlet的生命周期

这里写图片描述

这里写图片描述

5 web.xml的配置

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">  <display-name>Demo</display-name><!--   欢迎页面 -->  <welcome-file-list>    <welcome-file>index.html</welcome-file>    <welcome-file>index.htm</welcome-file>    <welcome-file>index.jsp</welcome-file>    <welcome-file>default.html</welcome-file>    <welcome-file>default.htm</welcome-file>    <welcome-file>default.jsp</welcome-file>  </welcome-file-list><!--   Servlet类的配置 -->  <servlet>    <servlet-name>abc</servlet-name>    <servlet-class>com.hkls.servlet.QuickStartServlet</servlet-class>    <!-- servlet对象在服务器启动时就创建 -->    <!-- 1-5,数字代表优先级,数字越小优先级越高 -->    <load-on-startup>3</load-on-startup>  </servlet><!--   Servlet虚拟路径的配置 -->  <servlet-mapping>    <servlet-name>abc</servlet-name>    <url-pattern>/QSS</url-pattern>  </servlet-mapping></web-app>
  • 基本配置
<!-- 1.完全匹配:访问的资源与配置的资源完全相同才能访问到 --><url-pattern>/QSS</url-pattern><!-- 2.目录匹配 :格式:/虚拟的目录../* *代表任意 -->  <url-pattern>/a/b/*</url-pattern><!-- 3.扩展名匹配 格式:*.扩展名 -->  <url-pattern>*.abcd</url-pattern><!-- 4.缺省路径可以将url-pattern配置一个/,代表该servlet是缺省的servlet;当你访问资源地址所有的servlet都不匹配时 , 缺省的servlet负责处理;其实,web应用中所有的资源的响应都是servlet负责,包括静态资源。 -->  <url-pattern>/</url-pattern><!--  注意:第2种与第3种不要混用 /aaa/bbb/*.abcd(错误的) -->
  • 服务器启动实例化Servlet配置
<!--  Servlet的何时创建:默认第一次访问时创建  当在servlet的配置时 加上一个配置 <load-on-startup>,servlet对象在服务器启动时就创建 --><load-on-startup>

6 常用API

  • ServletContext对象
  • ServletConfig对象
  • HttpServletResponse对象
  • HttpServletRequest对象
原创粉丝点击