寫一個Servlet需要的步驟
//1.寫servlet
//2.web.xml 部署servlet
//3.啟動tomcat 通路servlet
//Servlet第一種寫法
public class ServletLife implements Servlet{
//銷毀Servlet執行個體 釋放記憶體
//reload 該servlet 2 關閉tomcat 3關機
@Override
public void destroy() {
// TODO Auto-generated method stub
System.out.println("destroy");
}
@Override
public ServletConfig getServletConfig() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getServletInfo() {
return "";
}
//初始化servlet 隻會被調用一次 當使用者第一次通路該servlet被調用
@Override
public void init(ServletConfig arg0) throws ServletException {
// TODO Auto-generated method stub
System.out.println("init");
}
//該函數處理業務邏輯 業務邏輯代碼放在這個方法中 使用者每一次通路該servlet就會調用一次service方法
//req擷取用戶端的資訊
// rsp用于向用戶端傳回資訊
@Override
public void service(ServletRequest req, ServletResponse res)
throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("service");
//從res中得到printWriter
PrintWriter pw = res.getWriter();
pw.print("Hello World");
}
}
部署Servlet web.xml
<servlet>
<servlet-name>hello</servlet-name>
<!-- servlet路徑 包名加上類名 -->
<servlet-class>com.gac.test.ServletLife</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<!-- 浏覽器中的輸入的通路該servlet url -->
<url-pattern>/gac</url-pattern>
</servlet-mapping>
Servlet第二種寫法
//第二種servlet 開發 繼承 GenericServlet
public class GenericServletDemo extends GenericServlet{
//隻需要重寫service 方法即可
@Override
public void service(ServletRequest req, ServletResponse rep)
throws ServletException, IOException {
// TODO Auto-generated method stub
PrintWriter pw = rep.getWriter();
pw.println("Hello world generic");
}
}
Servlet第三種寫法
/第三種Servlet開發方法 繼承httpServlet
//需要重寫doGet doPost 方法
//表單送出資料get post請求差別
//get送出資料會在位址欄中 顯示安全性低
//get送出資料内容大小小于post 理論上 get 小于2k post 不受限制 建議不要大于64k
//響應速度快 get 伺服器立即處理 post 形成一個隊列請求
public class HttpServletDemo extends HttpServlet{
//處理get請求
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
//業務邏輯
PrintWriter pw = resp.getWriter();
pw.println("Http Servlet");
}
//處理post請求
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
this.doGet(req, resp);
}
}