我需要编写一个小的Java类,使我能够添加到并从当前用户会话中读取。
我看到的所有内容都涉及Servlets,但我最好只使用一个普通的类。
有谁能帮助这个Java新手吗?
谢谢
我需要编写一个小的Java类,使我能够添加到并从当前用户会话中读取。
我看到的所有内容都涉及Servlets,但我最好只使用一个普通的类。
有谁能帮助这个Java新手吗?
谢谢
“Session”的一般概念实际上是HTTP客户端和服务器之间交互的数据存储。所有HTTP Servlet都会自动处理会话管理。使用哪个框架?
如果您只想在控制台应用程序中存储信息以在运行之间记住信息,则考虑使用Xml从文件中保存/加载数据。
是的,只需从您的servlet将HttpRequest
传递给您的类即可。
在您的servlet中,可以这样做:
cmd.execute(request);
public class Command implements ICommand {
.
.
public void execute(HttpServletRequest request){
HttpSession sess = request.getSession(false);
}
.
.
.
}
HttpSession session = request.getSession();
呢? - BalusC使用基于组件的MVC框架,将所有丑陋的Servlet API细节抽象化,以便您最终不需要导入任何javax.servlet
。这样的例子有JSF2和Struts2。
例如,在JSF2中,您只需将User
类声明为会话作用域托管bean:
@ManagedBean
@SessionScoped
public class User {
// ...
}
然后在处理表单提交的“action” bean 中,将其作为托管属性引用:
@ManagedBean
@RequestScoped
public class SomeFormBean {
@ManagedProperty(value="#{user}")
private User user;
public void submit() {
SomeData someData = user.getSomeData();
// ...
}
}
就是这样。
如果您想坚持使用原始的Servlet API,那么您必须接受必须在对象之间传递原始的HttpServletRequest/HttpServletResponse
的事实。最好的方法是在其周围homegrow some abstraction(但是这样您最终会像JSF2/Struts2已经在做的那样,那么除了出于爱好/自学目的外,为什么要自己开发呢 :))。