Struts中怎么向数据库插入数据啊!急急急急急急急急急急

凉凉二点凉 2006-12-12 01:18:27
我想把表单中的数据插入到数据库中,在action中把这些数据交给了一个bean,这个bean把数据插入到数据库中,可是运行时怎么会出现
javax.servlet.ServletException: com.microsoft.jdbc.sqlserver.SQLServerDriver
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

这样的错误啊!
另外我特意写下个main测试了一下,可以插入的,怎么回事啊!
我的action代码
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException, InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException
{
Addcard rf=(Addcard) form;
ArrayList db=new ArrayList();
String s1=rf.getText1();db.add(0, s1);
String s2=rf.getText2();db.add(1, s2);
String s3=rf.getText3();db.add(2, s3);
String s4=rf.getText4();db.add(3, s4);
String s5=rf.getText5();db.add(4, s5);
String s6=rf.getText6();db.add(5, s6);
String s7=rf.getText7();db.add(6, s7);
String s8=rf.getText8();db.add(7, s8);
String s9=rf.getText9();db.add(8, s9);
String s10=rf.getText10();db.add(9, s10);
ActionForward forward=new ActionForward();

AddcardBean pb=new AddcardBean();

pb.insertDb(db);


forward=mapping.findForward("succ");

return forward;



}
我的bean
public class AddcardBean
{
public void insertDb(ArrayList data) throws InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Mydb";
// pubs为你的数据库的
String user="sa";
String password="guolei";
Connection conn= DriverManager.getConnection(url,user,password);
//Statement ptmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String q1=(String) data.get(0);
String q2=(String) data.get(1);
String q3=(String) data.get(2);
String q4=(String) data.get(3);
String q5=(String) data.get(4);
String q6=(String) data.get(5);
String q7=(String) data.get(6);
String q8=(String) data.get(7);
String q9=(String) data.get(8);
String q10=(String) data.get(9);

String add="INSERT INTO userInfo (q1,q2,q3,q4,q5,q6,q7,q8,q9,q10) VALUES (?,?,?,?,?,?,?,?,?,?)";
try{
PreparedStatement psmt=conn.prepareStatement(add);
psmt.setString(1,q1);
psmt.setString(2,q2);
psmt.setString(3,q3);
psmt.setString(4,q4);
psmt.setString(5,q5);
psmt.setString(6,q6);
psmt.setString(7,q7);
psmt.setString(8,q8);
psmt.setString(9,q9);
psmt.setString(10,q10);
psmt.executeUpdate();

psmt.close();
conn.close();
}catch(Exception e)
{
e.printStackTrace();
}

//rs.close();
//psmt.close();

}
}
我想问下,是不是在struts中操作数据库要在struts-config.xml中配置啊!我没有配置啊!
...全文
159 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
凉凉二点凉 2006-12-12
  • 打赏
  • 举报
回复
就是说要在struts-config.xml中要配置数据源了?是不是啊怎么配置啊?我用的sqlserver
  • 打赏
  • 举报
回复
配置JDBC上有问题
awusoft 2006-12-12
  • 打赏
  • 举报
回复
不需要配置数据源的吧,直接连接数据就行了吧?我用的是Oracle.
RUKYO 2006-12-12
  • 打赏
  • 举报
回复
如果你没有在JSP/Servlet容器(如:tomcat)那里配置数据源那么就需要在struts-config.xml配置你的JDBC数据源。

例如:

<data-sources >
<data-source id="DS" key="myPool" type="org.apache.commons.dbcp.BasicDataSource" >
<set-property value="jdbc:mysql://localhost/mytest" property="url" />
<set-property value="bitan" property="username" />
<set-property value="bb" property="password" />
<set-property value="org.gjt.mm.mysql.Driver" property="driverClassName" />
<set-property value="true" property="autoCommit" />
</data-source>
</data-sources>

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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