jsp页面怎么对数据库进行增加操作?是不是每个jsp页面都得写连接数据库的代码?jsp页面通过JavaBean连接数据库行不?
The value for the useBean class attribute src/java/source/PayDA is invalid.是什么意思呢?

解决方案 »

  1.   

    可以写个java类, 用于数据库连接 例如 DBPool.java
    对数据的操作写到另一个类,例如 UserDao.javajsp页面对数据的操作最好提交到控制层去,例如Servlet。
    这样显示层、控制层和数据链路层就分开了,也就是MVC模式。
      

  2.   

    The value for the useBean class attribute src/java/source/PayDA is invalid.是什么意思呢?你使用useBean标签的时候,attribute 属性错了一般来说只有 类的路径,src应该是不需要的.java.source.PayDA 
      

  3.   

    bs模式是面向请求的,所以JSP只负责发送请求给Server,而数据方面操作最简单的解决方案是专门写个类,作为Servlet。写JAVABEAN 应该是可以实现的。 写个javaBean,有个方法getSession,把连接写在JavaBean中。自定义个标签,或第三方的标签。
      

  4.   

    当然可以通过Javabean连接。
     src/java/source/PayDA is invalid 这个资源非法了。
      

  5.   

    可以,你可以封装一个JavaBean,其中包括对数据库的链接,另外该类中有一个Query方法和update方法即可。给你写一个吧(给我积分哦!)://这是一个封装数据库操作的JAVABEAN。
    package myBean;
    import java.io.*;import java.sql.*;
    public class SqlBean
    {
    private String DBDriver="com.mysql.jdbc.Driver";
    private String url = "jdbc:mysql://localhost:3306/yao?user=root&password=123456&characterEncoding=gbk"; 
    private String uid="root";
    private String pwd="123456";
    public Connection conn=null;
    public ResultSet rs=null;

    public ResultSet query(String mySql) throws Exception
    {
    try
    {
    Class.forName(DBDriver).newInstance();
    conn=DriverManager.getConnection(url,uid,pwd);
    Statement stmt=conn.createStatement();
    stmt.execute("use yao;");
    rs=stmt.executeQuery(mySql); return rs;
    }
    catch (SQLException e)
    {
    System.out.println("这里查询异常!");
    }
    return null;
    } public void update(String mySql)throws Exception
    {
    try
    {
    Class.forName(DBDriver).newInstance();
    conn=DriverManager.getConnection(url,uid,pwd);
    Statement stmt=conn.createStatement();
    stmt.execute("use yao;");
    stmt.executeUpdate(mySql);  
    stmt.close();
    conn.close();
    }
    catch (SQLException e)
    {
    System.out.println("222222查询异常!");
    }
    }


    public void setDBDriver(String DBDriver)
    {
    this.DBDriver=DBDriver;
    }
    public String getDBDriver()
    {
    return this.DBDriver;
    }
    public void setUrl(String url)
    {
    this.url=url;
    }
    public String getUrl()
    {
    return this.url;
    }
    public void setUid(String uid)
    {
    this.uid=uid;
    }
    public String getUid()
    {
    return this.uid;
    }
    public void setPwd(String pwd)
    {
    this.pwd=pwd;
    }
    public String getPwd()
    {
    return this.pwd;
    }




      

  6.   

    给你个basedao。
    public class BaseDAO {
    private static String DRIVER="oracle.jdbc.driver.OracleDriver";
    private static String URL="jdbc:oracle:thin:@localhost:1521:accp";
    private static String USER="epet";
    private static String PWD="epet";
    public static Connection getCon(){
    Connection con=null;
    try {
    Class.forName(DRIVER);
    con=DriverManager.getConnection(URL,USER,PWD);
    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    return con;
    }
    public List<Object> executeQuery(Class obj,String sql,Object...args){
    Connection con=getCon();
    ResultSet rs=null;
    PreparedStatement pst=null;
    List<Object> objectList=new ArrayList<Object>();
    try {
    pst=con.prepareStatement(sql);
    for (int i = 0; i < args.length; i++) {
    pst.setObject(i+1, args[i]);
    }
    rs=pst.executeQuery();
    while(rs.next()){
    Object o=obj.newInstance();
    Method[] methods=obj.getDeclaredMethods();
    for (Method method : methods) {
    String methodName=method.getName();
    if(methodName.startsWith("set")){
    Object value=rs.getObject(methodName.replace("set",""));
    if(value!=null){
    if(value instanceof BigDecimal){
    value=((BigDecimal)value).intValue();
    method.invoke(o, value);
    }
    if(value instanceof String){
    value=value.toString();
    method.invoke(o, value);
    }
    if(value instanceof Date){
    value=value.toString();
    method.invoke(o, value);
    }
    }
    }
    }
    objectList.add(o);
    }
    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }finally{
    closeAll(rs,pst,con);
    }
    return objectList;
    }
    public int executeSQL(String sql,Object...args){
    Connection con=getCon();
    int result=0;
    PreparedStatement pst=null;
    try {
    pst=con.prepareStatement(sql);
    for (int i = 0; i < args.length; i++) {
    pst.setObject(i+1, args[i]);
    }
    result=pst.executeUpdate();
    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }finally{
    closeAll(null,pst,con);
    }
    return result;
    }
    public void closeAll(ResultSet rs,Statement st,Connection con){
    try {
    if(rs!=null){
    rs.close();
    }
    if(st!=null){
    st.close();
    }
    if(con!=null){
    con.close();
    }
    } catch (Exception e) {
    // TODO: handle exception
    }
    }