Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Architecture & Framework » Struts  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 关于在struts中对数据库操作的封装问题!
realnicky





发贴: 14
积分: 0
于 2005-09-15 11:04 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
在下刚开始学习struts,有个问题向各位问一下:
我把数据库的信息(URL,驱动,USRE)设置在struts_config.xml中,然后在action中用以下方法对数据库操作
javax.sql.DataSource data;
java.sql.Connection conn;
ResultSet rs=null;
try{
data=getDataSource(request,"db");
conn=data.getConnection();
Statement stmt = conn.createStatement();
rs=stmt.executeQuery(sql);
conn.close();
}catch (java.sql.SQLException sqle){
getServlet().log("Connection.process",sqle);
}finally{}

我想把这些数据库的操作封装到一个类里,由于getDataSource()是action中的一个方法,因此我把数据库的操作封装在一个action中,如下:
public class DataconnAction extends Action {

// --------------------------------------------------------- Instance Variables

// --------------------------------------------------------- Methods
public ResultSet executeQuery(HttpServletRequest request,String sql)
{
javax.sql.DataSource data;
java.sql.Connection conn;
ResultSet rs=null;
try{
data=getDataSource(request,"db");
conn=data.getConnection();
Statement stmt = conn.createStatement();
rs=stmt.executeQuery(sql);
conn.close();
}catch (java.sql.SQLException sqle){
getServlet().log("Connection.process",sqle);
}finally{

}
return rs;
}
}

在另外一个action中调用这个方法
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {

DataconnAction conn = new DataconnAction();
String flag="";
LoginForm loginForm = (LoginForm) form;
ResultSet rs =null;
String sql;
sql="select * from crmuser where userid='"+loginForm.getUsername()+"' and userpasswd='"+loginForm.getPassword()+"'";
///javax.sql.DataSource data;
///java.sql.Connection conn;
rs=conn.executeQuery(request,sql);
.....
结果出现这样的错误:
root cause

java.lang.NullPointerException
org.apache.struts.action.Action.getDataSource(Action.java:532)
data.DataconnAction.executeQuery(DataconnAction.java:31)
com.real.struts.action.LoginAction.execute(LoginAction.java:54)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
我实例化类了啊
请大侠指点迷津!




话题树型展开
人气 标题 作者 字数 发贴时间
9160 关于在struts中对数据库操作的封装问题! realnicky 2408 2005-09-15 11:04
7838 Re:关于在struts中对数据库操作的封装问题! eter 14 2005-11-23 11:07

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923