高分求解了了了了,救命呀!!!!!!!!

baitianhai 2002-01-23 05:11:25
在jrun(jsp server)中,我设置了一个(jdbc for sql srever )test
是这样的
Driver* allaire.jrun.jdbc.JRunDriver
URL* jdbc:jrun:sqlserver://127.0.0.1:1433;databaseName=work

请教 我在 jsp中该如何调用该 jdbc

还有其他的有一个参数
Vendor Arguments pooling=true
这是什么意思啊?

帮我解决后还会加分的!!!
谢谢了,各位高手!!
...全文
113 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
baitianhai 2002-01-24
  • 打赏
  • 举报
回复
哈哈,我知道了,和我想象的是一样的,谢谢了,分数马上就给!
wangtaoyy 2002-01-23
  • 打赏
  • 举报
回复
Class.forName("allaire.jrun.jdbc.JRunDriver");
不是数据源的用法!!
wangtaoyy 2002-01-23
  • 打赏
  • 举报
回复
配置数据源的时候还要制定Driver的类名比如Oracle库应该指定为oracle.jdbc.driver.OracleDriver
而且这个包含driver类的包应该包含在JRUN的classpath中
pooling = true指这个数据源会适应连接池缓存数据库连接
baitianhai 2002-01-23
  • 打赏
  • 举报
回复
也就是说
Class.forName("allaire.jrun.jdbc.JRunDriver");

Connection newCon=DriverManager.getConnection("jdbc:jrun:sqlserver://127.0.0.1:1433;databaseName=work","sa","");
是这样的吗?
我明天去试试,今天太晚了,请大家继续帮忙!!!!
wangtaoyy 2002-01-23
  • 打赏
  • 举报
回复
InitialContext context = new InitialContext();
DataSource dataSource
=(DataSource)context.lookup("java:com/env/jdbc/dsname");
Connection connection = dataSource.getConnection();
wangtaoyy 2002-01-23
  • 打赏
  • 举报
回复
数据源应该有个名字dsname,程序发布的时候应该为数据源指定一个引用名
然后用JNDI获取DataSourced对象,再调用DataSource.getConnection
baitianhai 2002-01-23
  • 打赏
  • 举报
回复
你们说的意思我明白,我现在是这样的,找了很多的sqlserver的jdbc没有找到,但是在jrun的设置中找到了这个设置的,建立后 测试成功,但是我不知道应该如何在bean或者jsp中去使用这个 jdbc,还有他这个jdbc是怎么回事?(也就是说这个服务器应该是自带jdbc for database的,可是我不知道他的库文件在那里,没有找到,也不知道如何去使用)
skyyoung 2002-01-23
  • 打赏
  • 举报
回复
一般不提倡在JSP写业务逻辑,应该把它写到BEAN里在JSP里调用!!
cherami 2002-01-23
  • 打赏
  • 举报
回复
一个具体的实例:
import java.sql.*;
import java.io.*;

public class BaseBean {

protected String dbURL;
protected String dbDriver;
protected String userName;
protected String passwd;
protected String tableName;
protected Connection dbCon;
protected String codeTableName;
protected PreparedStatement preStatement;

public BaseBean() {
super();
}

public boolean connect() throws ClassNotFoundException, SQLException {
Class.forName(dbDriver);
dbCon = DriverManager.getConnection(this.getDbURL(),userName,passwd);
return true;
}
public boolean isConnect() {
if (dbCon!=null) {return true;}
else {return false;}
}

public void close() throws SQLException {
dbCon.close();
}

public ResultSet execSQL(String sql) throws SQLException {
Statement st = dbCon.createStatement();
return st.executeQuery(sql);
}
public void preparedUpdateSQL(String sql) throws SQLException {
preStatement=dbCon.prepareStatement(sql);
}
public int execUpdateSQL(String sql) throws SQLException {
if (sql==null) return -1;
Statement st=dbCon.createStatement();
return st.executeUpdate(sql);
}
public String getDbDriver() {
return this.dbDriver;
}

public void setDbDriver(String newValue) {
this.dbDriver = newValue;
}

public String getDbURL() {
return this.dbURL;
}

public void setDbURL(String newValue) {
this.dbURL = newValue;
}
public void setPasswd(String passwd) {
this.passwd=passwd;
}
public void setUserName(String userName) {
this.userName=userName;
}
public String getUserName() {
return userName;
}
public String getTableName() {
return tableName;
}
public void setTableName(String tableName) {
this.tableName=tableName;
}
public String getCodeTableName() {
return codeTableName;
}
public void setCodeTableName(String codeTableName) {
this.codeTableName=codeTableName;
}

}

