使用JavaBean+Jsp方式。这样可以关键代码用JavaBean封装起来,而显示部份则是JSP和HTML混合。当然,也可以使用模板,让JSP和HTML分开(即使用JSP的Tag Lib技术。)

解决方案 »

  1.   

    Jsp + Html 做显示,Servlet + JavaBean做业务逻辑
      

  2.   

    请问MUF TAG LIB技术具体怎么使用?
     还有,请问个位谁写过,处理一个对数据表的操作,如添加,删除,修改,把这些功能封装到一个JAVABEAN里面!!
      

  3.   

    我写过,给你一个,不过你也太小气了,给得分那么低!QueryBean.java:/*
    *writed by lci21 
    */
    import java.sql.*;
    public class QueryBean
    {
    public String query_statement;
    public String param[];   //查询条件,或者是新的记录
    public ResultSet result=null;
    public Connection conn;

    public void setParam(String[] param)
    {
    this.param=param;
    }
    public void setQuerystatement(String query_statement)
    {
    this.query_statement=query_statement;
    }
    public void setConnection(String driverName,String jdbcURL,String username,String passwd) throws Exception
    {
    Connection conn1;
    Class.forName(driverName);
    conn1=DriverManager.getConnection(jdbcURL,username,passwd);
    conn1.setAutoCommit(false);
    this.conn = conn1;
    }
     
    public ResultSet getResult()
    {
    try
    {
    PreparedStatement select_stm=conn.prepareStatement(query_statement,java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
    if (param!=null)
            for(int i=0;i<param.length;i++)
                select_stm.setString(i+1,param[i]);
    result=select_stm.executeQuery();                                     
    }catch(Exception e){System.out.println(e);}
    return result;
    }


    public void insertRecord() throws SQLException,java.io.UnsupportedEncodingException
    {
    try
    {
    PreparedStatement insert_stm=conn.prepareStatement(query_statement);
    if (param!=null)
    for(int j=0;j<param.length;j++)
    insert_stm.setString(j+1,HttpTool.net2Native(param[j]));
    insert_stm.executeUpdate();
    insert_stm.close();
    conn.commit();
    }
    catch(Exception e)
    {
    System.out.println(e);
    conn.rollback();
    }
    }
          
            
            public void updateRecord() throws SQLException,java.io.UnsupportedEncodingException
            {
             try
             {
             PreparedStatement update_stm=conn.prepareStatement(query_statement);
             if (param!=null)
             for (int k=0;k<param.length;k++)
             update_stm.setString(k+1,HttpTool.net2Native(param[k]));
             update_stm.executeUpdate();
             update_stm.close();
             conn.commit();
             }
             catch(Exception e)
             {
             System.out.println(e);
             conn.rollback();
             }
            }
                          
    }
      

  4.   

    流浪少年你说要多少,我全给你不行吗,不够以后再给,OKAY,少年有为啊!!多谢!!
      

  5.   

    请问:getResult()此方法可以用来实现分页显示吗?如果行,在JSP怎么用?
    谢,我是初学者
      

  6.   

    sorry,中间肯定会有几处错误,有些方法会找不到在insertRecord()方法中,把insert_stm.setString(j+1,HttpTool.net2Native(param[j]));  改为insert_stm.setString(j+1,param[j]);
    在updateRecord()方法中,把update_stm.setString(k+1,HttpTool.net2Native(param[k]));  改为update_stm.setString(k+1,param[k]);       改过以后:QueryBean.java:/*
    *writed by lci21 
    */
    import java.sql.*;
    public class QueryBean
    {    
        public String query_statement;
        public String param[];  //查询条件,或者是新的记录
        public ResultSet result=null;    
        public Connection conn;
        
        public void setParam(String[] param)
        {
            this.param=param;
        }
        public void setQuerystatement(String query_statement)
        {
            this.query_statement=query_statement;
        }
        public void setConnection(String driverName,String jdbcURL,String username,String passwd) throws Exception
        {
            Connection conn1;
            Class.forName(driverName);
            conn1=DriverManager.getConnection(jdbcURL,username,passwd);
            conn1.setAutoCommit(false);
            this.conn = conn1;
        }
        
        public ResultSet getResult()
        {
            try
            {
                PreparedStatement select_stm=conn.prepareStatement(query_statement,java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
                if (param!=null)
                        for(int i=0;i<param.length;i++)
                            select_stm.setString(i+1,param[i]);
                result=select_stm.executeQuery();                                        
            }catch(Exception e){System.out.println(e);}
            return result;
        }
        
        
        public void insertRecord() throws SQLException,java.io.UnsupportedEncodingException
        {
            try
            {
                PreparedStatement insert_stm=conn.prepareStatement(query_statement);
                if (param!=null)
                    for(int j=0;j<param.length;j++)
                        insert_stm.setString(j+1,param[j]);
                insert_stm.executeUpdate();
                insert_stm.close();
                conn.commit();
            }
            catch(Exception e)
            {
                System.out.println(e);
                conn.rollback();
            }        
        }
              
            
            public void updateRecord() throws SQLException,java.io.UnsupportedEncodingException
            {
                try
                {
                    PreparedStatement update_stm=conn.prepareStatement(query_statement);
                    if (param!=null)
                        for (int k=0;k<param.length;k++)
                            update_stm.setString(k+1,param[k]);
                    update_stm.executeUpdate();
                    update_stm.close();
                    conn.commit();
                }
                catch(Exception e)
                {
                    System.out.println(e);
                    conn.rollback();
                }
            }
                              
    }
    这个getResult()方法仅仅是取出结果集,并没有实现分页,你可以在jsp中实现分页,也可以专门写个bean来分页。
      

  7.   

    注意别把文件名QueryBean.java也搞到程序中进行编译!!!呵呵
      

  8.   

    JSP里有个TAGLIB的API,可以做很多东西,完全把业务羅辑和表达羅辑分开。