Java web | 登陆后,隐藏登陆按钮并显示用户名


由于自己的主页是采用jsp来实现动态页面,在网上也找不到什么好方法,所以就根据自己学的来琢磨琢磨来实现想要的 登陆后隐藏登陆按钮 等操作。
在实现代码之前,需要了解JSTL的一些概念。

JSTL的概念

从JSP1.1规范开始,JSP就支持使用自定义标签,这不仅可以大大降低JSP页面的复杂度,还增强了代码的重用性。但是同一功能的标签由不同的Web应用厂制定可能是不同的,这就导致市面上出现了很多功能相同的标签,让网页制作者无从选择。所以为了解决问题,Sun公司就制定了一套标准标签库JSTL
它由5个不同功能的标签库共同组成,分别是:

  • Core(核心标签库)
  • I18N(国际化/格式化标签库)
  • SQL(数据库标签库)
  • XML(操作XML文档的标签库)
  • Functions(函数标签库)

注意:使用不同标签时需要在JSP中引入不同的库

我们这里使用到的是核心标签库Core的内容,如果对其他标签库感兴趣的话可以自行搜索,太啰嗦也不是我的风格。|ω・)

我们要用到的里面的<c:if>标签,它有3个属性,具体如下:

属性描述是否必要默认值
test条件
var用于存储条件结果的变量
scopevar属性的作用域page

如果想要了解更多相关标签的话可以看下面这位老哥的文章。
https://blog.csdn.net/weixin_42078450/article/details/86764362

代码步骤

  1. 在Web应用的WEB-INF/lib目录下导入JSTL的jstl.jar和standard.jar

要使用前,需要使用taglib指令导入Core标签库,具体代码如下。

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  1. 在jsp页面选择自己想要的位置插入
                <c:if test="${user.username!=null}">
                    <li class="menuout"><a href="personal"><b>${user.username}</b></a></li>
                </c:if>

				<%--检测用户名是否存在--%>
                <c:if test="${user.username==null}">
                	<li class="menuout"><a href="login.html"><b>登录</b></a></li>
                </c:if>

                <li class="menuout"><a href="editor.html"><b>发表</b></a></li>
                <li class="menuout100"> <a href="contact.jsp"><b>联系我们</b></a></li>
                <li class="menuout"><a href="logout"><b>注销</b></a></li>

但是在这之前,别忘了在Servlet里将user返回值保存到session当前会话。

                request.getSession().setAttribute("user",user);

效果图

登陆前
在这里插入图片描述

登陆后
在这里插入图片描述

总结

与其盲目搜方法,还不如在实现之前理清思路,清楚自己想要的功能,了解方法定义直到弄懂,再来尝试,可能会有不一样的感觉和收获哦。
开始写博客也是为了通过分享,让自己掌握的更加巩固。
如果有什么不足或者改进之处还请大佬指出。

  • 5
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,下面是一个简单的 Java Web 登录页面的示例,供您参考: 1. 首先,创建一个名为 "login.jsp" 的 JSP 页面,用于显示登录表单。在这个页面中,我们使用了 Bootstrap 框架来美化表单: ```html <!DOCTYPE html> <html> <head> <title>Login Page</title> <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.5.0/css/bootstrap.min.css"> </head> <body> <div class="container"> <h2>Login Page</h2> <form action="login" method="post"> <div class="form-group"> <label for="username">Username:</label> <input type="text" class="form-control" id="username" name="username"> </div> <div class="form-group"> <label for="password">Password:</label> <input type="password" class="form-control" id="password" name="password"> </div> <button type="submit" class="btn btn-primary">Submit</button> </form> </div> </body> </html> ``` 在这个页面中,我们创建了一个表单,其中包含两个输入框和一个提交按钮。当用户点击提交按钮时,表单数据将被提交到名为 "login" 的后端处理程序。 2. 在后端,我们需要编写一个 Servlet 类,用于接收前端传来的数据并进行验证。在这个示例中,我们使用了 Java Servlet API 提供的 HttpSession 类来存储用户登录状态: ```java @WebServlet("/login") public class LoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); String password = request.getParameter("password"); // 进行用户名和密码的验证 if (username.equals("admin") && password.equals("123456")) { // 登录成功,将用户信息存到 Session 中 HttpSession session = request.getSession(); session.setAttribute("username", username); // 跳转到主页 response.sendRedirect("home.jsp"); } else { // 验证失败,返回错误信息 request.setAttribute("error", "Invalid username or password"); request.getRequestDispatcher("login.jsp").forward(request, response); } } } ``` 在这个 Servlet 类中,我们使用 request.getParameter 方法来获取表单数据,并进行用户名和密码的验证。如果验证通过,我们使用 HttpSession 类将用户信息存储到 Session 中,并使用 response.sendRedirect 方法跳转到名为 "home.jsp" 的主页。否则,我们使用 request.setAttribute 方法设置一个名为 "error" 的属性,包含错误信息,然后使用 request.getRequestDispatcher 方法返回到登录页面,并显示错误信息。 3. 最后,创建一个名为 "home.jsp" 的 JSP 页面,用于显示用户登录后的主页。在这个页面中,我们可以使用 HttpSession 类获取用户信息: ```html <!DOCTYPE html> <html> <head> <title>Home Page</title> <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.5.0/css/bootstrap.min.css"> </head> <body> <div class="container"> <h2>Welcome, <%= session.getAttribute("username") %>!</h2> <a href="logout">Logout</a> </div> </body> </html> ``` 在这个页面中,我们使用了 JSP 的内置对象 session 来获取存储在 Session 中的用户信息,并显示欢迎信息。此外,我们还添加了一个 "Logout" 的链接,用于退出登录。 4. 如果您想要完整的代码示例,可以参考以下 GitHub 仓库中的代码:https://github.com/LeoJinL/JavaWeb-LoginDemo 希望这个示例能够帮助您理解 Java Web 登录页面的制作过程!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ztop

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值