如何将数据库的数据展示在页面上面呢?

2023-01-02 00:00:00 数据库 页面 如何将

数据库中的数据

《如何将数据库的数据展示在页面上面呢?》

这边只是为了说明如何将数据库的数据展示在页面上面,逻辑暂时不作考虑

1.通过链接的形式去访问Servlet

http://localhost:8080/JF190902/UserServlet?action=login

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>校务管理系统</title>
    <link rel="stylesheet" href="./css/index.css">
</head>

<body>
    <div class="wrapper">
        <div class="content">
            <h1>校务管理系统</h1>
            <form action="http://localhost:8080/JF190902/UserServlet?action=login" method="post">
                <ul>
                    <li>用户名:</li>
                    <li><input type="text" placeholder="请输入用户名" id="userName"></li>
                    <li>密码:</li>
                    <li><input type="password" placeholder="请输入密码" id="password"></li>
                    <li><input type="submit" value="登陆"><input type="reset" value="重置"></li>
                </ul>
            </form>
        </div>
    </div>

</body>

</html>

2.在UserServlet中进行什么操作呢?

(1).当前servlet数据的业务处理

(2).将结果给下一个servlet(JSP)进行处理(请求转发进行)

(3).如何将数据交给下个servlet(jsp)呢?

(4).将数据交给request对象进行保存request.setAttribute(“userList”, userList);

(5).请求转发:请求的处理交给下个servlet(jsp)进行处理。

request.getRequestDispatcher(“/index.jsp”).forward(request, response);

在这边请求转发代替了原来PrintWriter输出的方式,因为PrintWriter要out.println(“……”);相当麻烦

 private void loginUser(HttpServletRequest request, HttpServletResponse response) throws  ServletException, IOException {
		
    	request.setCharacterEncoding("UTF-8");
		response.setContentType("text/html");
		response.setCharacterEncoding("UTF-8");
	    UserDao userdao=new UserDaoImpl();
	    User user=new User();
	    List <User> userList=userdao.queryUsers(user);
	  
		//1.当前servlet做数据的业务处理。
		//2.将结果给下一个servlet(JSP)进行处理(请求转发进行)
		//如何将数据交给下个servlet(jsp)呢?
        //将数据交给request对象进行保存
		request.setAttribute("userList", userList);
		//请求转发:将请求的处理交给下个servlet(jsp)进行处理
		request.getRequestDispatcher("/index.jsp").forward(request, response);

	}

3.在JSP页面上面展示数据

这边遇到一个小问题,为什么alt+/没办法自动加载包呢?因为要把光标放到要导包的元素后面

先把数据取出来,通过request对象(内置对象,不需要我们去创建,其实是httpservletRequest对象的实例

request.getAttribute(“userList”);

 List<User> userList=(List<User>)request.getAttribute("userList");
<%@page import="java.util.List"%>
<%@page import="com.cyzy.bean.User"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>展示数据</title>
</head>
<body>
	<table border="1">
		<tr>
			<th>用户姓名</th>
			<th>用户账户名</th>
			<th>性别</th>
			<th>日期</th>
		</tr>
		<%
			//先把数据取出来,通过request对象(内置对象,不需要我们去创建,其实是httpservletRequest对象的实例)
			List<User> userList = (List<User>) request.getAttribute("userList");
			for (int i = 0; i < userList.size(); i++) {
				User user = userList.get(i);//user是个变量
		%>
		<tr>
			<td><%=user.getUserAccount()%></td>
			<td><%=user.getRealName()%></td>
			<td><%=user.getSex() == 1 ? "男" : "女"%></td>
			<td><%=user.getBirthday()%></td>
		</tr>

		<%
			}
		%>
	</table>
</body>
</html>

最后效果图如下:

《如何将数据库的数据展示在页面上面呢?》

    原文作者:走到天涯海角
    原文地址: https://blog.csdn.net/weixin_42995083/article/details/104303495
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。

相关文章