实现两个JSP页面,一个可以让用户输入姓名、年龄等信息,另一个页面显示登陆结果
【代码】实现两个JSP页面,一个可以让用户输入姓名、年龄等信息,另一个页面显示登陆结果。
·
实现两个JSP页面,一个可以让用户输入姓名、年龄等信息,另一个页面显示登陆结果
1. 创建两个JSP页面:一个用于用户输入信息,另一个用于显示登录结果。可以在第一个页面中使用HTML表单控件来获取用户输入的姓名、年龄等信息。
<form action="loginServlet" method="post">
姓名:<input type="text" name="name"><br>
年龄:<input type="text" name="age"><br>
<input type="submit" value="提交">
</form>
2. 创建一个Servlet对象,用于处理用户提交的数据。可以在Servlet中实现数据的验证和处理逻辑。例如:
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取用户输入的姓名和年龄
String name = request.getParameter("name");
int age = Integer.parseInt(request.getParameter("age"));
// 验证姓名和年龄是否合法
boolean valid = true;
if (name == null || name.trim().equals("")) {
valid = false;
}
if (age <= 0 || age >= 100) {
valid = false;
}
// 如果数据合法,则创建JavaBean并存储到Session中
if (valid) {
UserBean user = new UserBean();
user.setName(name);
user.setAge(age);
HttpSession session = request.getSession();
session.setAttribute("user", user);
}
// 跳转到登录结果页面
response.sendRedirect("loginResult.jsp");
}
}
解释:
这段代码是一个Java Servlet,在用户提交登录表单后,会通过doPost()
方法接收请求并处理用户输入的姓名和年龄。具体流程如下:
- 获取用户在登录表单中输入的姓名和年龄:使用
request.getParameter()
方法获取表单参数,其中"name"对应name属性,"age"对应age属性。 - 验证用户输入的姓名和年龄是否合法:如果姓名为空或者全是空格,或者年龄小于等于0或者大于等于100,就认为数据不合法。
- 如果数据合法,就创建一个UserBean对象,并将其存储到Session中:UserBean对象是一个JavaBean,里面包含了用户的姓名和年龄。使用HttpSession对象的
setAttribute()
方法,可以将UserBean对象存储到Session中。 - 最后,跳转到登录结果页面:使用
response.sendRedirect()
方法,将用户重定向到loginResult.jsp页面。这个页面可以显示用户登录结果,例如"登录成功"或者"登录失败"等信息。
总的来说,这段代码实现了一个简单的登录功能,包括从前端获取用户输入、验证用户输入、将用户数据存储到Session中等步骤。
3. 创建一个JavaBean,用于表示登录用户。可以在JavaBean中定义姓名和年龄的属性,以及获取和修改这些属性的方法。例如:
public class UserBean {
private String name;
private int 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;
}
}
4. 创建登录结果页面loginResult.jsp,用于显示登录用户的信息。例如:
<%
// 从Session中获取登录用户的信息
HttpSession session = request.getSession();
UserBean user = (UserBean) session.getAttribute("user");
%>
<div>
<h1>登录结果</h1>
<% if (user != null) { %>
<p>您好,<%= user.getName() %>,您的年龄是<%= user.getAge() %>岁。</p>
<% } else { %>
<p>登录失败,请重新输入您的姓名和年龄。</p>
<% } %>
</div>
解释:
这段代码是一个基于JSP的动态网页,用于显示登录结果。
- 首先,从当前请求中获取
HttpSession
对象,该对象允许存储和检索与用户会话有关的信息。
接着,使用session.getAttribute()
方法来获取名为"user"的属性值,并将其转换为UserBean对象。如果session中不存在"user"属性,或者无法将其转换为UserBean对象,则user变量将被赋值为null。 - 上面的代码块包含了一个if-else条件语句,用于检查用户是否成功登录。如果user不为null,则表示用户已经成功登录,并通过调用
user.getName()
和user.getAge()
方法,显示用户的姓名和年龄。如果user为null,则表示用户登录失败,并显示一条相应的消息。 - 最终,HTML标记被插入到JSP页面中,用于呈现登录结果。
更多推荐
所有评论(0)