纯java连接数据源成功,JSP中却失败?

rxd237 2010-07-28 12:56:18
如题,下面是纯java代码:
import java.sql.*;

public class Register
{
String logname,realname,password,email,phone,address;
String message;
Connection con;
Statement sql;
ResultSet rs;
public static void main(String args[])
{
Register my=new Register();
my.logname="b";
my.realname="b";
my.password="b";
my.email="b";
my.phone="b";
my.address="b";
my.addItem();
System.out.println(my.message);
}
public Register()
{
//加载桥接器:
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}


}
//设置属性值、获取属性值的方法:
public void setLogname(String name)
{
logname=name;
}
public String getLogname()
{
return logname;
}
public void setRealname(String name)
{
realname=name;
}
public String getRealname()
{
return realname;
}
public void setPassword(String pw)
{
password=pw;
}
public String getPassword()
{
return password;
}
public void setEmail(String em)
{
email=em;
}
public String getEmail()
{
return email;
}
public void setPhone(String ph)
{
phone=ph;
}
public String getPhone()
{
return phone;
}
public void setAddress(String ad)
{
address=ad;
}
public String getAddress()
{
return address;
}
public String getMessage()
{
return message;
}
//添加记录到数据库的user表:
public void addItem()
{

try
{
con=DriverManager.getConnection("jdbc:odbc:shop","","");
sql=con.createStatement();
String s="'"+logname+"'"+","+"'"+realname+"'"+","+"'"+password+"'"+","+"'"+
email+"'"+","+"'"+phone+"'"+","+"'"+address+"'";
String condition="insert into user values"+"("+s+")";
sql.executeUpdate(condition);
message="注册成功了";
con.close();
}
catch(SQLException e)
{
message=e.getMessage();//+"你还没有注册,或该用户已经存在,请你更换一个名字";
}
}
}

这个测试连接成功的。
而JSP调用JavaBean却失败:
下面是JSP文件
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="my.Register"%>
<%!//处理字符串的方法:
public String codeString(String s)
{
String str=s;
try
{
byte b[]=str.getBytes("ISO-8859-1");
str=new String(b);
return str;
}
catch(Exception e)
{
return str;
}
}
%>
<html>
<body><font size=1>
<%@ include file="head.txt"%>
<font size=1>
<%String str=response.encodeURL("userRegister.jsp");%>
<p>输入您的信息,带*号项必须填写:
<form action="<%=str%>" method="post">
<br>登录名称<input type=text name="logname">*
<br>真实姓名<input type=text name="realname">*
<br>设置密码<input type=password name="password">*
<br>电子邮件<input type=text name="email">*
<br>联系电话<input type=text name="phone">*
<br>通信地址<input type=text name="address">*
<br><input type=submit name="g" value="提交">
</form>
<jsp:useBean id="login" class="my.Register" scope="request"></jsp:useBean>
<%//提交信息后,进行注册操作:
String logname="",realname="",password="",email="",phone="",address="";
if(!(session.isNew()))
{
logname=request.getParameter("logname");
if(logname==null)
{
logname="";
}
logname=codeString(logname);
realname=request.getParameter("realname");
if(realname==null)
{
realname="";
}
realname=codeString(realname);
password=request.getParameter("password");
if(password==null)
{
password="";
}
password=codeString(password);
email=request.getParameter("email");
if(email==null)
{
email="";
}
email=codeString(email);
phone=request.getParameter("phone");
if(phone==null)
{
phone="";
}
phone=codeString(phone);
address=request.getParameter("address");
if(address==null)
{
address="";
}
address=codeString(address);
}
%>
<%//为了以后处理汉字方便,我们采用了第1种方式初始化beans

if(!(logname.equals(""))&&!(address.equals(""))&&!(phone.equals(""))
&&!(realname.equals(""))&&!(password.equals("")))
{
%>
<jsp:setProperty name="login" property="logname" value="<%=logname%>"/>
<jsp:setProperty name="login" property="realname" value="<%=realname%>"/>
<jsp:setProperty name="login" property="password" value="<%=password%>"/>
<jsp:setProperty name="login" property="email" value="<%=email%>"/>
<jsp:setProperty name="login" property="phone" value="<%=phone%>"/>
<jsp:setProperty name="login" property="address" value="<%=address%>"/>

<jsp:getProperty name="login" property="address"/>
<%
login.addItem();
}
else
{
out.print("你还没有填写信息,或信息填写不完整");
}
%>
<%//返回注册信息
if(!(session.isNew()))
{
%>
<jsp:getProperty name="login" property="message"/>
<%
}
%>
</body>
</html>


