Servlet实例


Servlet 实例

Servlet 是服务 HTTP 请求并实现 javax.servlet.Servlet 接口的 Java 类。Web 应用程序开发人员通常编写 Servlet 来扩展 javax.servlet.http.HttpServlet,并实现 Servlet 接口的抽象类专门用来处理 HTTP 请求。

Hello World 示例代码

下面是 Servlet 输出 编程字典,Servlet教程 的示例源代码:

package com.xxkt;

import java.io.IOException;
import java.io.Writer;

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


@WebServlet("/HelloServlet")
public class HelloServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    // 声明变量
    private String message;
    // 初始化方法
    public void init() throws ServletException{
         message = "编程字典,Servlet教程";
    }
    // 构造方法
  public HelloServlet() {
      super();
  }

  // get请求
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        Writer out = response.getWriter();
        out.write("<h1>"+message+"</h1>");
    }

    // post请求,调用doGet
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }
}

代码解释

  1. 定义一个类继承HttpServlet.
  2. @WebServlet("/HelloServlet")这个注释是指定该Servlet的访问路径,早期的版本是通过在web.xml配置文件中配置的。
  3. 声明一个变量message
  4. 在初始化方法init()中,为message变量赋值。
  5. doGet方法中输出变量内容,注意中文乱码的设置。
  6. doPost方法调用doGet方法,实现代码重用。

运行结果

Servlet运行结果

注意:和上次相比这次的输出内容字号变大了,原因是我们添加了<h1>标签。