错误回显

前提:将前面的用户注册案例的时间转化时,抛出运行时异常

在struts.xml中配置回显页面,让其发生错误后还回到这个注册页面,并且给出错误信息

在register.jsp中添加struts的标签

那么当出现错误的时候就会把出现错误的错误信息抛出到这个标签内部

这里面注意,错误必须抛出,要不然不会回显

 

为了实现这个功能,您需要遵循以下步骤: 1. 创建一个login.jsp页面,包含一个表单,请求方法为POST,表单中有用户名和密码两个文本框以及一个提交按钮。 2. 创建一个Servlet来处理登录请求,将请求和响应对象作为参数传递给Servlet,从请求对象中获取用户名和密码,然后验证它们是否正确。如果用户名或密码不正确,则将错误消息设置为请求属性,然后将请求转发回login.jsp页面。如果用户名和密码正确,则将用户名设置为会话属性,然后重定向到list.jsp页面。 3. 创建一个list.jsp页面,它将检查会话属性中是否有用户名,如果有则显示欢迎消息和商品列表。商品列表可以使用HTML表格来呈现,您可以将数据硬编码到JSP页面中,或者从数据库或其他数据源获取数据。 下面是一个简单的实现示例: login.jsp: ``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Login</title> </head> <body> <h1>Login</h1> <% if (request.getAttribute("error") != null) { %> <p><font color="red"><%= request.getAttribute("error") %></font></p> <% } %> <form method="post" action="login"> <label>Username:</label><br/> <input type="text" name="username"><br/> <label>Password:</label><br/> <input type="password" name="password"><br/><br/> <input type="submit" value="Login"> </form> </body> </html> ``` LoginServlet.java: ``` @WebServlet("/login") public class LoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; private static final String USERNAME = "admin"; private static final String PASSWORD = "password"; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); String password = request.getParameter("password"); if (USERNAME.equals(username) && PASSWORD.equals(password)) { request.getSession().setAttribute("username", username); response.sendRedirect("list.jsp"); } else { request.setAttribute("error", "Invalid username or password"); request.getRequestDispatcher("login.jsp").forward(request, response); } } } ``` list.jsp: ``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>List</title> </head> <body> <% if (session.getAttribute("username") != null) { %> <h1>Welcome <%= session.getAttribute("username") %>!</h1> <table border="1"> <tr> <th>Product Name</th> <th>Price</th> <th>Quantity</th> <th>Description</th> </tr> <tr> <td>Product 1</td> <td>$10.00</td> <td>5</td> <td>Description 1</td> </tr> <tr> <td>Product 2</td> <td>$20.00</td> <td>3</td> <td>Description 2</td> </tr> <tr> <td>Product 3</td> <td>$30.00</td> <td>2</td> <td>Description 3</td> </tr> <tr> <td>Product 4</td> <td>$40.00</td> <td>1</td> <td>Description 4</td> </tr> <tr> <td>Product 5</td> <td>$50.00</td> <td>4</td> <td>Description 5</td> </tr> </table> <% } else { %> <p>You must login first</p> <a href="login.jsp">Login</a> <% } %> </body> </html> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值