When you overide a method, you needn't declare throws clause in methods of parent class or interface it implements. So the method public void doPost(HttpServletRequest req,HttpServletResponse res) still run
4. The answer is D This is because when you use inReader.readLine(), data of request will be read only once. So when you use req.getParameter("Value1") after using readLine(), the value is null