web实操4——servlet体系结构
servlet体系结构
我们基本都只实现service方法,其余几个都不用,
之前我们直接实现servlet接口,所有的方法都必须实现,不用也得写,不然报错,写了又不用当摆设。
能不能只要定义一个service方法就可以,其他方法我想有就有,不想有就不用写。
去看api文档里的servlet体系结构:
GenericServlet
抽象类,里面把其他的方法做了空实现,只把方法实现了,里面内容没有一行代码。
只把service方法做了抽象:
所以已经初步实现了我们的需求,我们只需要继承他,并实现service方法就可以:
想复写其他的手动添加就行:
HttpServlet
真正开发中我们一般用这种。
service方法中不管怎么样,都是要做这个事情的:
判断请求方式,要通过不同的请求方式做不同的代码逻辑处理。
这个过程是很麻烦的,也是所有的service方法都必须要做的过程。
sun公司提供了一个类:
httpServlet
帮我们把这个事情做好了,以后不用再去判断这个请求方式了。
所以将来我们想屏蔽掉get,post请求方式的处理逻辑,就可以去继承httpServlet。
并且去复写doGet(),doPost()方法就可以了。
因为将来都会去调用service方法,service方法会做方法分发,你是get就调用doGet(),post就调用doPost();
源码:service方法
我们实现:
因为我们不知道是被什么请求方式请求的,所以get,post都要写上:
通过浏览器直接请求:
是get方式的:
什么样的是post的:
现在所掌握的知识只能通过表单:
浏览器访问:
也可以指定get:
浏览器访问:
点击提交后,get方式会把参数跟在url后面: