浅浅谈一下我对servlet的认识

最近刚学完servlet,在这里谈谈我对于此的一些了解。在我看来sonnet就是用JAVA编写的服务端程序,主要功能是交互式的浏览和生成数据,可以动态生成网页。

在平时我们使用的都是单线程模式下的servlet。直到上次遇到了一个多线程映射问题,才发现原来也会出现安全性问题。在认真阅读过多位前辈的见解以及翻阅图书之后,我对于servlet算是有了一个基本的认知。因为他的生命周期是由web容器控制的。当客户端第一次请求某个servlet时,servlet容器就会根据Xml配置文件对这个servlet类进行实例化。当有新的客户端请求这个servlet时就会出现多线程的应用。在这个时候,多个线程同时访问同一资源,数据就可能会变的不一致。

那么我们应该怎么样解决servlet的安全性问题呢?①:多线程中对于对象中的成员变量是最不安全的,所以不要在Servlet中通过成员变量的方式来存放数据,总的来说不实用实例是解决servlet线程不安全的比较好的办法

②:如果一定要使用成员变量存储数据,在对数据进行操作时需要使用线程同步的方式来解决线程安全问题,也就是我们常说的给线程上锁,但是上锁必然会造成线程阻塞,当多线程大量用户访问,后面的用户只能等前面用户释放锁,会造成大量的资源浪费并且会浪费大量的时间

③:这个听说是给做一个接口,我不太明白就不细说了

以上就是我对于servlet安全性的一个基本认识,有什么不对的希望各位给我指导一下

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值