java Servlet技术·笔记

  • Post author:
  • Post category:java




Servlet基础

  1. Servlet技术简介

    Servlet是一种独立于平台和协议的服务器端的java技术,可以用来动态的生成Web界面。Servlet具有非常好的可移植性、强大的功能、更少的投资、更高的效率、更好的安全性等特点

    Servlet一般用来处理HTTP的请求用来返回一个响应,它能够处理的请求有doGet()、doPost()、service()等方法,在开发Servlet时可以直接继承javax.servlet.http.HttpServlet类

    值得注意的是

    Servlet需要在web.xml中配置(或者直接在Servlet类前添加@webServlet)

    ,即(映射Servlet的名字、配置Servlet类、初始化参数、进行安全配置、过滤器、监听器等)。Servlet不仅可以生产HTML脚本输出,还可以生产二进制表单进行输出
  2. Servlet技术功能

    (1)创建并返回一个包含基于客户请求性质的动态内容完整的HTML页面

    (2)创建可嵌入的一部分的HTML页面到主HTML页面

    (3)与其他服务器资源(包括数据库和基于java的应用程序)进行通信

    (4)用于处理多个客户机处理连接,接收多个客户机的输入,并将结果传递到客户及上

    (5)当允许单连接方式可以传递数据的情况下,在浏览器上打开applet的新连接,并保持打开状态;

    当运行客户机与服务器简单、高效的执行 绘画的情况下,applet也可以启动客户浏览器和服务器之间的连接,可以定制协议通信

    (6)将定制的处理提供给所有服务器的标准程序
  3. Servlet技术特点
  • Servlet技术带给程序猿最大的优势就是它可以处理客户端传来的HTTP请求,并返回一个响应。总的来说,Servlet具有如下特点

    (1)高效

    (2)方便

    (3)跨平台

    (4)功能强大

    (5)灵活性和可扩展性

    (6)共享数据

    (7)安全
  1. Servlet的生命周期

    Servlet的生命周期(安123356顺序)

  2. Servlet与JSP的区别

    (1)编程方式不同

    (2)Servlet必须在编译后才能执行

    (3)运行速度不同

  3. Servlet的代码结构

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class test
 */
@WebServlet("/test")
public class test extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public test() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//可编写使用request读取请求有关的信息和表单数据的代码
		//可编写response指定的HTTP应答状态的代码和应答头的代码
		PrintWriter out=response.getWriter();
		//可编写out对象页面中输出信息的代码
	}
}



Servlet常用接口和类

  1. Servlet接口

    javax.servlet包中的类与接口封装了一个抽象框架,建立请求和产生响应的组件(即Servlet),其中javax.servlet.Servlet是所有Java Servlet的基础接口
  2. HttpServlet类

    HttpServlet类存放在javax.servlet.http包中,是针对使用HTTP协议的Web服务器的Servlet类。HttpServlet类通过执行Servlet接口,能够提供HTTP协议的功能
  3. ServletConfig接口

    ServletConfig接口存放在javax.servlet包内,它是一个由Servlet容器使用的Servlet配置对象,用于在Servlet初始化时向他传递信息
  4. HttpServletRequest接口

    HttpServletRequest类存放在javax.servlet.http包内
  5. HttpServletResponse接口

    HttpServletResponse类存放在javax.servlet.http包内,它代表了对客户端的HTTP响应。HttpServletResponse接口给出了响应客户端的Servlet()方法。它允许Servlet设置内容长度和回应的MIME类型,并且提供输出流ServletOutoutStream
  6. GenericServlet类

    GenericServlet类存在javax.servlet包中,它提供了对Servlet接口的基本实现,它是一个抽象类,它的service()方法是一个抽象方法



Servlet开发

  1. Servlet的创建

    创建一个Servlet通常涉及一下四个步骤

    (1)继承HttpServlet抽象类

    (2)重装适当的方法,如覆盖(或称为重写)doGet()方法或doPost()方法

    (3)如果有HTTP通信可以获取该信息

    (4)生成HTTP响应
  2. Servlet的配置

    (1)在WEB-INF文件夹下的web.xml文件中配置Servlet
<?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_3_0.xsd" id="WebApp_ID" version="3.0">
  
<servlet>
    <servlet-name>VoteServlet</servlet-name>
    <servlet-class>
			dom.VoteServlet
		</servlet-class>
</servlet>
  <servlet-mapping>
    <servlet-name>VoteServlet</servlet-name>
    <url-pattern>/VoteServlet</url-pattern>
  </servlet-mapping>
</web-app>

(2)采用注解配置Servlet

//在编写的Servlet类上方编写
@WebServlet(urlPatterns={"/映射地址"},asyncSupported=true|false,
loadOnStartup=-1,name="Servlet名称",displayName="显示名称",
initParam={@WebInitParam(name="username",value="值")})
public class Servlet extends HttpServlet {
     ...



版权声明:本文为qq_49326435原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。