1. 程式人生 > >Servlet-三種實現方式

Servlet-三種實現方式

1 實現servlet介面

//first Servlet(使用介面)

package com.xc;

import javax.servlet.*
import java.io.*;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import java.io.IOException;

public class HelloWord implements Servlet{
	/**
	 * Method init
	 *
	 *
	 * @param parm1
	 *
	 @throws ServletException
	 *
	 */
	 //用於初始化servlet(類似於類的建構函式)
	 //該函式只會被呼叫一次(當用戶第一次訪問時呼叫)
	public void init(ServletConfig parm1) throws ServletException {
		// TODO: 在這新增你的程式碼
		System.out.println("init it");
	}

	/**
	 * Method getServletConfig
	 *
	 *
	 * @return
	 *
	 */
	 //得到serclet配置檔案
	public ServletConfig getServletConfig() {
		// TODO: 在這新增你的代程式碼
		return null;
	}

	/**
	 * Method service
	 *
	 *
	 * @param parm1
	 * @param parm2
	 *
	 @throws ServletException
	 @throws IOException
	 *
	 */
	 //用於處理業務邏輯
	 //書寫業務邏輯程式碼
	 //每次訪問時都會被呼叫
	 //Request用於獲得客戶端的資訊
	 //Response用於向客戶端返回資訊
	public void service(ServletRequest parm1, ServletResponse parm2) throws ServletException, IOException {
		// TODO: 在這新增你的程式碼
		//從parm2中得到printwriter
		System.out.println("service it");
		
		PrintWriter pw=parm2.getWriter();
		pw.println("hello word!");
	}

	/**
	 * Method getServletInfo
	 *
	 *
	 * @return
	 *
	 */
	public String getServletInfo() {
		// TODO: 在這新增你的程式碼
		return null;
	}

	/**
	 * Method destroy
	 *
	 *
	 */
	 //銷燬servlet例項(釋放記憶體)
	 //1 重灌serclet(webapps)時候 2 關閉tomcat時 3 關機時
	public void destroy() {
		// TODO: 在這新增你的程式碼
		System.out.println("destory!");
	}
		
	
}

2 繼承GenericServlet
//第二種開發servlet的方法(通過繼承GenericServlet方法)

package com.xc;

import java.io.*;
import javax.servlet.*;
import javax.servlet.GenericServlet;

public class HelloGen extends GenericServlet{
	//重寫service方法即可
	public void service(ServletRequest parm1, ServletResponse parm2){
		try{
			PrintWriter pw=parm2.getWriter();
			pw.println("swxc-GenericServlet");
			
			}catch(Exception ex){
				ex.printStackTrace();
				}
		
		}
	
}

3 HttpServlet(常用)
//第三種開發servlet的方法,通過繼承HttpServlet

package com.xc;

import javax.servlet.http.*;
import java.io.*;

public class HelloHttp extends HttpServlet{
	//處理get請求
	//Request用於獲得客戶端的資訊
	 //Response用於向客戶端返回資訊
	public void doGet(HttpServletRequest parm1,HttpServletResponse parm2){
		//業務邏輯
		try{
				PrintWriter pw=parm2.getWriter();
				pw.print("HttpServlet");
			}catch(Exception ex){
					ex.printStackTrace();
					}
		}
	
	//處理post請求
	//Request用於獲得客戶端的資訊
	 //Response用於向客戶端返回資訊
	public void doPost(HttpServletRequest parm1,HttpServletResponse parm2){
		doGet(parm1,parm2);
		}
	}