繁体   English   中英

使用servlet和jsp创建多用户登录页面

[英]create multi user login page using servlet and jsp

我有一个登录页面,即index.jsp,它有3个字段:

1.> Usertype select tag(包括admin,emp,proj.co-ordinator,proj.manager)2。>用户名文本框3.>密码文本框

登录按钮

现在的问题是,我为不同的用户(admin,emp,proj。协调员,项目经理)提供了不同的用户名和密码表。

那么使用servlet和jsp验证多用户登录是否有任何逐步过程。

我成功地能够为单个用户运行(例如仅用于用户名和密码)但无法为多用户运行。

假设在控制器中你得到变量type usertype,那么你可以手动创建查询并从db获取结果,如下所示:

String query = "Select * from "+type+" where <Your condition>";

但这样做真是个糟糕的主意。 相反,你应该看看db中的继承。 我想可以帮助您重构数据库。

为什么这是个坏主意?

让我们假设您的系统中当前有3种类型的用户说:admin,employee和user。

现在过了一段时间,如果你需要在系统说HR中添加另一种类型的用户,那么你需要执行哪些步骤:
1)为具有相同重复列的HR创建另一个表。
2)为HR用户更改java文件中的逻辑。
3)如果您对查询进行了硬编码,则扫描整个项目以获得相同的效果。

db中继承的好处:

只需在db中type = "HR"的记录就可以了。 是不是很简单?

还有,我们:

Advantages:

  • 简单的方法。
  • 您可以轻松添加新类,只需为其他数据添加新列。
  • 只需更改行的类型即可支持多态性。
  • 数据访问速度很快,因为数据在一个表中。
  • 临时报告非常简单,因为所有数据都可以在一个表中找到。

Disadvantages:

  • 由于所有类都直接耦合到同一个表,因此增加了类层次结构中的耦合。 一个类中的更改可以影响表,然后可以影响层次结构中的其他类。
  • 空间可能在数据库中浪费。
  • 当存在类型之间的显着重叠时,指示类型变得复杂。
  • 对于大型层次结构,表可以快速增长。

When to use:

  • 对于简单和/或浅类层次结构,这是一种很好的策略,其中层次结构中的类型之间几乎没有重叠。

在你的情况下,最有可能有两个批准

1)您可以如上所述手动创建查询

2)您可以创建一个包含usertype的表(包括admin,emp,proj.co-ordinator,proj.manager)及其相关表。 所以在控制器上获得所需信息时

但这将是一个开销,对于新的usertype,你必须创建一个新的用户。 所以添加它会更好,如果你有一个表存储所有用户名和密码的表,对于用户类型,你可以添加新列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM