第七个版本,从数据库中读取学生列表,并显示。
效果如下:
数据库配置信息
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
源代码: