创建servlet的三种方式、Servlet使用习惯、服务器资源路径

继承关系:HttpServlet继承GenericServlet,GenericServlet继承Servlet

方式一:建一个类实现Servlet接口
这种方式最底层,通过实现接口中的抽象方法来实现Servlet功能,其中最核心的是实现service()方法,通过上面的继承关系可以获悉,下面两者方式本质上也是调用这个方法。

方式二:建一个类继承GenericServlet类
这种方式类似于适配器模式,通过继承类覆盖其方法来实现功能,但有个细节要注意,适配器中的init(ServletConfig config)中帮我们把它当中的config对象赋值且调用 一个空参的init()。我们以后应该覆盖空参的init()。因为如果覆盖了这个带参数的,那么就无法实现为它的config对象赋值,由此导致其中使用config对象的方法会出错。其实这种方法(调用 一个空参的init()且 该参数方法中什么也没做 )也程序员之间的一种交流方式,告诉我们要覆盖空参的方法,这样它在帮我们做完事情会调用我们的覆盖方法

方式三:建一个类继承HttpServlet类
这种方式类似于第种方式,以这种方式建立Servlet时,最好覆盖doGet()和doPost()方法(目前的浏览器只支持这两种提交方式),否则有相应的请求方式时会报相应的错误,加入有特殊项目有其他提交方式,方法类似,如覆盖doPut()等。

下面说下servlet使用时的良好习惯:从request读数据之前先设编码,往response写数据之前先设格式。如
request.setCharacterEncoding(“utf-8”);
response.setContentType(“text/html;charset=utf-8”);
养成这个习惯可减少不必要的麻烦。

最后说一个服务器资源路径的加载方式的问题: web项目一发布,我们的项目就从MyEclipse到了Tomcat目录下的webapps中。
// 利用当前类找到它的类加载器,然后通过该类加载器再去获得资源路径
path = 类名.class.getClassLoader().getResource(“fileName”).getPath();
值得说明的是,类加载器路径的根目录为:webapps\项目名\WEB-INF\classes目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值