Web容器&Servlet 笔记

Web容器会为每个请求创建一个线程,当一个Servlet实例服务多个请求时,就相当于Servlet被多个线程共同访问,所以要注意线程安全(Thread-safe)的问题。例如,在Servlet中有类变量(Class Variable)时就要特别注意,并非不可以在Servlet中定义类变量,基本上建议Servlet中的类变量在服务请求时,最好作为常数或只读对象使用应该避免在服务请求时对类变量设值,如果真要对类变量设值,记得处理同步化,但也要注意性能的问题。

 

在客户端只针对格式等与安全无关的部分进行验证,在服务器端必须针对与安全相关的验证。

 

由于ServletRequest对象仅在此次请求周期内有效,在请求/相应之后,ServletRequest对象会被销毁而回收资源,设值在ServletRequest对象中的属性自然也就消失了,所以通过setAttribute()所设置的属性才称为请求范围属性。

 

要编写一个Servlet类很简单,只要继承javax.servlet.http.HttpServlet类,并重写doGet()、doPost()等对应HTTP请求的方法即可。然而到这里为止,还称不上一个可以服务的Servlet,因为容器还没有加载这个Servlet类。

 

必须先设置好web.xml,这样容器才知道如何加载及如何处理Servlet。Web应用程序在文件组织上有特定结构,容器会到特定的位置寻找类或设置文件。

 

不建议也不应该在继承了HttpServlet之后,重写service()方法,这会覆盖掉HttpServlet中所定义的HTTP默认处理流程。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值