我是JSP和Java Servlet的新手。我对Session对象很困惑。我看到会话当我学习PHP会话和cookie。有完全不同的东西吗?以及如何创建,组织和使用Session对象。这个对象是JSP还是Java Servlet?有人可以用语言告诉我(比如概念)。另外,在什么情况下JSP页面适合?(我何时应该使用Java Servlet?何时应该使用Java Servlet页面。)例如,对于Java Servlet对象,运行了一个电子邮件站点。会有很多用户。一个Java Servlet对象如何处理来自这么多浏览器的交互?(如数百个日志记录,读取等)我知道应该只存在一个Java Servlet对象的副本。但为什么?如果只有一个,那么它何时被创建和销毁。啊......这么多问题。如果有人可以帮助我,我将非常感激。万分感谢!
答案 0 :(得分:2)
?以及如何创建,组织和使用Session对象。
这取决于它的实现,here是合同
这个对象是JSP还是Java Servlet?
这是jsp中的隐式对象,可以从servlet的服务方法中从request
实例中检索
JSP页面适合什么情况?(我什么时候应该使用Java Servlet?何时应该使用Java Servlet页面。)例如,对于Java Servlet对象,运行一个电子邮件站点。会有很多用户。一个Java Servlet对象如何处理来自这么多浏览器的交互
使用jsp作为视图servlet作为控制器,参见MVC
现在应该只存在一个Java Servlet对象的副本。但为什么?如果只有一个,那么它何时被创建和销毁。
每个请求都在不同的线程中提供,所以为什么要创建不同的实例,我们可以让一个servlet实例为我们做这一切。并且它一直活着直到垃圾收集清除它
参见: Head First
答案 1 :(得分:1)
如果您查看Java Servlet Life Cycle,我认为您的许多问题都会得到解答。
答案 2 :(得分:1)
HttpSession session = request.getSession(true);
然后您可以像这样添加项目
session.setAttribute(string ,object); ex : session.setAttribute("username","foo");
会话对象存在于servlet和jsp中,而btw jsp最终是一个servlet 但不同的是,当你想在jsp页面中使用session时,不需要构造它。默认情况下它的默认使用它
session.setAttribute(string,object);
首选JSP作为MVC模型中的视图 和servlet作为控制器。
服务器为每个servlet保留一个对象,当一个新请求到来时,servlet对象将新请求(客户端)放入一个新线程中,这样如果你一次有100个客户端,那么 服务器中的100个线程。但是您可以将服务器配置为构造servlet的多个对象。
我希望我能帮助你..