1

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

什么是不太复杂的方法?我的脑子里嗡嗡作响,比如 JAX-WS、JSP、Servlets 等。最简单的方法似乎是 JSP,但我听说它已被弃用,在做这个简单的任务时,我还想学习一些对未来有用的东西 :)

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

4

4 回答 4

1

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

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

于 2012-08-06T13:06:28.667 回答
1

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

在服务器端。

  1. 使用像jersey这样的 REST 框架
  2. 使用小服务程序。

我推荐 REST,在这里你可以找到一个教程。

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

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

于 2012-08-06T13:10:32.050 回答
0

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

于 2012-08-09T16:33:05.057 回答
0

或许你可以试试简单易行的ZK 框架。您可以查看他们精彩的现场演示,感受它是多么简单和容易。此外,他们有一个在线沙盒Web 应用程序,您可以在其中尝试 zk 代码。

例如,以下代码将查询数据库并向用户显示结果。如果您填写了数据库访问部分的代码,请不要奇怪这样的代码将运行。

索引.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>
于 2012-08-09T17:10:55.680 回答