Java Web面试之三种实现Servlet方式

/***
* servlet是运行在服务器端的一个Java程序:
* 1.对请求做出相应的回应
* 2.动态的生成html页面
*
* servlet的多种实现方式:
* 1.实现Javax.servlet接口(实现5个抽象方法–一般只需要重写service)
* 2.继承抽象类GenericServlet
* 3.继承HttpServlet
*
*/

package cn.njit.servlet;

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

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;



public class MyFirstServlet implements Servlet{
	/***
	 * servlet是运行在服务器端的一个Java程序:
	 * 		1.对请求做出相应的回应
	 * 		2.动态的生成html页面
	 * 
	 * servlet的多种实现方式:
	 * 		1.实现Javax.servlet接口(实现5个抽象方法--一般只需要重写service)
	 * 		2.继承抽象类GenericServlet
	 * 		3.继承HttpServlet
	 * 		
	 */
	@Override
	public void destroy() {
		// 用户退出时,销毁servlet实例
		System.out.println("=======销毁======");
		
	}
	
	/**
	 * 获取配置信息
	 */
	@Override
	public ServletConfig getServletConfig() {
		// TODO Auto-generated method stub
		return null;
	}

	
		
	/**
	 * 获取详情
	 */
	@Override
	public String getServletInfo() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public void init(ServletConfig arg0) throws ServletException {
		//用户发送请求时,会创建一个servlet实例
		System.out.println("-----------------初始化---------------");
		
	}
	
	
	/**
	 *  获取请求并做出反应的方法
	 */
	@Override
	public void service(ServletRequest req, ServletResponse resp) throws ServletException, IOException {
	
		//模拟servlet的响应过程
		//获取输出流
		//设置页面编码格式
		resp.setContentType("text/html; charset=utf-8");
		
		PrintWriter pw = resp.getWriter();
		//将信息输出到页面
		pw.println("Hello 中国!");
		System.out.println("-------------------处理请求-----------------");
			
	}
}

在这里插入图片描述
2.

package cn.njit.servlet;

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

import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebServlet;

/***
 * 通过继承抽象类GenericServlet
 * 
 * @author Administrator
 *
 */

@WebServlet("/Second")
public class MySecondServlet extends GenericServlet {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Override
	public void service(ServletRequest req, ServletResponse resp) throws ServletException, IOException {
		// 模拟servlet的响应过程
		// 获取输出流
		// 设置页面编码格式
		resp.setContentType("text/html; charset=utf-8");

		PrintWriter pw = resp.getWriter();
		// 将信息输出到页面
		pw.println("Hello 世界!");

	}

}

在这里插入图片描述

package cn.njit.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的方式:
 * 		继承HttpServlet 
 * 		需要重写doGet和doPost

 * @author Administrator
 *
 */

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

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

		// 模拟servlet的响应过程
		// 获取输出流
		// 设置页面编码格式
		resp.setContentType("text/html; charset=utf-8");

		PrintWriter pw = resp.getWriter();
		// 将信息输出到页面
		pw.println("Hello 螺纹!");

	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(req, resp);
	}

}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/AirTrioa/article/details/84328699