Java Web面試之三種實現Servlet方式
阿新 • • 發佈:2018-11-23
/***
* 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); } }