JSP中操作数据库是不是必须用BEAN?
JSP中操作数据库是不是必须用BEAN?如果这样就不如ASP方便了。各JSP的服务器中是不是已内建了调用数据库的公用BEAN,可由开发者自由调用? 问题点数:10、回复次数:3Top
1 楼czb(草中宝)回复于 2001-09-30 16:03:20 得分 0
哎呀,不是这样拉,你完全可以不用BEAN,而直接在JSP页面中写连接数据库的代码。至于写一些连接的BEAN,完全是为了以后代码的重用,比如你以后数据库改变了,你可以不用改变JSP的页面,而直接修改一下BEAN就可以了。一般来说JSP服务器是不会有调用数据库的公用BEAN的,都是一些人自己写的,其实很简单。Top
2 楼zx197093(流水无香)回复于 2001-09-30 16:12:26 得分 0
测能否给我一个代码让我了解一下,谢谢。Top
3 楼czb(草中宝)回复于 2001-09-30 16:25:36 得分 10
bean:
import java.util.*;
import java.sql.*;
import java.io.*;
import java.sql.*;
public class mysql {
Connection conn=null;
Statement statement=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
public mysql(){
try{
Class.forName("org.gjt.mm.mysql.Driver");
}catch(ClassNotFoundException e)
{System.err.println("mysql():"+e.getMessage());}
String url="jdbc:mysql://localhost:3306/Sample?user=root;password=";
try{
conn=DriverManager.getConnection(url);
statement = conn.createStatement();
}catch(SQLException sqlEx)
{System.err.println(sqlEx.getMessage());}
}
public ResultSet executeQuery(String sql)
{
try{
rs = statement.executeQuery(sql);
}catch(SQLException ex)
{
System.err.println("executeQuery():"+ex.getMessage());
}
return rs;
}
public int executeUpdate(String sql)
{
int i=0;
try{
i = statement.executeUpdate(sql);
}catch(SQLException ex)
{
System.err.println("executeUpdate():"+ex.getMessage());
}
return i;
}
}
JSP:
<%@page language="java" import="java.sql.*" %>
<jsp:useBean id="mysql" scope="page" class="mysql"/>
<%
sql="insert into person(name,sex,address) values('" + name + "','" + sex + "','" + address + "')";
mysql.executeUpdate(sql);
%>Top




