宋先生394 2023-05-24 10:40 采纳率: 25%
浏览 39

用户输入姓名、年龄等信息,另一个页面显示登陆结果

简单的用户登录系统
设计一个web应用,该web应用提供两个JSP页面,一个可以让用户输入姓名、年龄等信息,另一个页面显示登陆结果。web应用提供一个servlet对象用于负责数据的操作(姓名、年龄的合法性),web应用提供的javabean负责刻画登录用户,提供简单的数据获取和修改数据的方法。无需连接数据库

  • 写回答

2条回答 默认 最新

  • 冰点. 优质创作者: 编程框架技术领域 2023-05-24 10:59
    关注

    我写一个简单的示例:
    简单的用户登录系统的设计,包括两个 JSP 页面、一个 Servlet 对象和一个 JavaBean。

    1. 输入信息页面(input.jsp)

    该页面用于让用户输入姓名、年龄等信息,并提交表单内容。表单中包括以下字段:

    • 姓名(name)
    • 年龄(age)
    • 提交按钮(submit)

    input.jsp 页面的代码如下:

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="UTF-8">
        <title>用户登录</title>
      </head>
      <body>
        <h1>用户登录</h1>
        <form action="login" method="post">
          <label for="name">姓名:</label>
          <input type="text" id="name" name="name" required><br>
          <label for="age">年龄:</label>
          <input type="number" id="age" name="age" required><br>
          <button type="submit">提交</button>
        </form>
      </body>
    </html>
    
    1. 登录结果页面(result.jsp)

    该页面用于显示用户登录结果,包括登录成功或失败的提示信息以及用户输入的姓名和年龄。如果登录失败,则会显示失败原因。

    result.jsp 页面的代码如下:

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="UTF-8">
        <title>登录结果</title>
      </head>
      <body>
        <h1>登录结果</h1>
        <% if (bean.isValid()) { %>
          <p>欢迎您,<%= bean.getName() %>!您的年龄是 <%= bean.getAge() %>。</p>
        <% } else { %>
          <p>登录失败: <%= bean.getErrorMessage() %></p>
        <% } %>
      </body>
    </html>
    
    1. Servlet 对象(LoginServlet)

    该对象用于处理用户输入的数据,并将处理结果存储在 JavaBean 中。Servlet 对象的代码如下:

    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class LoginServlet extends HttpServlet {
      private static final long serialVersionUID = 1L;
    
      protected void doPost(HttpServletRequest request, HttpServletResponse response)
          throws ServletException, IOException {
        String name = request.getParameter("name");
        int age = Integer.parseInt(request.getParameter("age"));
    
        LoginBean bean = new LoginBean(name, age);
        bean.validate();
    
        request.setAttribute("bean", bean);
        request.getRequestDispatcher("result.jsp").forward(request, response);
      }
    }
    
    1. JavaBean(LoginBean)

    该对象用于刻画登录用户,包括用户输入的姓名、年龄以及登录结果的状态和提示信息。JavaBean 的代码如下:

    public class LoginBean {
      private String name;
      private int age;
      private boolean valid;
      private String errorMessage;
    
      public LoginBean(String name, int age) {
        this.name = name;
        this.age = age;
      }
    
      public String getName() {
        return name;
      }
    
      public void setName(String name) {
        this.name = name;
      }
    
      public int getAge() {
        return age;
      }
    
      public void setAge(int age) {
        this.age = age;
      }
    
      public boolean isValid() {
        return valid;
      }
    
      public String getErrorMessage() {
        return errorMessage;
      }
    
      public void validate() {
        if (name == null || name.trim().equals("")) {
          valid = false;
          errorMessage = "请输入姓名。";
        } else if (age < 18 || age > 60) {
          valid = false;
          errorMessage = "年龄必须在 18 岁到 60 岁之间。";
        } else {
          valid = true;
        }
      }
    }
    

    该系统可以让用户输入姓名、年龄等信息并提交表单,然后通过 Servlet 对象进行数据处理和验证,并将结果存储在 JavaBean 中。最后,结果页面根据 JavaBean 的状态和提示信息来显示登录结果。

    评论

报告相同问题?

问题事件

  • 创建了问题 5月24日