jsp+servlet+javabean怎么显示数据库里面的数据 本人刚刚学习 希望高手多指教指教 谢谢

jsp+servlet+javabean怎么显示数据库里面的数据 本人刚刚学习 希望高手多指教指教 谢谢,第1张

我这里用的是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和数据库连接起来让数据库的内容显示到前台,等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9353021.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存