《Web服务器端应用开发》实验报告五

EL+JSTL消除JSP中的Java代码

  • 实验内容

1、使用Servlet+JSP技术开发一个登录跳转的web应用,其中Servlet负责业务处理及跳转控制,JSP负责显示数据。至少有两个jsp页面(login.jsp和list.jsp),且不能有Java代码。其中login.jsp负责登录界面并支持错误回显,list.jsp负责显示欢迎xxx登录并用表格显示一个商品列表(数据自行模拟,可不写实体类)。

为了开发这个Web应用,我们需要完成以下步骤:

  1. 编写login.jsp文件,用于显示登录界面并接收用户输入的用户名和密码。

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Login Page</title> </head> <body> <form action="/login" method="POST"> <label for="username">Username:</label> <input type="text" id="username" name="username"><br><br> <label for="password">Password:</label> <input type="password" id="password" name="password"><br><br> <input type="submit" value="Login"> </form> <c:if test="${not empty errorMsg}"> <p>${errorMsg}</p> </c:if> </body> </html>

  1. 编写Web.xml文件,用于配置Servlet和JSP的映射关系。

<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>com.example.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>login.jsp</welcome-file> </welcome-file-list> </web-app>

  1. 编写LoginServlet.java文件,用于接收用户提交的用户名和密码,进行登录验证并跳转到list.jsp页面。

package com.example; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.example.model.User; @WebServlet("/login") public class LoginServlet 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 (username.equals("admin") && password.equals("admin")) { User user = new User("Admin"); request.getSession().setAttribute("user", user); response.sendRedirect(request.getContextPath() + "/list.jsp"); } else { request.setAttribute("errorMsg", "Invalid username or password"); request.getRequestDispatcher("/login.jsp").forward(request, response); } } }

  1. 编写list.jsp文件,用于显示欢迎XXX登录和商品列表。

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>List Page</title> </head> <body> <h1>Welcome ${user.name}!</h1> <table border="1"> <tr> <th>Product ID</th> <th>Product Name</th> <th>Price</th> </tr> <tr> <td>001</td> <td>Product A</td> <td>$100</td> </tr> <tr> <td>002</td> <td>Product B</td> <td>$200</td> </tr> <tr> <td>003</td> <td>Product C</td> <td>$300</td> </tr> </table> </body> </html>

其中,我们使用了EL表达式${user.name}来显示用户名,${not empty errorMsg}用于判断错误信息是否为空。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值