Struts 2登录和注销示例

17 Mar 2025 | 4 分钟阅读

在使用struts 2创建登录和注销应用程序之前,您必须清除struts 2中的aware接口的概念。在本例中,我们使用了SessionAware接口将信息放入会话范围,并使用了ServletActionContext类从会话范围获取信息。

本例包含三个链接登录注销个人资料。最终用户在登录之前无法点击个人资料页面。登录后,他/她可以进入个人资料页面。如果最终用户点击注销页面,他将无法访问个人资料页面。

在这里,我们假设您在oracle数据库中有一个名为user3333的表,其中包含记录。表查询是

使用struts 2创建登录和注销应用程序的示例

在本例中,我们需要以下页面

  1. index.jsp用于提供登录、注销和个人资料的链接。
  2. struts.xml用于定义结果和操作。
  3. Login.java用于定义登录和注销逻辑。
  4. LoginDao.java用于匹配数据库中的用户名和密码。
  5. Profile.java用于检查用户是否已登录。
  6. 视图组件用于显示结果。

1) 创建 index.jsp 用于输入

此jsp页面创建了三个登录、注销和个人资料的链接。

index.jsp

2) 在struts.xml中定义操作和结果

此xml文件定义了一个包和4个操作。每个操作定义了至少一个结果页面。

对于loginprocess和logout操作,我们使用相同的操作类,但它们的调用方法不同。

struts.xml

3) 为登录和注销创建操作类

此操作类实现了SessionAware接口并重写了setSession方法以将信息存储在会话范围中。

对于注销,我们只需调用SessionMapinvalidate()方法。

Login.java

4) 创建Dao类以验证用户

此类仅验证来自存储在oracle数据库中的表的用户。

LoginDao.java

5) 创建Profile类

此类从会话范围获取信息,如果在会话范围中找到带有登录名的任何信息,则返回成功,否则返回false。

Profile.java

6) 创建视图组件

有很多视图组件

  • login.jsp
  • loginsuccess.jsp
  • loginerror.jsp
  • logoutsuccess.jsp
  • profilesuccess.jsp
  • profileerror.jsp

登录的视图组件

login.jsp

此页面创建登录表单。

loginsuccess.jsp

此页面使用用户名打印欢迎消息。

loginerror.jsp

此页面显示错误消息。


注销的视图组件

logoutsuccess.jsp

此页面仅显示成功注销的消息。


个人资料的视图组件

profilesuccess.jsp

此页面打印欢迎来到个人资料消息。

profileerror.jsp

此页面打印消息以首先登录并包含login.jsp页面。