Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 如何从servlet同步数据库读写_Database_Jsp_Servlets - Fatal编程技术网

Database 如何从servlet同步数据库读写

Database 如何从servlet同步数据库读写,database,jsp,servlets,Database,Jsp,Servlets,我有一个Servlet,当请求到来时,它会检查用户id,如果id不在那里,它会在数据库中创建一个新的用户id。但是,如果我在很短的延迟内收到多个请求,那么所有这些请求都倾向于看到此时没有用户,并创建具有相同名称的多个用户。我只是不想让用户id字段成为唯一的字段来解决这个问题。除了用户id之外,我还存储了一些相关数据 我需要知道如何在一个Servlet请求完成处理之前保持数据库锁定 您需要使servlet代码同步 简单的方法是让servlet实现SingleThreadModel 但这不是一个好方

我有一个Servlet,当请求到来时,它会检查用户id,如果id不在那里,它会在数据库中创建一个新的用户id。但是,如果我在很短的延迟内收到多个请求,那么所有这些请求都倾向于看到此时没有用户,并创建具有相同名称的多个用户。我只是不想让用户id字段成为唯一的字段来解决这个问题。除了用户id之外,我还存储了一些相关数据


我需要知道如何在一个Servlet请求完成处理之前保持数据库锁定

您需要使servlet代码同步

简单的方法是让servlet实现SingleThreadModel

但这不是一个好方法,因为servlet一次只能处理一个线程/请求。好的解决方案是同步检查和生成uid的部分