(200分)以前没有作过JSP的项目,所以这方面一直不太懂!请教! http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=21387 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 建议看一下<<JSP应用开发详细>>是飞思书系列的,里面有全面的配置的方法及JSP详细的实例。我做的电子商务网站就是参考里面的内容的。 我发给你了,如果还有别的需要,发短消息或E-mail给我。 1 首先要有一个JDBC驱动程序,当然,使用JDBC-ODBC Bridge的连接也是可以的但是移植性不好2 作个连接用的类 如下:package works;import java.sql.*;public class JdbcBean { private String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver"; //这一句是使用了 JDBC-ODBC桥的连接 private String connStr="jdbc:odbc:Mydata";// Mydata是在控制面板ODBC管理器中设定的系统DSN, private Connection conn=null; private Statement stmt=null;//下面是数据库的用户名和密码 private String username=""; private String password=""; private ResultSet rs=null;public JdbcBean() throws SQLException {try {//注册数据库驱动程序为Oracle驱动Class.forName(sDBDriver);conn = DriverManager.getConnection(connStr,username,password);}catch(java.lang.ClassNotFoundException e) {System.err.println("jdbcBean(): " + e.getMessage());}}//executeQuery方法用于进行记录的查询操作//入口参数为sql语句,返回ResultSet对象 public ResultSet executeQuery(String sql){ try {//建立数据库连接 stmt = conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);//执行数据库查询操作 rs = stmt.executeQuery(sql); } catch (SQLException ex) { System.err.println("db.executeQuery: " + sql + "" + ex.getMessage()); } finally{ return rs; } }//executeUpdate方法用于进行add或者update记录的操作//入口参数为sql语句,成功返回true,否则为false public boolean executeUpdate(String sql) { boolean bupdate = false; rs = null; try {//建立数据库连接,其它参数说明同上面的一样 stmt = conn.createStatement(); int rowCount = stmt.executeUpdate(sql);//如果不成功,bupdate就会返回0 if (rowCount != 0) bupdate = true; } catch (SQLException ex) {//打印出错信息 System.err.println("db.executeUpdate: " + ex.getMessage()); } finally { return bupdate; } } public void close(){ if (rs!=null){ rs.close();} if (stmt!=null){ stmt.close(); } if (conn!=null){ conn.close(); } }}}3 使用法:在a.jsp里面<%@ page import="works.Jdbcbean"%><%@ page import="java.sql.*"%><%Jdbcbean jdbc = new Jdbcbean();String sql = "select * from table1"ResultSet rs = jdbc.executeQuery(sql);%><%while(rs.next()){%><%=rs.getString(1)%><%}%><%rs.close();jdbc.close();%>4.以上是最简单的连接方法,每次都要关闭conn,效率很低,可以考虑使用更好的连接方式如连接池等,如需要请短信我 这是最最简单的ebusiness嘛,楼上的例子很具体了嘛 to peacock_king(孔雀王) : 你能不能在给我发一遍,谢谢!to icecloud(冰云), zxhong(红透半边天) , dt(锈芯箭) :谢谢! 我贴一个jsp代码,给楼主参考一下,是查询用的:<%@page contentType="text/html;charset=ISO8859_1" import="java.sql.*"%><jsp:useBean id="query" class="pub.ConnectDB"/><HTML><HEAD><STYLE>body{font-size:10.5pt}td{font-size:10.5pt}</STYLE></HEAD><BODY STYLE="margin:0px"><table width="100%" align="center" border="1" cellpadding="0" cellspacing="0" bordercolorlight="#000000" bordercolordark="#ffffff"><TR bgcolor="#336699"> <TD align="center"><font color=#ffffff>代 号</font></TD> <TD align="center"><font color=#ffffff>项目名称</font></TD> <TD align="center"><font color=#ffffff>结 果</font></TD> <TD align="center"><font color=#ffffff>单 位</font></TD> <TD align="center"><font color=#ffffff>参考值</font></TD></TR><%String test_no = request.getParameter("test_no");if(test_no==null){ out.println("没有取得相关条件!");}else{ String sql = "select a.report_item_code,a.report_item_name,a.print_order,a.result,a.units,a.abnormal_indicator,b.print_context" + " from lab_result a,lab_report_item_dict b " + " where a.report_item_code = b.item_code and a.test_no = '"+test_no+"'" + " order by a.print_order asc"; ResultSet rs = query.executeQuery(sql); while(rs.next()) { String code = rs.getString("report_item_code"); if(code==null || code.length()==0) code=" "; String item_name = rs.getString("report_item_name"); if(item_name==null || item_name.length()==0) item_name = " "; String result = rs.getString("result"); if(result==null || result.length()==0) result = " "; String units = rs.getString("units"); if(units==null || units.length()==0) units = " "; String context = rs.getString("print_context"); if(context==null || context.length()==0) context = " ";%><TR> <TD bgcolor="#ddddff"> <%=code%></TD> <TD> <%=item_name%></TD> <TD bgcolor="#ddddff"> <%=result%></TD> <TD> <%=units%></TD> <TD bgcolor="#ddddff"> <%=context%></TD></TR><% } rs.close();}query.close();%></TABLE> 用到的JavaBean是ConnectDB,代码如下:package pub;import java.net.*;import java.sql.*;import javax.sql.*;import com.caucho.sql.*;import java.io.*;import java.util.*;public class ConnectDB{ Connection con = null; public ConnectDB() throws SQLException,IOException,ClassNotFoundException,Exception { Properties props = new Properties(); String fileName = "MakeDB.properties"; FileInputStream in = new FileInputStream(fileName); props.load(in); String drivers = props.getProperty("jdbc.drivers"); String url = props.getProperty("jdbc.url"); String username = props.getProperty("jdbc.username"); String password = props.getProperty("jdbc.password"); Class.forName(drivers); con = DriverManager.getConnection(url,username,password); //java.util.Date date = new java.util.Date(); //int year = date.getYear(); //int month = date.getMonth(); //int day = date.getDate(); //if(!(year==102 && month == 4 && day >= 10 && day <=20)) //throw new Exception("您的产品已经过期!"); //con = DBPool.getPool("jdbc/test").getConnection(); } private void makeConnectiom() throws SQLException,IOException,ClassNotFoundException { Properties props = new Properties(); String fileName = "MakeDB.properties"; FileInputStream in = new FileInputStream(fileName); props.load(in); String drivers = props.getProperty("jdbc.drivers"); String url = props.getProperty("jdbc.url"); String username = props.getProperty("jdbc.username"); String password = props.getProperty("jdbc.password"); Class.forName(drivers); con = DriverManager.getConnection(url,username,password); //con = DBPool.getPool("jdbc/test").getConnection(); } public ResultSet executeQuery(String sql) throws SQLException,IOException,ClassNotFoundException { if(con == null || con.isClosed()) makeConnectiom(); Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); ResultSet rs = stmt.executeQuery(sql); return rs; } public int executeUpdate(String sql) throws SQLException,IOException,ClassNotFoundException { if(con == null || con.isClosed()) makeConnectiom(); Statement stmt = con.createStatement(); int s = stmt.executeUpdate(sql); return s; } public void close() throws SQLException { if(con!=null && !con.isClosed()) con.close(); }} 分发了两回,例子里有一个数据库(.mdb),一个小型连接池类(及其配置文件),一个用于Mysql管理的javabean,一个test.jsp文件。用Mysql数据库,有点麻烦,所以我在test中使用的是Access(还是用Mysql.java这个bean来管理)。假如你对Mysql比较熟悉,可以自己改动成Mysql连接(就是改一下db.properties中drivers的值,再添上用户名,当然先要安装Mysql公司的jdbc驱动程序)。我觉得DBConnectionManager这种连接池比较容易理解,所以使用它,使用Mysql的最新驱动包中的MysqlDataSource来作也是一样的。 up,可惜来晚了,up一下,祝你成功 谁能也给我发一个数据连接的例子?一直搞不懂~~用Mysql作数据库~~谢谢~~初学JSP,这里卡住了~~e-mail: [email protected] web页面如何转换为POJO hibernate 问题急给提个思路就行 flex和java利用Action交互时遇到的一个奇怪的问题 JAVA向oracle数据库插入数据的问题 新手求助:给商品打分 如何将“1,2,”转换成字符数字1和 2 这段代码不知道是代表什么意思 关于Apache POI处理excel ibatis进行CRUD操作时报错 哪里有JSP教学光盘的下载 关于数据库连接的问题 管理程序开发问题(100)
是飞思书系列的,里面有全面的配置的方法及JSP详细的实例。
我做的电子商务网站就是参考里面的内容的。
但是移植性不好2 作个连接用的类 如下:
package works;import java.sql.*;public class JdbcBean {
private String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
//这一句是使用了 JDBC-ODBC桥的连接
private String connStr="jdbc:odbc:Mydata";
// Mydata是在控制面板ODBC管理器中设定的系统DSN,
private Connection conn=null;
private Statement stmt=null;
//下面是数据库的用户名和密码
private String username="";
private String password="";
private ResultSet rs=null;
public JdbcBean() throws SQLException {
try {
//注册数据库驱动程序为Oracle驱动Class.forName(sDBDriver);
conn = DriverManager.getConnection(connStr,username,password);
}
catch(java.lang.ClassNotFoundException e) {
System.err.println("jdbcBean(): " + e.getMessage());
}
}//executeQuery方法用于进行记录的查询操作//入口参数为sql语句,返回ResultSet对象
public ResultSet executeQuery(String sql)
{
try {
//建立数据库连接 stmt = conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);//执行数据库查询操作
rs = stmt.executeQuery(sql);
}
catch (SQLException ex) {
System.err.println("db.executeQuery: " + sql + "" + ex.getMessage());
}
finally{
return rs;
}
}//executeUpdate方法用于进行add或者update记录的操作//入口参数为sql语句,成功返回true,否则为false
public boolean executeUpdate(String sql) {
boolean bupdate = false;
rs = null;
try {
//建立数据库连接,其它参数说明同上面的一样
stmt = conn.createStatement();
int rowCount = stmt.executeUpdate(sql);
//如果不成功,bupdate就会返回0
if (rowCount != 0)
bupdate = true;
}
catch (SQLException ex) {
//打印出错信息
System.err.println("db.executeUpdate: " + ex.getMessage());
}
finally {
return bupdate;
}
} public void close(){
if (rs!=null){
rs.close();}
if (stmt!=null){
stmt.close();
}
if (conn!=null){
conn.close();
}
}}
}
3 使用法:在a.jsp里面
<%@ page import="works.Jdbcbean"%>
<%@ page import="java.sql.*"%><%
Jdbcbean jdbc = new Jdbcbean();
String sql = "select * from table1"
ResultSet rs = jdbc.executeQuery(sql);%>
<%while(rs.next()){
%>
<%=rs.getString(1)%>
<%}%>
<%
rs.close();
jdbc.close();
%>4.以上是最简单的连接方法,每次都要关闭conn,效率很低,
可以考虑使用更好的连接方式如连接池等,如需要请短信我
你能不能在给我发一遍,谢谢!
to icecloud(冰云), zxhong(红透半边天) , dt(锈芯箭) :谢谢!
<%@page contentType="text/html;charset=ISO8859_1" import="java.sql.*"%>
<jsp:useBean id="query" class="pub.ConnectDB"/>
<HTML>
<HEAD>
<STYLE>
body{font-size:10.5pt}
td{font-size:10.5pt}
</STYLE>
</HEAD>
<BODY STYLE="margin:0px">
<table width="100%" align="center" border="1" cellpadding="0" cellspacing="0" bordercolorlight="#000000" bordercolordark="#ffffff">
<TR bgcolor="#336699">
<TD align="center"><font color=#ffffff>代 号</font></TD>
<TD align="center"><font color=#ffffff>项目名称</font></TD>
<TD align="center"><font color=#ffffff>结 果</font></TD>
<TD align="center"><font color=#ffffff>单 位</font></TD>
<TD align="center"><font color=#ffffff>参考值</font></TD>
</TR>
<%
String test_no = request.getParameter("test_no");
if(test_no==null)
{
out.println("没有取得相关条件!");
}
else
{
String sql = "select a.report_item_code,a.report_item_name,a.print_order,a.result,a.units,a.abnormal_indicator,b.print_context"
+ " from lab_result a,lab_report_item_dict b "
+ " where a.report_item_code = b.item_code and a.test_no = '"+test_no+"'"
+ " order by a.print_order asc";
ResultSet rs = query.executeQuery(sql);
while(rs.next())
{
String code = rs.getString("report_item_code");
if(code==null || code.length()==0) code=" ";
String item_name = rs.getString("report_item_name");
if(item_name==null || item_name.length()==0) item_name = " ";
String result = rs.getString("result");
if(result==null || result.length()==0) result = " ";
String units = rs.getString("units");
if(units==null || units.length()==0) units = " ";
String context = rs.getString("print_context");
if(context==null || context.length()==0) context = " ";
%>
<TR>
<TD bgcolor="#ddddff"> <%=code%></TD>
<TD> <%=item_name%></TD>
<TD bgcolor="#ddddff"> <%=result%></TD>
<TD> <%=units%></TD>
<TD bgcolor="#ddddff"> <%=context%></TD>
</TR>
<%
}
rs.close();
}
query.close();
%>
</TABLE>
package pub;
import java.net.*;
import java.sql.*;
import javax.sql.*;
import com.caucho.sql.*;
import java.io.*;
import java.util.*;public class ConnectDB
{
Connection con = null;
public ConnectDB()
throws SQLException,IOException,ClassNotFoundException,Exception
{
Properties props = new Properties();
String fileName = "MakeDB.properties";
FileInputStream in = new FileInputStream(fileName);
props.load(in);
String drivers = props.getProperty("jdbc.drivers");
String url = props.getProperty("jdbc.url");
String username = props.getProperty("jdbc.username");
String password = props.getProperty("jdbc.password");
Class.forName(drivers);
con = DriverManager.getConnection(url,username,password);
//java.util.Date date = new java.util.Date();
//int year = date.getYear();
//int month = date.getMonth();
//int day = date.getDate();
//if(!(year==102 && month == 4 && day >= 10 && day <=20))
//throw new Exception("您的产品已经过期!"); //con = DBPool.getPool("jdbc/test").getConnection();
}
private void makeConnectiom() throws SQLException,IOException,ClassNotFoundException
{
Properties props = new Properties();
String fileName = "MakeDB.properties";
FileInputStream in = new FileInputStream(fileName);
props.load(in);
String drivers = props.getProperty("jdbc.drivers");
String url = props.getProperty("jdbc.url");
String username = props.getProperty("jdbc.username");
String password = props.getProperty("jdbc.password");
Class.forName(drivers);
con = DriverManager.getConnection(url,username,password); //con = DBPool.getPool("jdbc/test").getConnection();
}
public ResultSet executeQuery(String sql)
throws SQLException,IOException,ClassNotFoundException
{
if(con == null || con.isClosed())
makeConnectiom();
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs = stmt.executeQuery(sql);
return rs;
}
public int executeUpdate(String sql)
throws SQLException,IOException,ClassNotFoundException
{
if(con == null || con.isClosed())
makeConnectiom();
Statement stmt = con.createStatement();
int s = stmt.executeUpdate(sql);
return s;
}
public void close()
throws SQLException
{
if(con!=null && !con.isClosed())
con.close();
}
}