cmcczwds 2015-02-02 05:40 采纳率: 0%
浏览 2422
已结题

急急急,请教JSP如何调用数据库mysql的java文件。

各位好,我实在是菜鸟,在网上找个JAVA文件,连接mysql数据库,经过测试,已经成功,现在用JSP页面来调用,就是不通过,真心请各位指点,急急急,下面把JAVA文件和JSP页面发出来,小弟谢过!
JAVA文件
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.Statement;

public class DB {
public static void main(String[] args) throws Exception {
Connection conn = null;
String sql;
// MySQL的JDBC URL编写方式:jdbc:mysql://主机名称:连接端口/数据库的名称?参数=值
// 避免中文乱码要指定useUnicode和characterEncoding
// 执行数据库操作之前要在数据库管理系统上创建一个数据库,名字自己定,
// 下面语句之前就要先创建javademo数据库
String url = "jdbc:mysql://localhost:3306/数据库名字?"
+ "user=数据库用户名&password=数据库密码&useUnicode=true&characterEncoding=UTF8";

    try {
        // 之所以要使用下面这条语句,是因为要使用MySQL的驱动,所以我们要把它驱动起来,
        // 可以通过Class.forName把它加载进去,也可以通过初始化来驱动起来,下面三种形式都可以
        Class.forName("com.mysql.jdbc.Driver");// 动态加载mysql驱动
        // or:
        // com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();
        // or:
        // new com.mysql.jdbc.Driver();

        System.out.println("成功加载MySQL驱动程序");
        // 一个Connection代表一个数据库连接
        conn = DriverManager.getConnection(url);
        // Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等
        Statement stmt = conn.createStatement();
        sql = "create table student(NO char(20),name varchar(20),primary key(NO))";
        int result = stmt.executeUpdate(sql);// executeUpdate语句会返回一个受影响的行数,如果返回-1就没有成功
        if (result != -1) {
            System.out.println("创建数据表成功");
            sql = "insert into student(NO,name) values('2012001','陶伟基')";
            result = stmt.executeUpdate(sql);
            sql = "insert into student(NO,name) values('2012002','周小俊')";
            result = stmt.executeUpdate(sql);
            sql = "select * from student";
            ResultSet rs = stmt.executeQuery(sql);// executeQuery会返回结果的集合,否则返回空值
            System.out.println("学号\t姓名");
            while (rs.next()) {
                System.out
                        .println(rs.getString(1) + "\t" + rs.getString(2));// 入如果返回的是int类型可以用getInt()
            }
        }
    } catch (SQLException e) {
        System.out.println("MySQL操作错误");
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        conn.close();
    }

}

}
JSP页面
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*"%>
<%@ page import="org.cmcc.databaseconnection.*"%>
<%
request.setCharacterEncoding("utf-8");
%>
<%

DB conn=new DB();
Statement stmt = conn.createStatement();
String str1 = "select * from yh";
ResultSet result=stmt.executeQuery(str1);
if(result.next())
{

%>

<%=result.getString(2)%>;
<%

}

else
{
%>
<br> alert(&quot;XX&quot;);<br> history.back();<br>
<%
}
%>

  • 写回答

8条回答 默认 最新

  • Ryan_Chen 2015-02-02 06:39
    关注

    页面接收数据。。。或者你把处理数据的业务封装成一个类,到时候只要传参获取数据就行了,不要在页面进行sql操作

    评论

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序