我这里用的是JSP+JavaBean+Servlet+MSSQLServer2000实现分页查询。希望能够办到你!
====================================================================
数据库 *** 作Bean:DBManagejava
package comstudentdb;
import javasqlConnection;
import javasqlDriverManager;
import javasqlStatement;
import javasqlResultSet;
import javasqlSQLException;
public class DBManage
{
public Connection getCon()throws ClassNotFoundException,SQLException{
ClassforName("sunjdbcodbcJdbcOdbcDriver");
Connection con = DriverManagergetConnection("jdbc:odbc:sun","sa","");
return con;
}
public Statement getSt()throws ClassNotFoundException,SQLException{
Connection con = thisgetCon();
Statement st = concreateStatement(1004,1007);
return st;
}
public ResultSet getResult(String sql)throws ClassNotFoundException,SQLException{
Statement st = thisgetSt();
ResultSet rs = stexecuteQuery(sql);
return rs;
}
public int getUpdate(String sql)throws ClassNotFoundException,SQLException{
Statement st = thisgetSt();
int result = stexecuteUpdate(sql);
return result;
}
}
分页Bean:PageBean
package comcommon;
public class PageBean
{
public int getPageCount(int totalCount,int pageSize)
{
int pageCount = totalCount % pageSize == 0 totalCount / pageSize : totalCount / pageSize + 1;
return pageCount;
}
public int getCurrentPage(String sp,int pageCount)
{
int currentPage = 1;
if(sp!=null)
{
try{
currentPage = IntegerparseInt(sp);
}catch(NumberFormatException nfe){
currentPage = 1;
}
}
if(currentPage < 1)
{
currentPage = 1;
}
if(currentPage > pageCount)
{
currentPage = pageCount;
}
return currentPage;
}
}
服务类:StudentServicejava
package comstudentstuservice;
import javasqlResultSet;
import javasqlSQLException;
import javautilList;
import javautilArrayList;
import comstudentdbDBManage;
import comstudentvoStuVO;
public class StudentService
{
comstudentdbDBManage dbm = new comstudentdbDBManage();
public int getTotalCount()throws ClassNotFoundException,SQLException
{
int totalCount = 0;
String sql = "select count() from stu";
ResultSet rs = dbmgetResult(sql);
boolean b = rsnext();
if(b)
{
totalCount = rsgetInt(1);
}
return totalCount;
}
public List getStudentList(int currentPage,int pageSize)throws ClassNotFoundException,SQLException
{
List<StuVO> stuList = new ArrayList<StuVO>();
String sql = "select from stu";
ResultSet rs = dbmgetResult(sql);
int position = (currentPage-1)pageSize+1;
rsabsolute(position);
for(int i = 0 ; i < pageSize ; i ++)
{
if(rsisAfterLast()==false)
{
int id = rsgetInt(1);
String name = rsgetString(2);
String sex = rsgetString(3);
int age = rsgetInt(4);
StuVO stu = new StuVO();
stusetId(id);
stusetName(name);
stusetSex(sex);
stusetAge(age);
stuListadd(stu);
rsnext();
}
}
return stuList;
}
}
数据表对应的实体类VO:StuVOjava
package comstudentvo;
public class StuVO
{
int id;
String name;
String sex;
int age;
public void setId(int id)
{
thisid = id;
}
public int getId()
{
return thisid;
}
public void setName(String name)
{
thisname = name;
}
public String getName()
{
return thisname;
}
public void setSex(String sex)
{
thissex = sex;
}
public String getSex()
{
return thissex;
}
public void setAge(int age)
{
thisage = age;
}
public int getAge()
{
return thisage;
}
}
查询的Servlet:StudentServletjava
package comstudentservlet;
import javaxservletRequestDispatcher;
import javaxservletServletException;
import javaxservlet>
-- MySQL jar
-- 如果是JDBC连接数据库类,一般这样写:
package database;
import javasql;
public class DataBaseConn
{
// PreparedStatement pstmt=null;
public Connection conn=null;
public Statement stmt = null;
public ResultSet rs=null;
String dbDriver="commysqljdbcDriver";
String url="jdbc:mysql://localhost/myDBuser=soft&password=soft1234&useUnicode=true&characterEncoding=utf-8";
// 实例化,装载JDBC驱动程序
public DataBaseConn()
{
try
{
ClassforName(dbDriver);
conn=DriverManagergetConnection(url,username,password);
}
catch(Exception e){
eprintStackTrace();
}
}
//取得数据库连接
public Connection getConnection()
{
return thisconn ;
}
// 返回查询后的数据集
public ResultSet executeQuery(String sql)
{
try
{
stmt=conncreateStatement();
rs=stmtexecuteQuery(sql);
}
catch(SQLException e){
eprintStackTrace();
}
return rs;
}
// 对数据库的更新 *** 作
public int executeUpdate(String sql)
{
int num=0;
try
{
stmt=conncreateStatement();
num=stmtexecuteUpdate(sql);
}
catch(SQLException e){
eprintStackTrace();
}
return num;
}
// 关闭数据库
public void closeDB()
{
try
{
if(conn!=null){
// rsclose();
connclose();
}
}
catch(SQLException e) {
eprintStackTrace();
}
}
}
1通过jdbc连接上数据库,并从中获取一个连接。(建议由一个工具类提供)
2创建一个jsp页面、一个servlet类和一个service业务逻辑类。
3当点击查询按钮时调用servlet并把文本框中的参数传递过去。
4在servlet中获取页面传递过来的参数,并调用service中方法(此方法负责条件查询并返回list集合)
5servlet中把查询集合放到request作用域并转发到jsp页面进行迭代,把数据取出展示即可。
下面是比较传统的办法,一步一步的~
首先,在servlet中通过jdbc把数据库里的内容查出来放到List里
然后,把List放到request的attribute中
最后,在jsp页面中用jstl标签+EL取出
要是不明白的话就去快快去补习一下吧
原理很简单,你在jsp页面头部写上 <jsp:forward page="servlet名称"></jsp:forward> 首先调用这句话的时候要判断下面的从servlet传出的数据是否为空,判断为空一定要用EL表达式,否则就会报错500,判断有数据就不要访问了,因为如果有数据你再访问就会触发死循环,只有为空的时候才去访问servlet名称,访问servlet名称之后就从数据库取出了你的数据,然后返回到这个页面显示,这样你的数据就成功显示在页面上了
:<%@ page contentType="text/html; charset=gb2312" %>
<%@ page language="java" %>
<%@ page import="commysqljdbcDriver" %>
<%@ page import="javasql" %>
<%
//驱动程式名
String driverName="commysqljdbcDriver";
//数据库用户名
String userName="";
//密码
String userPasswd="";
//数据库名
String dbName="";
//表名
String tableName="";
//联结字符串
String url="jdbc:mysql://localhost:3306/"+dbName+"user="+userName+"&password="+userPasswd;
ClassforName("commysqljdbcDriver")newInstance();
Connection connection=DriverManagergetConnection(url);
Statement statement = connectioncreateStatement();
String sql="SELECT FROM "+tableName;
ResultSet rs = statementexecuteQuery(sql);
//获得数据结果集合
ResultSetMetaData rmeta = rsgetMetaData();
//确定数据集的列数,亦字段数
int numColumns=rmetagetColumnCount();
// 输出每一个数据值
outprint("id");
outprint("|");
outprint("num");
outprint("<br>");
while(rsnext()) {
outprint(rsgetString(1)+" ");
outprint("|");
outprint(rsgetString(2));
outprint("<br>");
}
outprint("<br>");
outprint("数据库 *** 作成功,恭喜你");
rsclose();
statementclose();
connectionclose();
%>
填下数据库名等就可以了
以上就是关于jsp+servlet+javabean怎么显示数据库里面的数据 本人刚刚学习 希望高手多指教指教 谢谢全部的内容,包括:jsp+servlet+javabean怎么显示数据库里面的数据 本人刚刚学习 希望高手多指教指教 谢谢、在jsp(java)中如何显示数据库中所有的表、我用eclipse做一个jsp的前台界面,怎么把它跟java和数据库连接起来让数据库的内容显示到前台,等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)