2011-08-03 78 views
-1

我是JSP和Java Servlet的新手。我对Session对象很困惑。我看到了会话当我学习了PHP会话和cookie。有完全不同的东西吗?以及Session对象是如何创建,结构化和使用的。这个对象在JSP或Java Servlet中?有人可以用言语告诉我这一点(如概念)。另外,JSP页面适合什么情况?(何时应该使用Java Servlet,何时应该使用Java Servlet页面)。例如,对于Java Servlet对象,运行一个电子邮件站点。会有很多用户。一个Java Servlet对象如何处理来自这么多浏览器的交互(如数百个日志记录,阅读等)我知道应该只有一个Java Servlet对象副本存在。但为什么?如果只有一个,它何时被创建和销毁。啊......很多问题。如果有人能帮助我,我会非常感激这一点。太感谢了!JSP和Java Servlet问题

+0

[Java Servlet的实例和会话变量(可能重复http://stackoverflow.com/questions/3106452/java-servlet-instantiation-and-session-variables ) – BalusC

回答

1
  1. 你可以想想一个会话对象为文件。每个用户具有ID称为JSESSIONID的会话,会话的结构是通常它们存储在Servlert键值

地图数据结构可以构造一个会话对象像这样

HttpSession session = request.getSession(true); 

则可以在会话中添加项目这样

session.setAttribute(string ,object); ex : session.setAttribute("username","foo"); 

在Servlet和JSP会话对象存在,并且顺便说一句的jsp最终是一个servlet ,但不同的是,当u要使用在jsp页面中的会话不需要构造它。其defeind在默认情况下只用它

session.setAttribute(string,object); 
    使用时,页面包含了很多HTML元素,有很多设计 和JSP让你轻松保持在另一方面,你可以使用页面
  1. JSP页面servlet作为 jsp页面,但你会处理JSP优选作为MVC模式 一个视图和servlet作为控制器的每一行ØHTML源代码

服务器为每个servlet保留一个对象,并且当新请求到来时,servlet对象将新请求(客户端)置于新线程中,所以如果您一次有100个客户端,则服务器中的线程数为 。但是你可以配置服务器来构造一个servlet的多个对象。

我希望我能帮助ü..

2

?以及Session对象是如何创建,结构化和使用的。

这取决于它的实施,here是合同

此对象在JSP或Java Servlet的?

这是在JSP中的隐含对象,它可以从request例如,从servlet的服务方法来检索

什么情况下一个JSP页面会呢?是合适的(当我应该使用的Java Servlet什么时候应该使用Java Servlet页面)。例如,对于Java Servlet对象,运行一个电子邮件站点。会有很多用户。如何一个Java Servlet的对象处理这么多的浏览器

使用JSP作为视图servlet作为控制器的相互作用,见MVC

现在应该只存在一个Java Servlet的对象的副本。但为什么?如果只有一个,它何时被创建和销毁。

每个请求都在不同的线程中服务,所以为什么要创建不同的实例,我们可以让一个servlet实例为我们做这些事情。和它的生命,直到垃圾收集将其清除

参见:深入浅出