这个是JavaBean:
package my;
import java.sql.*;

public class Register
{
String logname,realname,password,email,phone,address;
String message;
Connection con;
Statement sql;
ResultSet rs;
public Register()
{
//加载桥接器:
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}


}
//设置属性值、获取属性值的方法:
public void setLogname(String name)
{
logname=name;
}
public String getLogname()
{
return logname;
}
public void setRealname(String name)
{
realname=name;
}
public String getRealname()
{
return realname;
}
public void setPassword(String pw)
{
password=pw;
}
public String getPassword()
{
return password;
}
public void setEmail(String em)
{
email=em;
}
public String getEmail()
{
return email;
}
public void setPhone(String ph)
{
phone=ph;
}
public String getPhone()
{
return phone;
}
public void setAddress(String ad)
{
address=ad;
}
public String getAddress()
{
return address;
}
public String getMessage()
{
return message;
}
//添加记录到数据库的user表:
public void addItem()
{

try
{
con=DriverManager.getConnection("jdbc:odbc:shop","","");
sql=con.createStatement();
String s="'"+logname+"'"+","+"'"+realname+"'"+","+"'"+password+"'"+","+"'"+
email+"'"+","+"'"+phone+"'"+","+"'"+address+"'";
String condition="insert into user values"+"("+s+")";
sql.executeUpdate(condition);
message="注册成功了";
con.close();
}
catch(SQLException e)
{
message=e.getMessage();//+"你还没有注册,或该用户已经存在,请你更换一个名字";
}
}
}
...全文
156 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
rxd237 2010-07-28
  • 打赏
  • 举报
回复
JSP中返回的错误信息是:
[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
a496002330 2010-07-28
  • 打赏
  • 举报
回复
等下去帮你认真看看,不过不一定能帮到你!
cheng20100915 2010-07-28
  • 打赏
  • 举报
回复
代码太长了,直接说 报什么错误信息?
Java_0909 2010-07-28
  • 打赏
  • 举报
回复
你看下你的外围配置器中的远程服务是不是选的第二个
o_range 2010-07-28
  • 打赏
  • 举报
回复
2楼好直接。。。

错误信息是什么啊
myhope88 2010-07-28
  • 打赏
  • 举报
回复
你这个错误信息,好像是加载数据库驱动正确了,但是在获取连接到数据库时有问题,你看一下你的DriverManager.getConnection("url");问题应该就出在这个url上面吧
yuhongpingimu 2010-07-28
  • 打赏
  • 举报
回复
代码太长。
shisaizhu 2010-07-28
  • 打赏
  • 举报
回复
代码太长了,懒得看
sxy159 2010-07-28
  • 打赏
  • 举报
回复
jar包吧
jiekou704 2010-07-28
  • 打赏
  • 举报
回复
难看。太长了啊。。现在怎么还用的模式1的。。。
rxd237 2010-07-28
  • 打赏
  • 举报
回复
没明白你的意思。。。[Quote=引用 5 楼 java_0909 的回复:]
你看下你的外围配置器中的远程服务是不是选的第二个
[/Quote]
rxd237 2010-07-28
  • 打赏
  • 举报
回复
大哥,2楼和楼主是同一个人[Quote=引用 4 楼 o_range 的回复:]
2楼好直接。。。

错误信息是什么啊
[/Quote]
rxd237 2010-07-28
  • 打赏
  • 举报
回复
恩,是的,url里我加上数据库就对了,但直接用数据源连接就不行[Quote=引用 3 楼 myhope88 的回复:]
你这个错误信息,好像是加载数据库驱动正确了,但是在获取连接到数据库时有问题,你看一下你的DriverManager.getConnection("url");问题应该就出在这个url上面吧
[/Quote]

81,092

社区成员

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

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