请教怎么把下面java代码嵌入到jsp中

import java.sql.*;

public class JDBCTest
{
public static void main(String[] args)
{
String driver = "com.mysql.jdbc.Driver";
// URL指向要访问的数据库名scutcs
String url = "jdbc:MySQL://127.0.0.1:3306/lilihao";
// MySQL配置时的用户名
String user = "root";
// MySQL配置时的密码
String password = "";
try
{
// 加载驱动程序
Class.forName(driver);
// 连续MySQL 数据库
Connection conn =
DriverManager.getConnection(url, user, password);
if (!conn.isClosed())
{
System.out.println("Succeeded " +
"connecting to the Database!");
}
// statement用来执行SQL语句
Statement statement = conn.createStatement();
// 要执行的SQL语句
String sql = "select * from tb_public_0005 a,tb_trade_0045 b where b.f0045_004v=a.f0005_001v and a.f0005_005v='001001' limit 0,10";
// 结果集
ResultSet rs = statement.executeQuery(sql);
System.out.println("-----------------");
System.out.println("执行结果如下所示:");
System.out.println("-----------------");
System.out.println(" 学号" + "\t" + " 姓名");
System.out.println("-----------------");
String name = null;
while (rs.next())
{
// 选择f0005_001v这列数据
name = rs.getString("f0005_001v");
// 首先使用ISO-8859-1字符集将name解码为字节序列并将结果存
//储新的字节数组中。然后使用GB2312字符集解码指定的字节数组.
name = new String(
name.getBytes("ISO-8859-1"), "GB2312");
// 输出结果
System.out.println(
rs.getString("f0005_002v") + "\t" + name);
}
rs.close();
conn.close();
}
catch (ClassNotFoundException e)
{
System.out.println("Sorry,can`t find the Driver!");
e.printStackTrace();
}
catch (SQLException e) {
e.printStackTrace();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
最新回答
臣妾做不到

2024-09-27 09:10:47

把代码都嵌入到JSP里面是违反MVC设计准则的,这会让你的代码难维护,如果万一出错了,页面上显示的哪一行你都找不到(不是实际指出的那行,还要找编译好的对应的servlet)

让上面代码运行,把它改写为一个类或Beanl就可以了,其实也就一分钟的事儿,把main改成函数,然后在jsp里面import它,new一个bean类,调用这个方法,很快,还好调试,何乐而不为呢?

其实还有更好的封装方法,等你用了hibernate就知道了。
风起半山

2024-09-27 12:24:59

在jsp页面里写
<%>
String driver = "com.mysql.jdbc.Driver";
// URL指向要访问的数据库名scutcs
String url = "jdbc:MySQL://127.0.0.1:3306/lilihao";
// MySQL配置时的用户名
String user = "root";
// MySQL配置时的密码
String password = "";
try
{
// 加载驱动程序
Class.forName(driver);
// 连续MySQL 数据库
Connection conn =
DriverManager.getConnection(url, user, password);
if (!conn.isClosed())
{
System.out.println("Succeeded " +
"connecting to the Database!");
}
// statement用来执行SQL语句
Statement statement = conn.createStatement();
// 要执行的SQL语句
String sql = "select * from tb_public_0005 a,tb_trade_0045 b where b.f0045_004v=a.f0005_001v and a.f0005_005v='001001' limit 0,10";
// 结果集
ResultSet rs = statement.executeQuery(sql);
System.out.println("-----------------");
System.out.println("执行结果如下所示:");
System.out.println("-----------------");
System.out.println(" 学号" + "\t" + " 姓名");
System.out.println("-----------------");
String name = null;
while (rs.next())
{
// 选择f0005_001v这列数据
name = rs.getString("f0005_001v");
// 首先使用ISO-8859-1字符集将name解码为字节序列并将结果存
//储新的字节数组中。然后使用GB2312字符集解码指定的字节数组.
name = new String(
name.getBytes("ISO-8859-1"), "GB2312");
// 输出结果
System.out.println(
rs.getString("f0005_002v") + "\t" + name);
}
rs.close();
conn.close();
}
catch (ClassNotFoundException e)
{
System.out.println("Sorry,can`t find the Driver!");
e.printStackTrace();
}
catch (SQLException e) {
e.printStackTrace();
}
catch (Exception e) {
e.printStackTrace();
}
}

</%>
世界等同你

2024-09-27 10:41:56

简单方法:
把main方法里的内容全部复制到html页面的<body></body>标签中,用<%%>把代码扩起来,把System.out.println();方法的System关键字去掉,最后在html页面顶部加上:<%@ page pageEncoding="utf-8" contentType="text/html;charset=utf-8" import="java.lang.util"%>,import里面是你要添加的包路径,用逗号分隔,把你这个类的最顶部的import后面的每条内容都复制到html页面的import中就可以了,注意用逗号分隔啊。
摘星入眼

2024-09-27 21:56:43

1. 把 public static void main(String[] args) 改成 public static void sthABC() ;
2. 在 jsp 页面中 import JDBCTest类.
3. 在 jsp页面某处调用(随便哪里) <% JDBCTest.sthABC(); %> 最这么一句,就足够了
4. 如果你想把sysout的内容打印到浏览器看, 那就把所有的System.out.println,都改成out.println
5. 完事!
我胸小随我爸不行啊

2024-09-27 14:12:59

1、建一个jsp 页面,导入相应的包。
2、把上面的类放到<% %>中,把main方法的参数去掉(在jsp 中不需要程序入口方法main,最简单的方法:去掉main的参数就行了。)。
3、在上面的<% %>中的最后面,加入JDBCTest.main();
4、把所有的System.out.println,都改成out.println.