在注册中添加查询所有信息
需求:想要在注册完成后直接查询到所有注册的信息,并且跳转到一个独立的信息页面
ZhuceDao中添加查询方法
/**
*
* @return 查询所有用户的信息
* @throws ClassNotFoundException
* @throws SQLException
*/
public static List<UsersVo> selectUser() throws ClassNotFoundException, SQLException{
List<UsersVo> list=new ArrayList<UsersVo>();//创建集合,当做车
Connection cn = getConnerction();
String sql="select * from Users order by id";
PreparedStatement ps=cn.prepareStatement(sql);
ResultSet rs=ps.executeQuery();
while (rs.next()) {
UsersVo u=new UsersVo();//创建对象,将数据打包
u.setId(rs.getInt("id"));
u.setName(rs.getString("name"));
u.setPassword(rs.getInt("password"));
list.add(u);//将打包好的数据装车(放入集合中)
}
closeConnection(cn);
return list;
}
ZhuceServlet调用方法并跳转页面
List<UsersVo> list=ZhuceDao.selectUser();//调用ZhuceDao中的查询方法
request.setAttribute("ren", list);//将注册数据和查询到并放入集合中的数据放在一起,以便将数据传递到另一个页面
request.getRequestDispatcher("tiaozhuan.jsp").forward(request, response);//跳转到"tiaozhuan.jsp"页面,并将request的数据响应到此页面中
request.getRequestDispatcher()是请求转发,前后页面共享一个request
response.sendRedirect()是重新定向 也是就是重新创建了一个request 前后页面不是一个request,所以前后页面的值不会共享
跳转的页面
<%@ page language="java" import="java.util.* ,vo.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
List<UsersVo> list = (List<UsersVo>)request.getAttribute("ren");
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'tiaozhuan.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<table border="1" width="80%">
<tr><td> 注册成功 ,下面是您的注册信息</td></tr>
<tr>
<td>id</td>
<td>name</td>
<td>password</td>
</tr>
<% for(UsersVo s:list){ %>
<tr>
<td><%=s.getId() %></td>
<td><%=s.getName() %></td>
<td><%=s.getPassword() %></td>
</tr>
<%} %>
</table>
<br>
</body>
</html>
一个jsp页面中只有page、import、和编码类型(pageEncoding)
例:<%@ page language="java" import="java.util.* ,vo.*" pageEncoding="UTF-8"%>
其中,import可以有多个,和java页面的引包一样,在jsp页面书写java代码要在<% %>中书写才能生效,并且可以和表单等控件联合使用