m0_65672529 2022-12-17 15:28 采纳率: 100%
浏览 131
已结题

html jsp留言板

求源码
1.登录界面login.html。其中有一个表单,在表单中输入用户名和密码,单击登录按钮,跳转到登录验证页面。
2.登录验证页面check.jsp。创建一个二维数组,二维数组中放若干条记录(用户名和密码)。然后获取login.html提交的数据,判断用户名和密码是否在二维数组中。如果不在数组中,跳转到登录页面。如果在数组中(合法用户),跳转到一个留言页面inputm.html。如果不在数组中,则用户不合法,跳转到login.html。
3.inputm.html。该界面中有一个表单,在表单中有一个textarea,输入留言内容,单击提交按钮将留言信息提交给show.jsp。
4.跳转到留言展示页面show.jsp。首先获取留言内容,将留言存储到一个集合中,再将集合保存到application中。然后从application中获得集合,遍历集合,将留言内容一条一条的显示在网页中,显示方式自定。在网页中加入一个超链接,可以跳转到inputm.jsp,继续留言。
5.创建一个退出页面quit.jsp。在inputm.jsp和show.jsp分别放置一个退出的超链接,单击这个超链接可以跳转到quit.jsp页面进行用户退出。求源码

  • 写回答

3条回答 默认 最新

  • 爱音斯坦牛 全栈领域优质创作者 2022-12-17 20:19
    关注

    参考代码如下,记得采纳哦!
    1.login.html 源码:

    <!DOCTYPE html>
    <html>
    <head>
      <title>登录界面</title>
    </head>
    <body>
      <h1>登录界面</h1>
      <form action="check.jsp" method="post">
        用户名:<input type="text" name="username"><br>
        密码:<input type="password" name="password"><br>
        <input type="submit" value="登录">
      </form>
    </body>
    </html>
    

    2.check.jsp 源码:

    <%@ page import="java.util.Arrays" %>
    <%
      String[][] users = {{"user1", "pwd1"}, {"user2", "pwd2"}};
      String username = request.getParameter("username");
      String password = request.getParameter("password");
      // 判断用户名和密码是否在二维数组中
      boolean isValid = Arrays.stream(users).anyMatch(u -> u[0].equals(username) && u[1].equals(password));
      if (isValid) {
        response.sendRedirect("inputm.html");
      } else {
        // 如果不合法,跳转到登录界面
        response.sendRedirect("login.html");
      }
    %>
    

    3.inputm.html 源码:

    <!DOCTYPE html>
    <html>
    <head>
      <title>留言页面</title>
    </head>
    <body>
      <h1>留言页面</h1>
      <form action="show.jsp" method="post">
        留言内容:<br>
        <textarea name="message"></textarea><br>
        <input type="submit" value="提交">
      </form>
    </body>
    </html>
    

    4.show.jsp 源码:

    <%@ page import="java.util.ArrayList" %>
    <%@ page import="java.util.List" %>
    <%
      String message = request.getParameter("message");
      // 判断是否已经保存过留言
      List<String> messages = (List<String>) application.getAttribute("messages");
      if (messages == null) {
        // 如果没有保存过留言,创建新的集合
        messages = new ArrayList<>();
      }
      messages.add(message);
      application.setAttribute("messages", messages);
    %>
    <!DOCTYPE html>
    <html>
    <head>
      <title>留言展示页面</title>
    </head>
    <body>
      <h1>留言展示页面</h1>
      <%
        messages = (List<String>) application.getAttribute("messages");
        // 遍历留言集合,显示留言内容
        for (String m : messages) {
          out.println(m + "<br>");
        }
      %>
      <br>
      <a href="inputm.html">继续留言</a> | <a href="quit.jsp">退出</a>
    </body>
    </html>
    
    

    5.quit.jsp 源码:

    <%
      // 清空 application 中保存的留言集合
      application.removeAttribute("messages");
      // 跳转到登录界面
      response.sendRedirect("login.html");
    %>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月18日
  • 已采纳回答 12月17日
  • 修改了问题 12月17日
  • 赞助了问题酬金15元 12月17日
  • 展开全部

悬赏问题

  • ¥15 Stata链式中介效应代码修改
  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 添加组件无法加载页面,某块加载卡住
  • ¥15 网络科学导论,网络控制
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错