使用Java代码编写jsp页面,使之能够对数据库添加数据表,比如现在有一个名为database的数据库,我们想要通过某个页面来添加一张数据库表到database数据库中,该如何进行编写代码?
一、准备工作
1、首先我们需要配置一个可运行Java Web的环境。
2、需要使用Java连接MySQL数据库的驱动jar文件,并且将相应的jar驱动文件放到WEB-INF\lib文件夹下。
二、创建数据库表的Java代码
1、创建一个jsp页面testmysql.jsp,在其顶部第一行代码处打上以下代码(此代码是调用java相应的类,并且让其页面为UTF-8)
1 | <%@ page contentType="text/html; charset=utf-8" language="java" import="java.io.*,java.sql.*"%> |
2、创建数据库表,并且连接数据库,执行创建数据库表
1 | <% String err; |
2 | Connection conn = null;//初始化Connection为null |
3 | try { |
4 | //JDBC驱动加载 |
5 | String driverName = "org.gjt.mm.mysql.Driver"; // MySQL JDBC数据库驱动 |
6 | Class.forName(driverName); |
7 | String sql = "CREATE TABLE mysql(" |
8 | + "mysql_boolean BOOL, " // boolean数据类型 |
9 | + "mysql_byte TINYINT, " // byte数据类型 |
10 | + "mysql_short SMALLINT, " // short数据类型 |
11 | + "mysql_int INTEGER, " // int数据类型 |
12 | + "mysql_long BIGINT, " // long数据类型 |
13 | + "mysql_float FLOAT, " // float数据类型 |
14 | + "mysql_double DOUBLE PRECISION, " // double数据类型 |
15 | + "mysql_bigdecimal DECIMAL(13,0), " // BigDecimal数据类型 |
16 | + "mysql_string VARCHAR(254), " // String数据类型 |
17 | + "mysql_date DATE, " // Date数据类型 |
18 | + "mysql_time TIME, " // Time数据类型 |
19 | + "mysql_timestamp TIMESTAMP, " // Timestamp数据类型 |
20 | + "mysql_asciistream TEXT, " // AsciiStream数据类型 (< 2^16 bytes) |
21 | + "mysql_binarystream LONGBLOB, " // BinaryStream数据类型 (< 2^32 bytes) |
22 | + "mysql_blob BLOB)"; // Blob数据类型 (< 2^16 bytes) |
23 | // 创建数据库连接 |
24 | String servername=request.getParameter("servername"); |
25 | String mydatabase =request.getParameter("mydatabase"); |
26 | String url = "jdbc:mysql://" + servername + "/" + mydatabase; // 数据库连接地址 |
27 | String serveruser=request.getParameter("serveruser"); |
28 | String serverpassword=request.getParameter("serverpassword"); |
29 | conn = DriverManager.getConnection(url, serveruser, serverpassword); |
30 | Statement stmt = conn.createStatement(); |
31 | stmt.executeUpdate(sql); |
32 | } catch (ClassNotFoundException e) { |
33 | out.print("找不到数据库驱动"+e);//错误处理 |
34 | } catch (SQLException e) { |
35 | out.print("发生错误,错误信息如下<br/>"+e);//错误处理 |
36 | } |
37 | catch (Exception ex) { |
38 | conn=null; |
39 | err=ex.toString(); |
40 | System.out.println(err);//错误处理 |
41 | } |
42 | %>; |
43 | <% //测试数据库连接是否正确 |
44 | if(conn != null) |
45 | { |
46 | out.println("<p align="center"><font mysqlor=blue>数据库连接成功</font></p>"); |
47 | } |
48 | else |
49 | { |
50 | out.println("<p align="center"><font mysqlor=red>数据库连接失败</font></p>"); |
51 | } |
52 | %>; |
53 | <% |
54 | conn.close();//关闭数据库连接 |
55 | %>; |
三、jsp表单提交页面
创建一个首页index.jsp,代码如下:
1 | <%@ page contentType="text/html; charset=utf-8" language="java" import="java.io.*"%> |
2 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
3 | <html xmlns="http://www.w3.org/1999/xhtml"> |
4 | <head> |
5 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
6 | <title>创建数据库连接及数据库表</title> |
7 | <style type="text/css"> |
8 | <!-- |
9 | .STYLE1 {font-size: 12px} |
10 | .STYLE3 {color: #00CC00} |
11 | .STYLE5 {color: #CCCC33} |
12 | .STYLE7 {color: #99FF33} |
13 | .STYLE9 {color: #99FFFF} |
14 | .STYLE11 {color: #000066} |
15 | .STYLE12 {font-size: 12px; color: #0033FF; } |
16 | .STYLE13 {color: #0033FF} |
17 | --> |
18 | </style> |
19 | </head> |
20 | <body> |
21 | <center> |
22 | <form action="testmysql.jsp" method="post" name="form"> |
23 | <table width="292" border="0" cellpadding="4" cellspacing="4" bordercolor="#CCFFFF"> |
24 | <tr> |
25 | <td colspan="2" bgcolor="#CCFFFF"><div align="center" class="STYLE12">创建数据库连接及数据库表</div></td> |
26 | </tr> |
27 | <tr> |
28 | <td width="91" bgcolor="#CCFFFF"><div align="right" class="STYLE12">数据库URL</div></td> |
29 | <td width="177" bgcolor="#CCFFFF"><div align="left" class="STYLE12"> |
30 | <input name="servername" type="text" id="servername" value="localhost" /> |
31 | </div></td> |
32 | </tr> |
33 | <tr> |
34 | <td width="91" bgcolor="#CCFFFF"><div align="right" class="STYLE12">数据库名称</div></td> |
35 | <td width="177" bgcolor="#CCFFFF"><div align="left" class="STYLE12"> |
36 | <input name="mydatabase" type="text" /> |
37 | </div></td> |
38 | </tr> |
39 | <tr> |
40 | <td bgcolor="#CCFFFF"><div align="right" class="STYLE12">数据库用户名</div></td> |
41 | <td bgcolor="#CCFFFF"><div align="left" class="STYLE12"> |
42 | <input type="text" name="serveruser" /> |
43 | </div></td> |
44 | </tr> |
45 | <tr> |
46 | <td bgcolor="#CCFFFF"><div align="right" class="STYLE12">数据库密码</div></td> |
47 | <td bgcolor="#CCFFFF"><div align="left" class="STYLE12"> |
48 | <input type="password" name="serverpassword" /> |
49 | </div></td> |
50 | </tr> |
51 | <tr> |
52 | <td bgcolor="#CCFFFF"><div align="right"><span class="STYLE1"><span class="STYLE3"><span class="STYLE5"><span class="STYLE7"><span class="STYLE9"><span class="STYLE11"><span class="STYLE13"></span></span></span></span></span></span></span></div></td> |
53 | <td bgcolor="#CCFFFF"><div align="center" class="STYLE12"> |
54 | <input type="submit" name="submit" value="测试并建立" /> |
55 | </div></td> |
56 | </tr> |
57 | </table> |
58 | </form> |
59 | </center> |
60 | </body> |
61 | </html> |