问题1,如果用jdbc链接数据库,如果较多人(几千人)同时登陆,会不会使崩溃
问题2,我用tomcat连接池链接数据库,服务器运行一段时间就崩了
各个配置如下:
首先tomcat server.xml配置连接池和工程
<Resource name="jdbc/sqlserver" auth="Container" 
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
type="javax.sql.DataSource" 
url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=sports"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
username="sa" 
password="159951" 
maxActive="100" 
maxIdle="30" 
maxWait="10000" />  <Connector port="80"               maxHttpHeaderSize="8192"
               maxThreads="200" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true" />
 
<Context path="" docBase="G:\ancester" reloadable="true">
<ResourceLink name = "jdbc/sqlserver" global = "jdbc/sqlserver" type= "javax.sql.DataSource"/>
</Context>
 

解决方案 »

  1.   

    第二:数据库链接代码public class SqlConn
    {
       private Connection conn = null;
    private Statement  stmt=null;
    private ResultSet  rs=null; public SqlConn() throws SQLException
    {
    getStatement();

    }
    public void getStatement() throws SQLException
    {   
        DataSource ds = null;
        try
        {
        Context ctx = new InitialContext();
        ds = (DataSource) ctx.lookup("java:comp/env/jdbc/sqlserver");
         if (ds != null)
         {
              conn = ds.getConnection();
         }
       
        }catch(Exception e)
        {
         e.printStackTrace();
        }
        stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
    ResultSet.CONCUR_READ_ONLY);
       } public ResultSet getResultset(String sql) throws SQLException
    {  
    rs = stmt.executeQuery(sql);
    return rs;
    } public int executeSql(String sql) throws SQLException
    {  
    int rs = stmt.executeUpdate(sql); return rs;
    } public void dbClose()
    {
         try { 
      if (rs != null)        rs.close(); 
                      if (stmt != null)      stmt.close();                     
                      if (conn != null)       conn.close(); 
                        
                 }catch (SQLException e) 
         { 
                        System.out.println(e); 
                 }
    }

    }
      

  2.   

    第三:  首页代码(已经被删减了)<%
    SqlConn db=null;
    ResultSet rs=null;
    try{
    db=new SqlConn();
    String sql_resource="select top 13 * from resource order   by id   desc ";//取得最后10条记录
    rs=db.getResultset(sql_resource);
    while(rs.next())
    {}
    %><br><%
    String sql_news="select top 11 * from news where show='yes' order   by id   desc ";//取得最后10条记录
    //out.print(sql_news);
     rs=db.getResultset(sql_news);
    out.print("<ul>");
    while(rs.next())
    {}
    %><%String sql_notice="select top 5 * from news where type='公告' order   by id   desc ";//取得最后10条记录
    //out.print(sql_news);
    rs=db.getResultset(sql_notice);
    out.print("<ul>");
    while(rs.next())
    {
    }
    %>
    <%
    String sql_scrollPic="select * from srollPic order by id desc";
    rs=db.getResultset(sql_scrollPic);
    while(rs.next())
    {
    }}catch(Exception e)
    {
    System.out.println("----------------------------------index exception");
    e.printStackTrace();
    }finally{
    db.dbClose();
    }
    %>
      

  3.   

    其他调用数据库的典型一:public   String executeUpdate(String sql_students_count,String sql_students_regist)
    {
    SqlConn sqlconn=null;
    ResultSet rs=null;
    try{
     sqlconn=new SqlConn();
     rs=sqlconn.getResultset(sql_students_count);
     if(rs.next())
     {
    if(rs.getInt(1)<400)//同时选择这个时间的人数   不能大于4     否则返回错误信息
    {
     sqlconn.executeSql(sql_students_regist);

     return "succ";
    }
    else//人数超了
    {
    return "full";
    }
     }
     else
    {
     return "server";
     }

    }catch(Exception e)
    {
    e.printStackTrace();
    System.out.println("-----------------------------------test_action.jsp   exception");
    return "server";
    }
    finally{
     sqlconn.dbClose();
    }
    }
      

  4.   

    问题1,如果用jdbc链接数据库,如果较多人(几千人)同时登陆,会不会使崩溃 
    这要看服务器的性能和你代码的性能的,各方面都控制好了就应该不会崩的.
      

  5.   

    我的数据库和tomcat的配置  哪里有问题啊 
    少数人没问题   人一多就完了   
      

  6.   

    你数据库和tomcat的配置本来就只配了那几个数字,当然不会支持多少人咯
      

  7.   

    要在tomcat的安装目录下的D:\tools\Tomcat 5.0\conf\
    下的server.xml配置文件中设置tomcat的最大连接数:
        <Connector 
                   port="8080" 
                   maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                   enableLookups="false" redirectPort="8443" acceptCount="100"
                   debug="0" connectionTimeout="20000" 
                   disableUploadTimeout="true" />
    把acceptCount属性设置一下就可以了
      

  8.   

    新浪 163 google等大型网站,同时使用的人数非常多
    他们是用什么服务器  怎么解决的呢?几千人用一个服务器就必须要分压么?