jsp:
<%@ page contentType="text/html;charset=gb2312" language="java" import="java.sql.*"%>
<jsp:useBean id="query" scope="request" class="BaseInforBean" />
<%
if (!query.isConnect()) {
try {
query.getCode();
} catch (ClassNotFoundException e) {
throw new ServletException("Database driver not available",e);
} catch (SQLException e) {
throw new ServletException("Database URL is wrong",e);
}
}
if (request.getParameter("query")==null&&request.getParameter("id")==null) {
%>
<script language="javascript">
<!--
function showAdvanceOption(total) {
for (j=1;j<=total;j++) {
if (eval("option_"+j+".style.display=='none'")) {
eval("option_"+j+".style.display=''");
}
else {
eval("option_"+j+".style.display='none'");
}
}
if (hides.style.display=='none') {
hides.style.display='';
shows.style.display='none';
}
else {
hides.style.display='none';
shows.style.display='';
}
}
//-->
</script>

<B>日期的格式可以使用简写,即可以只输入年,年和月</B>
<HR>
<table>
<tr><td>
<form action="query.jsp" method="post" name="queryInfor">
<TABLE border=0 align="left" width="400" cellpadding="1" cellspacing="0" >
<TR align="left">
<TD><input type="checkbox" name="byName" checked><%= BaseInforRecord.NAME %>:</TD>
<TD><input type="text" name="name" size=8></TD>
</TR>
<TR>
<TD><input type="checkbox" name="bySex""><%= BaseInforRecord.SEX %>:</TD>
<TD><select name="sex" size=1>
<% for (int i=0;i<query.sex.length;i++) { %>
<OPTION VALUE="<%=query.sex[i][0] %>"><%=query.sex[i][1] %></OPTION>
<% } %>
</select></TD>
</TR>
<TR>
<td><input type="checkbox" name="byMarriage"><%= BaseInforRecord.MARRIAGE %>:</TD>
<td><SELECT NAME="marriage" SIZE="1">
<% for (int i=0;i<query.marriage.length;i++) { %>
<OPTION VALUE="<%=query.marriage[i][0] %>"><%=query.marriage[i][1] %></OPTION>
<% } %>
</SELECT>
</TD>
</TR>
<TR>
<TD><input type="checkbox" name="byBirthdate"><%= BaseInforRecord.BIR_DATE %>:</TD>
<TD><input type="text" name="bir_date" size=10"><input type="radio" name="birthdate_option" value="equ" checked>等于<input type="radio" name="birthdate_option" value="grt">大于<input type="radio" name="birthdate_option" value="lst">小于</TD>
</TR>
<TR id="option_1" style="DISPLAY:none">
<td><input type="checkbox" name="byNation"><%= BaseInforRecord.NATION %>:</TD>
<td><SELECT NAME="nation" SIZE="1">
<% for (int i=0;i<query.nation.length;i++) { %>
<OPTION VALUE="<%=query.nation[i][0] %>"><%=query.nation[i][1] %></OPTION>
<% } %>
</SELECT>
</TD>
</TR>
<TR id="option_2" style="DISPLAY:none">
<td><input type="checkbox" name="byLanguage"><%= BaseInforRecord.FOREIGNLANGUAGE1 %>:</TD>
<td><SELECT NAME="language" SIZE="1">
<OPTION VALUE="英语">英语</OPTION>
<OPTION VALUE="日语">日语</OPTION>
<OPTION VALUE="其它">其它</OPTION>
</SELECT>
</TD>
</TR>
<TR id="option_3" style="DISPLAY:none">
<td><input type="checkbox" name="byDepartment"><%= BaseInforRecord.DEPARTMENT %>:</TD>
<td><SELECT NAME="department" SIZE="1">
<% for (int i=0;i<query.department.length;i++) { %>
<OPTION VALUE="<%=query.department[i][0] %>"><%=query.department[i][1] %></OPTION>
<% } %>
</SELECT>
</TD>
</TR>
<TR id="option_4" style="DISPLAY:none">
<td><input type="checkbox" name="byDuty"><%= BaseInforRecord.EM_DUTY %>:</TD>
<td><SELECT NAME="duty" SIZE="1">
<% for (int i=0;i<query.em_duty.length;i++) { %>
<OPTION VALUE="<%=query.em_duty[i][0] %>"><%=query.em_duty[i][1] %></OPTION>
<% } %>
</SELECT>
</TD>
</TR>
<TR id="option_5" style="DISPLAY:none">
<td><input type="checkbox" name="byEducation"><%= BaseInforRecord.EDU_LEVEL %>:</TD>
<td><SELECT NAME="education" SIZE="1">
<% for (int i=0;i<query.edu_level.length;i++) { %>
<OPTION VALUE="<%=query.edu_level[i][0] %>"><%=query.edu_level[i][1] %></OPTION>
<% } %>
</SELECT>
</TD>
</TR>
<TR id="option_6" style="DISPLAY:none">
<td><input type="checkbox" name="byBlood"><%= BaseInforRecord.BLOODTYPE %>:</TD>
<td><SELECT NAME="blood" SIZE="1">
<% for (int i=0;i<query.bloodtype.length;i++) { %>
<OPTION VALUE="<%=query.bloodtype[i][0] %>"><%=query.bloodtype[i][1] %></OPTION>
<% } %>
</SELECT>
</TD>
</TR>
<TR id="option_7" style="DISPLAY:none">
<TD><input type="checkbox" name="byComeDate"><%= BaseInforRecord.IN_DATE %>:</TD>
<TD><input type="text" name="in_date" size=10"><input type="radio" name="comedate_option" value="equ" checked>等于<input type="radio" name="comedate_option" value="grt">大于<input type="radio" name="comedate_option" value="lst">小于</TD>
</TR>
</TABLE>
</tr></td>
<tr><td align=center><input type="submit" name="query" value="查询"> <input type="reset" name="unquery" value="重设"></td></tr>
</form>

<tr><td cols=100>

<a onClick=showAdvanceOption(7) style="cursor:hand"><table cellspacing=0 cellpadding=0><tr><td id=shows align=right ><font color="#0000ff">显示</font></td><td id=hides align=right style="display:none"><font color="#0000ff">隐藏</font></td><td><font color="#0000ff">高级选项</font></td></tr></table></a>

</tr></td>
</table>
<%
}
else if (request.getParameter("id")==null){
%>
<% StringBuffer sql=new StringBuffer(2048);
String table;
Vector options=new Vector();
if (request.getParameter("byName")!=null) {
options.add("name like '%"+request.getParameter("name")+"%' ");
}
if (request.getParameter("bySex")!=null) {
options.add("sex='"+request.getParameter("sex")+"' ");
}
if (request.getParameter("byMarriage")!=null) {
options.add("marriage='"+request.getParameter("marriage")+"' ");
}
if (request.getParameter("byBirthdate")!=null) {
if (request.getParameter("birthdate_option").equals("equ")) {
options.add("bir_date='"+request.getParameter("bir_date")+"' ");
}
else if (request.getParameter("birthdate_option").equals("grt")) {
options.add("bir_date>'"+request.getParameter("bir_date")+"' ");
}
else if (request.getParameter("birthdate_option").equals("lst")) {
options.add("bir_date<'"+request.getParameter("bir_date")+"' ");
}
}
if (request.getParameter("byNation")!=null) {
options.add("nation='"+request.getParameter("nation")+"' ");
}
if (request.getParameter("byLanguage")!=null) {
options.add("foreignlanguage1='"+request.getParameter("language")+"' ");
}
if (request.getParameter("byDepartment")!=null) {
options.add("department='"+request.getParameter("department")+"' ");
}
if (request.getParameter("byDuty")!=null) {
options.add("em_duty='"+request.getParameter("duty")+"' ");
}
if (request.getParameter("byEducation")!=null) {
options.add("edu_level='"+request.getParameter("education")+"' ");
}
if (request.getParameter("byBlood")!=null) {
options.add("bloodtype='"+request.getParameter("blood")+"' ");
}
if (request.getParameter("byComeDate")!=null) {
if (request.getParameter("comedate_option").equals("equ")) {
options.add("in_date='"+request.getParameter("in_date")+"' ");
}
else if (request.getParameter("comedate_option").equals("grt")) {
options.add("in_date>'"+request.getParameter("in_date")+"' ");
}
else if (request.getParameter("comedate_option").equals("lst")) {
options.add("in_date<'"+request.getParameter("in_date")+"' ");
}
}
int option_size=options.size();
if (option_size>0) {
sql.append(" where ");
for (int i=0;i<option_size-1;i++) {
sql.append((String)options.get(i)+"AND ");
}
sql.append((String)options.get(option_size-1));
}

try {
out.println(new String(sql.toString().getBytes("ISO-8859-1"),"gb2312"));
table=query.getTableByOption(new String(sql.toString().getBytes("ISO-8859-1"),"gb2312"));
} catch (SQLException e) {
throw new ServletException("query have wrong!",e);
}
%>
<center><h3>查询结果为:</h3></center>
<hr>
<%
if (table==null) {out.println("数据库中没有匹配结果");}
else {
%>
<%= table %>
<br>
<%
}
}
else {
%>
<% String id=request.getParameter("id");
String table;
%>
<%

try {
table=query.getTableByID(id);
} catch (SQLException e) {
throw new ServletException("query have wrong!",e);
}

%>
<center><h3>个人详细信息</h3></center>
<hr>
<%
if (table==null) {table="数据库中没有匹配结果";}
else {
%>
<%= table %>
<br>
<% }
}
%>
cherami 2002-01-23
  • 打赏
  • 举报
回复
在jsp中我通常是将JDBC部分封装在一个bean中,然后jsp通过标签导入bean,然后通过该bean的实例使用JDBC连接,这个方法对于任何jsp/servlet都可以通用。而且可以复用。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