我要使用JSP+TomCat+MYSQL做一个基于WEB的新闻发布系统,关于怎么做书上已经讲了,但是不清楚。还是有一些问题。
使用MYSQL,在库csnews中建立表cs_user
Field           Type               Key
user_id         int(10) unsigned   PRI
user_loginname  char(20) 
user_truename   char(20)
user_password   char(20)
user_departid   int(10) unsigned
user_email      char(50)
user_phone      char(20)
user_canview    tinyint(1)
user_canadd     tinyint(1)
user_canedit    tinyint(1)
user_candel     tinyint(1)
user_canaudit   tinyint(1)
user_active     tinyint(1)
我在MYSQL环境下输入
create database csnews
use csnews前面都OK,但是建表是出现错误了.我一直不知道错误在哪里.create table cs_user(
user_id         int(10) 
user_loginname  char(20) 
user_truename   char(20)
user_password   char(20)
user_departid   int(10) 
user_email      char(50)
user_phone      char(20)
user_canview    tinyint(1)
user_canadd     tinyint(1)
user_canedit    tinyint(1)
user_candel     tinyint(1)
user_canaudit   tinyint(1)
user_active     tinyint(1)
);这是确显示出错....好象int不能使用10字节?还有主键和unsigned怎么设置? 
我找了很多MYSQL的教程文档,里面都没有详细的说明.要完整的建这个表的代码应该是什么?还有个这个关于连接数据库的页面
connection.jsp
<%@ page import="java.sql.*"%>
<%
    Class.forName("org.gjt.mm.mysql.Driver");
    String dbUrl = "jdbc:mysql://localhost/csnews";
 String dbUser = "root";
 String dbPassword = "";
    Connection conn;
    Statement stm;
conn = DriverManager.getConnection(dbUrl,dbUser,dbPassword); 
 //conn = DriverManager.getConnection(dbUrl);      
     
    stm=conn.createStatement();
%>里面的数据库是在存放JSP页面的csnews文件夹下,如果将已经建好在MYSQL\DATA复制到csnews下就行了吗?
需要用MYSQL进行连接吗?如果要,怎么连接?每个页面都有<%@ include file="../share/connection.jsp" %>,我现在还没建好数据库,我登陆带有上面代码的页面,却每次都是直接转到TOMCAT的管理员登陆页面去了.是不是哪里设置出问题了?
谢谢大家帮忙,以前只用DELPHI做过系统,而且老师带着做,不那么难。
这次导师自己都不懂JSP...虽然是研究WEB方面的..
谢谢大家.

