HttpServlet

1)是一個Servlet,繼承自GenericServlet,針對於HTTP協議所定製
2)在service()方法中直接把ServletRequest和ServletResponse轉爲HTTPServletRequest和HTTPServletResponse
並調用了重載的service(HttpServletRequest , HttpServletResponse)
在service(HttpServletRequest , HttpServletResponse)獲取了請求方式:request.getMethod().根據請求方式創建了
doXxx()方法(Xxx爲具體的請求方式,比如doGet和doPost)
public class MyHttpServlet extends MyGenericServlet {
3)實際開發中,直接繼承HTTPServlet,並根據請求方式複寫doXxx()方法即可
4)好處:直接有針對性的覆蓋doXxx()方法,直接 使用HttpServletRequest 和 HttpServletResponse,不再需要強轉


@Override
public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
  
if (arg0  instanceof HttpServletRequest) {
HttpServletRequest request=(HttpServletRequest) arg0;

if (arg1 instanceof HttpServletResponse) {
HttpServletResponse response=(HttpServletResponse) arg1;
  
service(request, response);

}
}


}

public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1獲取請求方式
String method=request.getMethod();
//2根據請求方式再調用對應的處理方法
if ("GET".equalsIgnoreCase(method)) {
doGet(request,response);

}else if ("POST".equalsIgnoreCase(method)) {
doPost(request,response);

}

}


public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
// TODO Auto-generated method stub

}


public  void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub

}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章