如何将数据库的数据展示在页面上面呢?
数据库中的数据
这边只是为了说明如何将数据库的数据展示在页面上面,逻辑暂时不作考虑。
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
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
原文地址: https://blog.csdn.net/weixin_42995083/article/details/104303495
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
相关文章