我设计了一个jsp页面,是连接数据库chatroom中的表userinfo,并显示表中的第二个字段。可是用ie打开这个页面后总是提示下载。各位帮帮忙吧。
<%@ page contentType="text/html,charset=GB2312"%>
<%@ page import="java.sql.*"%>
<html>  
 <body>
  <% Connection con; 
   Statement sql; 
   ResultSet rs; 
   try{Class.forName("org.gjt.mm.mysql.Driver");} 
   catch(Exception e) 
   {out.print(e);} 
   try{String url="jdbc:mysql://127.0.0.1:3306;DatabaseName=chatroom"; 
   String user="root"; 
   String Password="admin"; 
   con=DriverManager.getConnection(url,user,Password); 
   sql=con.createStatement(); 
   rs=sql.executeQuery("SELECT * FROM userinfo"); 
   out.print("<table border=2>"); 
   out.print("<tr>"); 
   out.print("<td width=100>"+"username"+"</td>"); 
   out.print("</tr>"); 
   while(rs.next()) 
   { 
   out.print("<tr>"); 
   out.print("<td>"+rs.getString(2)+"</td>"); 
   out.print("</tr>"); 
   } 
   out.print("</table>"); 
   con.close(); 
   } 
   catch(SQLException e) 
   { out.print(e);} 
   %>
  </body>
</html>

解决方案 »

  1.   

    我用的是myeclipse+tomcat
    配置都对,我用一个测试页面2+2=<%=2+2%>也能输出2+2=4
      

  2.   


    <%@ page contentType="text/html,charset=GB2312"%>
     把它改成<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"
    contentType="text/html; charset=UTF-8"%>下试试!
      

  3.   


    <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
    <%@ page import="java.sql.*"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
    + request.getServerName() + ":" + request.getServerPort()
    + path + "/";
    %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
    </head> <body>
    <%
    Connection con;
    Statement sql;
    ResultSet rs;
    try {
    Class.forName("org.gjt.mm.mysql.Driver");
    } catch (Exception e) {
    out.print(e);
    }
    try {
    String url = "jdbc:mysql://127.0.0.1:3306;DatabaseName=chatroom";
    String user = "root";
    String Password = "admin";
    con = DriverManager.getConnection(url, user, Password);
    sql = con.createStatement();
    rs = sql.executeQuery("SELECT * FROM userinfo");
    out.print("<table border=2>");
    out.print("<tr>");
    out.print("<td width=100>" + "username" + "</td>");
    out.print("</tr>");
    while (rs.next()) {
    out.print("<tr>");
    out.print("<td>" + rs.getString(2) + "</td>");
    out.print("</tr>");
    }
    out.print("</table>");
    con.close();
    } catch (SQLException e) {
    out.print(e);
    }
    %>
    %>
    </body>
    </html>全部复制过去试试!
      

  4.   

    <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
    <%@ page import="java.sql.*"%>
    <%
        String path = request.getContextPath();
        String basePath = request.getScheme() + "://"
                + request.getServerName() + ":" + request.getServerPort()
                + path + "/";
    %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
        <head>
            <base href="<%=basePath%>">        <title>My JSP 'index.jsp' starting page</title>
            <meta http-equiv="pragma" content="no-cache">
            <meta http-equiv="cache-control" content="no-cache">
            <meta http-equiv="expires" content="0">
            <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
            <meta http-equiv="description" content="This is my page">
            <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
        </head>    <body>
            <%
                Connection con;
                Statement sql;
                ResultSet rs;
                try {
                    Class.forName("org.gjt.mm.mysql.Driver");
                } catch (Exception e) {
                    out.print(e);
                }
                try {
                    String url = "jdbc:mysql://127.0.0.1:3306;DatabaseName=chatroom";
                    String user = "root";
                    String Password = "admin";
                    con = DriverManager.getConnection(url, user, Password);
                    sql = con.createStatement();
                    rs = sql.executeQuery("SELECT * FROM userinfo");
              %>
                    <table border=2>
                        <tr>
                           <th>userName</th>
                       </tr>
             <%
                    while (rs.next()) {
             %>
                       <tr>
                         <td><%=rs.getString(2)%><td>
                       </tr>
                     </table>
              <%  
                }
                    con.close();
                } catch (SQLException e) {
                    out.print(e);
                }
            %>
        </body>
    </html>
    用这个试试,我也新手,大家多交了
      

  5.   

    <td><%=rs.getString(2)%><td>
    不好意思,这地方少了一个;
      

  6.   

    嘿嘿,多谢,多谢
    不过我可能又有什么地方出错了
    com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Cannot load connection class because of underlying exception: 'java.lang.NumberFormatException: For input string: "3306;DatabaseName=chatroom"'. 
    我已经将mysql的驱动加到我的项目中了,而且表的名字的确是chatroom,为什么连接不上?
      

  7.   

    数据库的名字的确是chatroom
    mysql的驱动我也考到tomcat中了,怎么会连不上?
      

  8.   

    url = "jdbc:mysql://127.0.0.1:3306/chatroom";试试这个
      

  9.   

    可以了,怎么这样变一下就行了?我感觉跟DatabaseName=chatroom这种没什么区别啊?
      

  10.   

    API就这么说的,你就这么用,呵呵