1.新建3个jsp页面分别是login.jsp,main.jsp,add.jsp。 2.login.jsp页面中能够输入账号、密码, main.jsp页面中有增加订单链接,点击该超链接跳转到add.jsp,add.jsp页面能够添加订单id以及商品名称。 3.要求不能直接访问main.jsp,add.jsp。必修输入正确的账号密码才能访问main.jsp,通过main.jsp访问add.jsp。 4.正确的账号为“chenshuai”密码为“2108710202”。 5.在add.jsp页面输入订单id以及商品名称,并能够在当前页面显示所添加的商品信息。
时间: 2024-02-12 13:08:34 浏览: 101
感谢您的提问!根据您的问题,我可以为您提供以下答案:
首先,您需要在login.jsp页面中添加账号和密码的输入框,并使用form表单向后端发送请求。代码示例如下:
```
<form action="loginAction" method="post">
<label>账号:</label>
<input type="text" name="username"><br>
<label>密码:</label>
<input type="password" name="password"><br>
<input type="submit" value="登录">
</form>
```
接着,您需要编写一个Servlet类来处理登录请求。在该类中,您可以通过获取用户输入的账号和密码,与正确的账号和密码进行比对。若比对成功,则跳转到main.jsp页面;否则返回登录页面并提示用户登录失败。代码示例如下:
```
public class LoginAction 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 ("chenshuai".equals(username) && "2108710202".equals(password)) {
response.sendRedirect("main.jsp");
} else {
request.setAttribute("msg", "登录失败,请检查账号密码!");
request.getRequestDispatcher("login.jsp").forward(request, response);
}
}
}
```
在main.jsp页面中,您需要添加一个链接,用于跳转到add.jsp页面。该链接只有在用户登录成功后才能显示。代码示例如下:
```
<% if (session.getAttribute("username") != null) { %>
<a href="add.jsp">增加订单</a>
<% } %>
```
在add.jsp页面中,您需要添加订单id和商品名称的输入框,并使用form表单向后端发送请求。在后端处理完请求后,您可以将订单id和商品名称存储在一个List中,并在当前页面中显示出来。代码示例如下:
```
<form action="addOrderAction" method="post">
<label>订单id:</label>
<input type="text" name="orderId"><br>
<label>商品名称:</label>
<input type="text" name="productName"><br>
<input type="submit" value="添加">
</form>
<% List<String> orders = (List<String>) session.getAttribute("orders");
if (orders != null && !orders.isEmpty()) {
out.println("<ul>");
for (String order : orders) {
out.println("<li>" + order + "</li>");
}
out.println("</ul>");
}
%>
```
最后,在addOrderAction Servlet类中,您需要从请求参数中获取订单id和商品名称,并将其存储在session中。代码示例如下:
```
public class AddOrderAction extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String orderId = request.getParameter("orderId");
String productName = request.getParameter("productName");
HttpSession session = request.getSession(true);
List<String> orders = (List<String>) session.getAttribute("orders");
if (orders == null) {
orders = new ArrayList<String>();
session.setAttribute("orders", orders);
}
orders.add(orderId + " - " + productName);
response.sendRedirect("add.jsp");
}
}
```
以上就是实现您所需功能的关键代码,建议您根据实际情况进行修改和完善。希望能够对您有所帮助!
阅读全文