Q:有一个需求获取表单的交付方式,getMethod()
A:交付方式存在于http协议中,没有相关方法,为方便,自己编写MyHttpServletRequest
新建一个类,继承MyGenericServlet(上一篇自写):
package javaweb;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class MyHttpServletRequest extends MyGenericServlet {
@Override
public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
// TODO Auto-generated method stub
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
HttpServlet:
package javaweb;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 针对于http协议定义的一个servlet基类
* @author Administrator
*
*/
public class MyHttpServlet extends MyGenericServlet {
@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);
}
}
private void doPost(HttpServletRequest request, HttpServletResponse response) {
}
private void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
}
}