第七个版本,从数据库中读取学生列表,并显示。
效果如下:
数据库配置信息
SqlConstant.java
package com.coderdream.db; public class SqlConstant { public static final String DB_NAME = "com.mysql.jdbc.Driver"; public static final String DB_URL = "jdbc:mysql://localhost:3306/stu"; public static final String DB_USER_NAME = "root"; public static final String DB_PASSWORD = "1234"; }
数据库工具类
JdbcUtil.java
package com.coderdream.db; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class JdbcUtil { public static void close(Statement st, Connection con) { try { st.close(); } catch (Exception e) { } try { con.close(); } catch (Exception e) { } } public static void close(ResultSet rs, Statement st, Connection con) { try { rs.close(); } catch (Exception e) { } close(st, con); } public static Connection getConnection() throws Exception { Class.forName(SqlConstant.DB_NAME); return DriverManager.getConnection(SqlConstant.DB_URL, SqlConstant.DB_USER_NAME, SqlConstant.DB_PASSWORD); } }
学生DAO
StudentDao.java
package com.coderdream.db; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import com.coderdream.vo.StudentView; public class StudentDao { public List<StudentView> quertAllStudent() { Connection con = null; Statement st = null; ResultSet rs = null; List<StudentView> studentList = new ArrayList<StudentView>(); try { con = JdbcUtil.getConnection(); st = con.createStatement(); String sql = "select * from student"; System.out.println(sql); rs = st.executeQuery(sql); StudentView studentView = null; while (rs.next()) { studentView = new StudentView(); studentView.setNo(rs.getString("sno")); studentView.setName(rs.getString("sname")); studentView.setSex(rs.getString("ssex")); studentView.setAge(rs.getInt("age")); studentView.setDept(rs.getString("sdept")); System.out.println(studentView); studentList.add(studentView); } } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(e); } finally { JdbcUtil.close(rs, st, con); } return studentList; } }
更新后的LoginAction
package com.coderdream.action; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import com.coderdream.db.StudentDao; import com.coderdream.db.UserDao; import com.coderdream.form.LoginForm; import com.coderdream.vo.StudentView; import com.coderdream.vo.UserView; public class LoginAction extends Action { /** * 处理客户端请求 */ @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { // 得到客户的的提交数据 LoginForm lf = (LoginForm) form; UserDao userDao = new UserDao(); String userName = lf.getUserName(); String password = lf.getPassword(); UserView userView = new UserView(); userView.setUserName(userName); userView.setPassword(password); int result = userDao.queryUser(userName, password); // 业务调用 // if (lf.getUserName().equals("admin") // && lf.getPassword().equals("admin")) { if (1 <= result) { StudentDao studentDao = new StudentDao(); List<StudentView> studentViewList = studentDao.quertAllStudent(); request.setAttribute("studentViewList", studentViewList); // 用户名密码验证成功,跳转到成功页面 return mapping.findForward("success"); } else { // 用户名密码错误,跳转到失败页面 return mapping.findForward("failing"); } } }
Lib位置:http://coderdream.iteye.com/admin/blogs/1902016
源代码: