在实际应用过程中,经常遇到一次请求就要对应一个servlet,比如做一个简单的登录注册,那么登录对应一个servlet,注册也需要一个servlet,登录成功后,还需要添加,删除,编辑等等,对需要一个对应的servlet,那么有没有什么办法,可以把这些请求用一个servlet来处理,下面我们就来看看。
原理介绍:我们一般使用的servlet是继承了HttpServlet,里边有两个方法,一个doGet一个是doPost,服务器执行时,会调用里边的service方法根据请求方式调这两个方法,根据这个我们可以改下service方法
我们改写了service方法,实现获取一个method的参数,获取到了,使用前面学过的反射,因为后边写的servlet会继承这个改写后的servlet,使用需要拿到的类就是当前这个类,拿到这个类后,获取method参数的方法,如果没有就表示不存在这个方法,不能调用,存在的话,给给两个参数,一个HttpServletreRuest.class和HttpServletResonse.class调用使用当前对象来调用,然后写一个servlet继承自定义的这个servlet把你的请求业务写成一个方法,比如 登录 login(HttpServletreRuest req, HttpServletResonse res ); register(HttpServletreRuest req,HttpServletResonse res ); 等等 ,最后每次请求,只要给请求的servlet带一个 method= login 或者 method=register的参数,就会自动去调用对应的方法,这样就达到了,一个servlet处理多个请求