servletを実現する3つの方法


a)servletインタフェースの実現
  


//       Servlet,  servlet        
package com.tsinghua;

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


public class Hello implements Servlet{ 

    public Hello() {
    }

	/**
	 * Method init
	 *          servlet(         )
	 *
	 *           (         Servlet    );
	 */
	public void init(ServletConfig parm1) throws ServletException {
		System.out.println("init it");
	}

	/**
	 * Method getServletConfig
	 * @return
	 */
	public ServletConfig getServletConfig() {
		// TODO: Add your code here
		return null;
	}

	/**
	 * Method service
	 *             
	 *                 
	 *       servlet      
	 *
	 *request       (      )   
	 *response      (      )    
	 */
	public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
		System.out.println("service it");
		// response   PrintWriter();
		PrintWriter pw=response.getWriter();
		pw.println("service  hello word");
	}
	public String getServletInfo() {
		return "";
	}

	/**
	 * Method destroy
	 *   servlet           
	 *           
	 * 1.reload  Servlet(webApps)
	 * 2.  tomcat
	 * 3.     
	 */
	public void destroy() {
		System.out.println("destory");
	}
}
    

Webでxmlでの構成

  <servlet>
  		<!-- servlet  ,   -->
    <servlet-name>hello</servlet-name>
    	<!--  servlet   ,(  +  )-->
    <servlet-class>com.tsinghua.Hello</servlet-class>
  </servlet>

  <servlet-mapping>
  	<!--Servlet   ,       servlet    -->
    <servlet-name>hello</servlet-name>
    	<!--   servlet url,   ,    /-->
      <url-pattern>/ps</url-pattern>
  </servlet-mapping>

b)抽象クラスGenericServiceletの継承
package com.cn;

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

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

/**
 * GenericServlet      
 * */
public class Hello extends javax.servlet.GenericServlet {

	//       servlet   ,    service    
	//request       (      )   
    //response      (      )    
	@Override
	public void service(ServletRequest request, ServletResponse response)
			throws ServletException, IOException {
		System.out.println("service it");
		// response   PrintWriter();
		PrintWriter pw=response.getWriter();
		pw.println("service  hello word");
	}
}

web.xmlの構成は同じです
c)HttpServeretの継承
 
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Hello extends javax.servlet.http.HttpServlet{

	//request       (      )   
    //response      (      )    
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		this.doPost(req, resp);
	}

	//request       (      )   
    //response      (      )    
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		System.out.println("service it");
		// response   PrintWriter();
		PrintWriter pw=resp.getWriter();
		pw.println("service  hello word");
	}
}

web.xmlの構成は同じです