Java:在浏览器中显示一些SQL数据的简单方法。相互作用

时间:2012-08-06 12:57:31

标签: java web-services

我正在运行一个SQL数据库。所有java与它的交互都很清楚。 现在我想显示一些查询的结果(比如说SELECT * FROM example),让用户在浏览器中用几个按钮进行查询(DELETE FROM example)。

这样做有什么不复杂的方法?我的脑袋里充斥着像JAX-WS,JSP,Servlets等字样。最简单的方式似乎是JSP,但我听到它被弃用了,在做这个简单的任务时我也想学习一些对未来有用的东西:)

你会推荐什么?另外,如果你能指出一个好的教程会很好,因为我为Java webservices找到的所有教程都包括编写一个客户端,而不是在浏览器中使用它们。

4 个答案:

答案 0 :(得分:1)

假设您非常信任您的用户,最简单的方法是创建一个带有文本框的简单HTML页面,让用户输入查询到他/她的心脏内容。然后,您可以将用户输入的任何文本直接传递到数据库并丢弃结果。

如果您想在此过程中学习新内容,可以使用Spring框架。这可能是一种矫枉过正,但考虑到应用程序的简单性(在您的情况下),这个练习可能是让您入门的好方法。

答案 1 :(得分:1)

有几种方法可以做你想做的事,我会列出一对:

在服务器端。

  1. 使用像jersey
  2. 这样的REST框架
  3. 使用servlet。
  4. 我建议使用REST,here你可以找到一个教程。

    在客户端,您需要使用javascript发送ajax请求。

    我建议你看看jquery,这是一个javascript框架,可以让你的生活更轻松。 here是学习它的一些很好的资源。

答案 2 :(得分:0)

如果有人感兴趣,我最终使用了tapestry.apache.org,它带有一个很好的入门教程:)

答案 3 :(得分:0)

也许你可以尝试ZK framework,这很简单&简单。您可以查看他们的awesome live demos,感觉有多简单&很容易。此外,他们有一个在线sandbox网络应用程序,您可以在其中尝试zk代码。

例如,以下代码将查询数据库并将结果显示给用户。如果您填写了数据库访问部分的代码,那么这些代码就会运行,这并不奇怪。

<强> index.zul

<?xml version="1.0" encoding="UTF-8"?>
<zk>
    <button label='Query database' onClick='QueryAndDisplay()'/>
    <grid id='gridQueryResult'>
        <columns/>
        <rows/>
    </grid>
    <zscript><![CDATA[
    import java.sql.*;
    void QueryAndDisplay ()
    {
        // clear displayed content
        org.zkoss.zul.Columns cols = gridQueryResult.getColumns();
        org.zkoss.zul.Rows rows = gridQueryResult.getRows ();

        // ...
        // query the database, get the result set
        //...
        ResultSetMetaData rsmd = rs.getMetaData();
        for (int i=1; i<rsmd.getColumnCount(); i++)
        {
            // display the columns
            org.zkoss.zul.Column col = new org.zkoss.zul.Column (rsmd.getColumnName(i));
            cols.appendChild (col);
        }
        while (rs.next())
        {
            for (int i=1; i<rsmd.getColumnCount(); i++)
            {
                org.zkoss.zul.Row row = new org.zkoss.zul.Row (rs.getString(i));
                rows.appendChild (row);
            }
        }

        // close database
        // ...
    }
    ]]></zscript>
</zk>