Servlet编程接口
- 以doGet()方法为例,我们来认真剖析下该方法中的种种问题
public class ShowParameters extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter pw = resp.getWriter();
response.setContentType("text/html;charset=UTF-8"); //目的是为了控制浏览器的行为,即控制浏览器用UTF-8进行解码;
pw.println(req.getParameter("username"));
pw.println("<br>");
pw.println(req.getParameter("password"));
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
以上是servlet的常规写法,其中doGet有两个参数,分别是req请求和resp相应,类型分别是HTTPServletRequest和HttpServletResponse
转到API文档详细查看这两个类,都是接口类
所以传进来的肯定是实现这两个接口类的对象,req实现了接口,我们就可以调用这个接口的方法。
这两个接口中定义的方法,我们在今后工程中会无数次用到,建议在此处认真阅读API文档,心中有个大概,以后想要实现某种技术的时候会有想到对应的方法。
如果你想让你的get和post方法处理的是同一个内容,只需要添加一行代码,如上图所示,将post中获取的req和resp传递给get方法即可。
注意 : response.setContentType("text/html;charset=UTF-8"); 目的是为了控制浏览器的行为,即控制浏览器用UTF-8进行解码