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
}
}
HttpServlet
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.