当前位置: 首页 > 知识库问答 >
问题:

利用Struts2实现在线考试网站的会话管理

朱经武
2023-03-14

我正在使用Struts2、JSP和Hibernate创建在线评估应用程序。

所有应用程序部分都运行完美。

为此,我使用了使用JDBC存储的tomcat服务器会话持久性。我能够用会话ID将会话对象存储在数据库表中。

当我重新打开浏览器时,我能够获得会话id,但不能获得数据。我的应用程序显示NullPointerException。

public class UserAction extends ActionSupport{
private String candidateID;
private List loadDropDown;
//getter setter methods
public String user_page1() throws IOException{
//loading examID in drop down list.
loadDropDown=new ArrayList(); 
//getting context object
ServletContext ctx=ServletActionContext.getServletContext(); 
//creating session object
HttpSession session = ServletActionContext.getRequest().getSession(false);
//showing session id
System.out.println("User Page 1 :"+session.getId());
if(session.isNew()){
here if user logging first time then application should be able to create new session object and load fresh data.
}
else
{
application should show them a question where they left
}
...

所以请帮帮我。

提前道谢。

拉文德帕尔·辛格

共有1个答案

毛淳
2023-03-14

使用会话持久性的方法存在问题。如果浏览器被配置为在关闭时删除cookie,或者在“私有浏览”模式下打开,那么会话id将不再存在,无法发送到服务器!

更好的方法是跟踪用户是否直接在数据库中启动了任何测试。类似地,只要用户尝试提问,数据库就可以更新。

在用户登录时,可以对任何挂起的测试进行检查,并允许用户在需要时继续。

更新:关于异常本身,正如JB Nizet所提到的,堆栈跟踪确实会有帮助

 类似资料:
  • 本文向大家介绍PHP巧妙利用位运算实现网站权限管理的方法,包括了PHP巧妙利用位运算实现网站权限管理的方法的使用技巧和注意事项,需要的朋友参考一下 首先我们先定义4个常量来设定四种权限: ===================================== define(ADD,1);//增加数据库记录的权限 define(UPD,2);//修改数据库记录的权限 define(SEL,4);

  • 但这不起作用,当我进入“loginriuscito.jsp”时,我只看到“welcome:”

  • 主要内容:1 Swing实现在线考试项目1 Swing实现在线考试项目 在此项目中,有10个问题要做。我们使用Java数组来存储问题,选项和答案,而不是数据库。您可以使用List集合或数据库代替数组。 输出结果为:

  • 重组BlogPost编辑界面 打开src/AppBundle/Admin/BlogPostAdmin.php文件,修改configureFormFields方法,增加几行,像下面的样子: $formMapper ->with('Content', array('class' => 'col-md-9')) ->add('title'

  • 任何web应用程序的核心内容之一是控制和维持用户交互状态的机制。这通常被认为是会话管理,定义为一系列用于管理用户和web应用系统交互状态的措施。这广泛覆盖了从用户如何认证到他们登出时发生的任何事情。 HTTP是一个无状态的协议,意味着web服务器在相应用户请求时不需要联系其他请求。但甚至有时是简单的应用程序逻辑也可能需要通过一个“会话”来关联用户发送的多个请求。这便需要第三方解决方案的介入,通过现

  • 本文向大家介绍利用DataSet部分功能实现网站登录,包括了利用DataSet部分功能实现网站登录的使用技巧和注意事项,需要的朋友参考一下 首先,我之前必须完成过注册,并把个人信息存入数据库中。 其次,这部分的个别对象是存于某些文档中的,需要引用命名空间。 以上所述是小编给大家介绍的利用DataSet部分功能实现网站登录 ,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!