初學Servlet之實現Servlet接口


package app01a;

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;
import javax.servlet.annotation.WebServlet;

/**
 * 如何訪問:
 *     http://localhost:端口號(使用tomcat沒有修改過的是8080)/項目名/下面WebServlet中的urlPatterns
 *  如果使用的是web.xml配置文件,那么訪問路徑就變為:
 *  http://localhost:端口號(使用tomcat沒有修改過的是8080)/項目名/web.xml中該servlet對應的url-pattern
 * @author Administrator
 *
 */
// 暫時認為servletConfig的內容就是WebServlet中的內容
@WebServlet(name = "MyServlet", urlPatterns = { "/my" })
public class MyServlet implements Servlet{
    
    private transient ServletConfig servletConfig;

    /**
     * 銷毀servlet時,servlet容器就會調用這個方法
     */
    @Override
    public void destroy() {
        // TODO Auto-generated method stub
        
    }

    /**
     * 這個方法會返回有servlet傳給init方法的ServletConfig
     */
    @Override
    public ServletConfig getServletConfig() {
        return servletConfig;
    }

    /**
     * 這個方法會返回Servlet的描述
     */
    @Override
    public String getServletInfo() {
        return "My Servlet";
    }

    /**
     * 第一次請求時調用,在后續請求中不會再調用
     */
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        this.servletConfig = servletConfig;
        
    }

    /**
     * 每當請求servlet時,就會調用這個方法,第一次請求時調用init方法和service方法,后續的請求只調用service方法
     */
    @Override
    public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
        String servletName = servletConfig.getServletName();
        // 設置響應內容類型
        response.setContentType("text/html");
        PrintWriter writer = response.getWriter();
        writer.print("<html><head></head>" + "<body>Hello from " + servletName + "<br/>" + servletConfig + "</body></html>");
        
    }

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM