Servlet只实例化一次,那不同用户访问,数据岂不乱套了? serlvet是单实例多线程的。只要在Servlet里面的任何方法里面都不使用实例变量,那么该Servlet就是线程安全的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 咋乱套??你发送数据/接收数据是你的session,别人有别人的session,不会乱套的 我不是说客户端提交的数据乱套,而是如果servlet中定义了一些变量或属性,那它反正只实例化一次,只有一个对象,来自不同客户端的不同的请求操作相同的一个对象,这安全? Servlet只实例化一次 没错,用的是方法, 方法没有参数的吗?参数不能变的吗? 文不对题。来自客户端的不同请求被包装成不同的ServletRequest,传入service方法,这我知道。但是怎么保证servlet的实例变量是线程安全的?只能人为控制(在Servlet里面的任何方法里面都不使用实例变量)? 说到线程,我还没研究到。不过HttpServlet 一般处理一下方法:doGet(HttpServletRequest req, HttpServletResponse resp) doHead(HttpServletRequest req, HttpServletResponse resp) doPost(HttpServletRequest req, HttpServletResponse resp) 再说,默认那构造函数是空的。 在 servlet 的类里不要定义与会话相关的变量,所有与会话相关的变量都要定义在service方法里,或者放在 doGet, doPost 这些方法内部,作为局部变量public class MyServlet implements Servlet { private String a; // 线程不安全 public void service(......){ String b = ...... // 线程安全 }} Servlet 本身是无状态的,所以不会乱套,你要是硬让Servlet 保存状态,那就要自己做好同步了! jsp传数据到script中处理 小弟初学jsp 求大虾们帮忙啊 我是新手,帮我编写一下问题的代码吧,谢谢各位前辈了!!! 如何将多个字段同时插入多个表中? Java高手请进!! apache中如何限定特定的IP地址才可以访问我的WEB程序? 大家有没有和我一样的问题? 救急!又遇中文输入问题! 不同浏览器对超链接的影响 求助,关于spring mvc的配置 Spring MVC ajax方式提交表单 Date类型字段处理问题 用jdbc将word数据读入到mysql数据库
用的是方法, 方法没有参数的吗?参数不能变的吗?
不过HttpServlet 一般处理一下方法:
doGet(HttpServletRequest req, HttpServletResponse resp)
doHead(HttpServletRequest req, HttpServletResponse resp)
doPost(HttpServletRequest req, HttpServletResponse resp)
再说,默认那构造函数是空的。
private String a; // 线程不安全
public void service(......){
String b = ...... // 线程安全
}
}