我写了2个JavaBean,分别为:ProductVO和ProductBean,我的代码如下:
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<%@ page import="java.sql.*,java.util.*,com.jspdev.*" %>
<jsp:useBean id="productVO" class="com.jspdev.ProductVO" scope="page">
<jsp:setProperty name="productVO" property="*"/>
</jsp:useBean>
<jsp:useBean id="productBean" class="com.jspdev.ProductBean" scope="page"/>
<html>
<head>
<title>增加商品成功</title>
</head>
<body>
<% 
try
{
productBean.setProduct(productVO);
productBean.addProduct();
out.print("成功");
}
catch(Exception e)
{
e.printStackTrace();
}
 %>
 <br>
<a href="registerProduct.jsp">返回增加商品</a>
</body>
</html>
运行这个代码之后发现可以转到registerProduct.jsp这个页面,但数据并没有存到数据库中,
当我把代码中的try{}catch{}去掉之后,却发生了以下错误:
org.apache.jasper.JasperException
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:207)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
.........
好郁闷啊,大家帮我下

解决方案 »

  1.   

    package com.jspdev;import java.sql.*;
    import java.util.*;
    import com.microsoft.jdbc.sqlserver.SQLServerDriver;public class ProductBean
    {
    private Connection con;
    ProductVO pdt;

    public ProductBean()
    {
    String CLASSFORNAME="com.microsoft.jdbc.sqlserver.SQLServerDriver";
    String SERVANDDB="jdbc:microsoft:sqlserver://127.0.0.1:1433:DatabaseName=jspdev";
    String USER="sa";
    String PWD="505505";

    try
    {
    Class.forName(CLASSFORNAME);
    con=DriverManager.getConnection(SERVANDDB,USER,PWD);
    }
    catch(Exception e){
    e.printStackTrace();
    }
    }

    public void setProduct(ProductVO pdt)
    {
    this.pdt=pdt;
    }

    public void addProduct()throws Exception
    {
    try
    {
    PreparedStatement stm=con.prepareStatement("insert into product values(?,?,?,?,?,?,?,?,?,?)");
    stm.setString(1,pdt.getProductid());
    stm.setString(2,pdt.getCategory());
    stm.setString(3,pdt.getName());
    stm.setString(4,pdt.getSupplier());
    stm.setFloat(5,pdt.getPrice());
    stm.setFloat(6,pdt.getCost());
    stm.setString(7,pdt.getDescn());
    stm.setString(8,pdt.getPicture());
    stm.setInt(9,pdt.getAmount());
    stm.setDate(10,new java.sql.Date(new java.util.Date().getTime()));
    try
    {
    stm.executeQuery();
    }
    catch(Exception e){

    }
    con.close();
    }
    catch(Exception e){
    e.printStackTrace();
    throw e;
    }
    }
    }
      

  2.   

    package com.jspdev;public class ProductVO implements java.io.Serializable
    {
    private String productid,category,name,supplier,picture,descn;
    private float price,cost;
    private int amount;
    private java.util.Date registtime;

    public void setProductid(String productid)
    {
    this.productid=productid;
    }
    public void setCategory(String category)
    {
    this.category=category;
    }
    public void setName(String name)
    {
    this.name=name;
    }
    public void setSupplier(String supplier)
    {
    this.supplier=supplier;
    }
    public void setPrice(float price)
    {
    this.price=price;
    }
    public void setCost(float cost)
    {
    this.cost=cost;
    }
    public void setAmount(int amount)
    {
    this.amount=amount;
    }
    public void setPicture(String picture)
    {
    this.picture=picture;
    }
    public void setDescn(String descn)
    {
    this.descn=descn;
    }
    public void setRegisttime(java.util.Date registtime)
    {
    this.registtime=registtime;
    }

    public String getProductid()
    {
    return this.productid;
    }
    public String getCategory()
    {
    return this.category;
    }
    public String getName()
    {
    return this.name;
    }
    public String getSupplier()
    {
    return this.supplier;
    }
    public float getPrice()
    {
    return this.price;
    }
    public float getCost()
    {
    return this.cost;
    }
    public int getAmount()
    {
    return this.amount;
    }
    public String getPicture()
    {
    return this.picture;
    }
    public String getDescn()
    {
    return this.descn;
    }
    public java.util.Date getRegisttime()
    {
    return this.registtime;
    }

    }
      

  3.   

    MSN:[email protected]无QQ。我给你测下,wait,不会是大问题的
      

  4.   

    gemouzhi(gemouzhi)
    我已经把代码发给你了,多谢帮忙
      

  5.   

    我也调了一下:
    把这句:
    String SERVANDDB="jdbc:microsoft:sqlserver://127.0.0.1:1433:DatabaseName=jspdev";改为:
    String SERVANDDB="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs"; 就可以了,不知道大家是不是这样的