Servlet-三種實現方式
阿新 • • 發佈:2019-01-30
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); } }