解决方案 »

  1.   

    create table cs_user(
    user_id         int(10), 
    user_loginname  char(20) ,
    user_truename   char(20),
    user_password   char(20),
    user_departid   int(10) ,
    user_email      char(50),
    user_phone      char(20),
    user_canview    tinyint(1),
    user_canadd     tinyint(1),
    user_canedit    tinyint(1),
    user_candel     tinyint(1),
    user_canaudit   tinyint(1),
    user_active     tinyint(1)
    );
    建表,每个字段中间需要加英文半角逗号例子:
    CREATE TABLE `admin` (
      `id` int(11) NOT NULL auto_increment,
      `username` varchar(100) NOT NULL default '',
      `password` varchar(100) NOT NULL default '',
      `date_time` datetime NOT NULL default '0000-00-00 00:00:00',
      PRIMARY KEY  (`id`)
    ) TYPE=MyISAM AUTO_INCREMENT=2 ;
      

  2.   

    String dbUrl = "jdbc:mysql://localhost/csnews";
    应该是:String dbUrl = "jdbc:mysql://187.186.0.11/csnews?useUnicode=true&amp;characterEncoding=iso-8859-1";
      

  3.   

    每个页面都有<%@ include file="../share/connection.jsp" %>,我现在还没建好数据库,我登陆带有上面代码的页面,却每次都是直接转到TOMCAT的管理员登陆页面去了.是不是哪里设置出问题了?
    〉〉登陆页面可以不用连接数据库,应该是输入登陆帐号和密码提交后连接数据库,进行验证另:数据库打开后要注意关闭呦!
      

  4.   

    谢谢楼上的..楼上的能留个联系方式吗? QQ或者MSN都行。代码什么的我都搞定了,就是这样的小细节不知道怎么弄..
    create  table  cs_user(  
    user_id                  int(10),    
    user_loginname    char(20)  ,  
    user_truename      char(20),  
    user_password      char(20),  
    user_departid      int(10)  ,  
    user_email            char(50),  
    user_phone            char(20),  
    user_canview        tinyint(1),  
    user_canadd          tinyint(1),  
    user_canedit        tinyint(1),  
    user_candel          tinyint(1),  
    user_canaudit      tinyint(1),  
    user_active          tinyint(1)  
    );  出现错误
    can't create table ',\csnews\cs_user.frm' (errno:121)
      

  5.   

    <%@ page contentType="text/html;charset=utf-8"%>
    <%@ page import="java.sql.*"%>
    <html>
    <%
    Class.forName("org.gjt.mm.mysql.Driver").newInstance();
    String url="jdbc:mysql://localhost/csnews?";
    String username="root";
    String password="123456";
    Connection conn=DriverManager.getConnection(url, username, password);
    Statement stmt =conn.createStatement();
    String sql = "select * from test";
    ResultSet rs=stmt.executeQuery(sql);
    while(rs.next()) {%>
    The Result : <%=rs.getString(2)%><BR>
    <%}
    rs.close();
    stmt.close();
    conn.close();
    %>
    </html>
      

  6.   

    建表逗号的问题真是太富有震撼力了,唉以前只用过SQL SERVER....建表我也就看了一个视频教程...
    这个表还是没建起来..
      

  7.   

    如果这个表我用SQL SERVER建.那么connection.jsp
    <%@ page import="java.sql.*"%>
    <%
        Class.forName("org.gjt.mm.mysql.Driver");
        String dbUrl = "jdbc:mysql://localhost/csnews";
     String dbUser = "root";
     String dbPassword = "";
        Connection conn;
        Statement stm;
    conn = DriverManager.getConnection(dbUrl,dbUser,dbPassword); 
     //conn = DriverManager.getConnection(dbUrl);      
         
        stm=conn.createStatement();
    %>
    该如何改.
    这样行不行.
    connection.jsp
    <%@ page import="java.sql.*"%>
    <%
        Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
        String dbUrl = "jdbc:microsoft:sqlserver://localhost/csnews";
     String dbUser = "root";
     String dbPassword = "";
        Connection conn;
        Statement stm;
    conn = DriverManager.getConnection(dbUrl,dbUser,dbPassword); 
     //conn = DriverManager.getConnection(dbUrl);      
         
        stm=conn.createStatement();
    %>
    然后把SQL Server的驱动装好,然后把数据库存放到JSP页面的csnews文件夹下.
    这样就行了吗?查询语句什么的,应该是MYSQL和SQLSERVER都通用的吧.
      

  8.   

    case 1: //mysql
         //strDriverName = "org.gjt.mm.mysql.Driver";
         //strUrl = "jdbc:mysql://187.186.0.11/" + DbName + "?useUnicode=true&amp;amp;amp;characterEncoding=iso-8859-1";
         strDriverName = "com.mysql.jdbc.Driver";
         strUrl = "jdbc:mysql://187.186.0.11:3306/" + DbName + "?user=" + strUserName + "&password=" + strPasswd + "&useUnicode=true&characterEncoding=gb2312";
         System.out.println("mysql");
         Class.forName(strDriverName).newInstance();
            //创建连接
            conn = java.sql.DriverManager.getConnection(strUrl);
         break;
        case 2: //sqlserver
         strDriverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
         strUrl = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=" + DbName;
         System.out.println("sqlserver");
         Class.forName(strDriverName).newInstance();
            //创建连接
            conn = java.sql.DriverManager.getConnection(strUrl,strUserName,strPasswd);
         break;