Struts 1.3.8 学习笔记(七)

第七个版本,从数据库中读取学生列表,并显示。

效果如下:



 

数据库配置信息

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

源代码:

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值