`
阿尔萨斯
  • 浏览: 4209135 次
社区版块
存档分类
最新评论

【实例】赵雅智_login(2)查看所有

 
阅读更多

index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.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>
    <h1>欢迎${entity.name}登陆后台界面</h1>
      
     <a href="${pageContext.request.contextPath}/select.do">查询所有的管理员记录</a>
  </body>
</html>

FindAllServlet.java

package www.csdn.net.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import www.csdn.net.domain.Admin;
import www.csdn.net.service.AdminService;
import www.csdn.net.service.AdminServiceImpl;

public class FindAllServlet extends HttpServlet {
	public void doGet(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
		// 创建业务对象
		AdminService adminService = new AdminServiceImpl();
		List<Admin> entities = adminService.findAll();

	request.setAttribute("entities", entities);
	request.getRequestDispatcher("./message/select.jsp").forward(request, response);
	}

public void doPost(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
this.doGet(request, response);
}

}

AdminDaoImpl添加findAll方法

package www.csdn.net.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import www.csdn.net.domain.Admin;
import www.csdn.net.util.DBConn;

public class AdminDaoImpl implements AdminDao {

	private Connection conn;
	private PreparedStatement pstmt;
	private ResultSet rs;
	public boolean delete(Admin entity) {
		// TODO Auto-generated method stub
		return false;
	}

	public boolean delete(int id) {
		// TODO Auto-generated method stub
		return false;
	}

	public List<Admin> findAll() {
		// 1、声明返回值变量
		List<Admin> entities = new ArrayList<Admin>();
		// 2、声明sql语句
		String sql = "select id,name,pass,sex,role from admin";
		// 3、获取连接对象
		conn = DBConn.getConn();

		try {
			// 4、根据sql语句获取预处理对象
			pstmt = conn.prepareStatement(sql);
			// 5、为占位符赋值

			// 6、执行查询
			rs = pstmt.executeQuery();
			// 7、判断rs.next(); if,while
			while (rs.next()) {
				// 实例化对象
				Admin entity = new Admin();
				// 为对象赋值 ----实际上就是把admin这个表中字段的值,赋值给Admin这个类对象的属性
				entity.setId(rs.getInt("id")); // rs.getInt("id")数据库id字段的值
				// 赋值给了Class Admin 的id属性
				entity.setName(rs.getString("name")); // rs.getString("name")数据库Admin表
				// name字段的值 赋值给了 Class
				// Admin 的 name属性
				entity.setPass(rs.getString("pass"));
				entity.setSex(rs.getString("sex"));
				entity.setRole(rs.getInt("role"));

				entities.add(entity);// 添加到集合中
			}
			// 8、释放资源
			DBConn.realse(rs, pstmt);

		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		return entities;
	}


	public Admin findById(int id) {
		// TODO Auto-generated method stub
		return null;
	}

	public List<Admin> findNowPageInfo(int nowpage) {
		// TODO Auto-generated method stub
		return null;
	}

	public int getCountSize() {
		// TODO Auto-generated method stub
		return 0;
	}

	public boolean insert(Admin entity) {
		// TODO Auto-generated method stub
		return false;
	}

	public Admin login(String name, String pass) {
		// 1、声明返回值变量
		Admin entity = null;
		// 2、声明sql语句
		String sql = "select id,name,pass,sex,role from admin where name=? and pass=? ";
		// 3、获取连接对象
		conn = DBConn.getConn();

		try {
			// 4、根据sql语句获取预处理对象
			pstmt = conn.prepareStatement(sql);
			// 5、为占位符赋值
			int index = 1;
			pstmt.setString(index++, name);
			pstmt.setString(index++, pass);
			// 6、执行查询
			rs = pstmt.executeQuery();
			// 7、判断rs.next(); if,while
			if (rs.next()) {
				// 实例化对象
				entity = new Admin();
				// 为对象赋值 ----实际上就是把admin这个表中字段的值,赋值给Admin这个类对象的属性
				entity.setId(rs.getInt("id")); // rs.getInt("id")数据库id字段的值
				// 赋值给了Class Admin 的id属性
				entity.setName(rs.getString("name")); // rs.getString("name")数据库Admin表
				// name字段的值 赋值给了 Class
				// Admin 的 name属性
				entity.setPass(rs.getString("pass"));
				entity.setSex(rs.getString("sex"));
				entity.setRole(rs.getInt("role"));
			}
			// 8、释放资源
			DBConn.realse(rs, pstmt);

		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		return entity;
	}
}


测试

package www.csdn.net.junit;

import java.util.List;

import org.junit.Test;

import www.csdn.net.dao.AdminDao;
import www.csdn.net.dao.AdminDaoImpl;
import www.csdn.net.domain.Admin;


public class AdminDaoImolTest {
	//AdminDao接口,AdminDaoImpl是接口的实现类,所有一个接口实现类的对象可以转换成接口的对象(多态性)。
	private AdminDao adminDao = new AdminDaoImpl();
	
	@Test
	public void login(){
		 Admin entity = adminDao.login("Jack", "123");
		 System.out.println(entity.toString());
	}
	

	@Test
	public void findAll() {
		List<Admin> list = adminDao.findAll();
		System.out.println("查询内容是:");
		for (Admin admin : list) {
			System.out.println("id:" + admin.getId());
			System.out.println("name:" + admin.getName());
			System.out.println("pw:" + admin.getPass());
			System.out.println("sex:" + admin.getSex());
			System.out.println("role:" + admin.getRole());
			System.out.println(" ");
		}
	}}


Select.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'select.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>
         <h1>查询所有的管理员记录</h1>
         <table border="1px" cellpadding="1px" cellspacing="0">
           <thead>
               <th>序号</th>
               <th>姓名</th>
               <th>性别</th>
               <th>密码</th>
               <th>角色</th>
               <th>操作</th>
           </thead>
           
           <tbody>
           
           <c:forEach var="entity" items="${entities}">
              <tr>
                <td>${entity.id }</td>
                <td>${entity.name }</td>
                <td>${entity.sex }</td>
                <td>${entity.pass }</td>
                <td>${entity.role }</td>
                <td>
                    <a href="${pageContext.request.contextPath}/findById.do?id=${entity.id}">查看详情</a>|
                    <a href="${pageContext.request.contextPath}/deleteById.do?id=${entity.id}">删除</a>
                </td>
              </tr>
            </c:forEach>
           </tbody>
           
         </table>
  </body>
</html>


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics