如何直接在浏览器内运行SQL命令

2016-01-29 12:13 99 1 收藏

如何直接在浏览器内运行SQL命令,如何直接在浏览器内运行SQL命令

【 tulaoshi.com - Java 】

    本文示范了如何用一个Java Servlet、一个JSP页面和一个静态Java类构造出一个SQL网关应用。利用这个应用,你可以直接在浏览器内执行SQL命令,浏览器将把SQL命令提交给远程服务器上的数据库系统,然后返回结果。

  如果你正在使用ISP(Internet Service Provider)提供的数据库,可能已经熟悉SQL网关应用的概念了。有的ISP会提供一个操作数据库的HTML页面,就象本文提供的网关应用一样。如果ISP没有提供这样的界面,你可以把本文的程序上载到服务器,以后要访问ISP服务器上的数据库就很方便了。

  SQL网关应用不仅可以用于开发过程,而且还可以直接提供给比较熟悉系统的最终用户使用。当然,允许最终用户直接在数据库上运行SQL命令会带来一些安全隐患,应当慎重考虑。

  本文要求读者具备一定的Java、Servlet、JSP和数据库的基础知识,如果要运行本文的程序,还要有一个Servlet/JSP服务器和数据库服务器。在下面的说明中,我们要使用的是Tomcat 4.0和MySQL,但它应该也能在其他JSP/Servlet容器中运行;如果你要改用MySQL之外的其他数据库,只要提供一个适当的驱动程序,然后修改数据库连接字符串就可以了。

  一、用户界面

  图1就是本文SQL网关的用户界面。在这个界面中,SQL网关已经执行了一条SQL命令并返回了结果。



图1:SQL网关的用户界面


  从图1可以看出,页面底部的一条信息显示出最近执行的SQL命令影响的行数。如果SQL命令是一个SELECT语句,当SELECT语句执行成功,页面底部将用HTML表格显示出查询结果,如图二所示。



图2:HTML表格显示出查询结果集


  当然,如果SQL命令执行失败,SQL网关将返回异常信息。

  二、设计JSP页面

  在JSP页面中,我们首先放入一个Scriptlet,它的功能是从session对象提取两个属性:

<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN"<%    String sqlStatement=(String)session.getAttribute("sqlStatement");   if (sqlStatement == null)    sqlStatement = "";   String message =  (String) session.getAttribute("message");   if (message == null)  message = "";%


  第一个属性sqlStatement 表示SQL命令字符串,第二个属性message 是包含结果信息的字符串。如果这两个属性的值是null,则表示它们尚未被设置,我们把sqlStatement和message变量设置成空字符串。

  JSP页面还有一个HTML表单,HTML表单包含一个文本区域(TEXTAREA)和一个“执行”按钮。

<form action="../servlet/test.SQLGatewayServlet" method="post"<bSQL命令:</b<br<textarea name="sqlStatement" cols=60 rows=8<%=sqlStatement%</textarea<br<br<input type="submit" value="执行"</form


  表单中的文本区域用来输入SQL命令。我们将sqlStatement变量的值作为文本区域的默认内容,文本区域的大小是宽60字符、高8行。当JSP页面第一次运行时,这个文本区域的内容为空。如果用户点击文本区域下面的“执行”按钮,JSP页面把表单内容提交给SQLGatewayServlet(稍后再详细介绍)。

  JSP页面底部的表格显示出message字符串的内容。如前所述,message的内容是运行SQL命令的结果。

<bSQL命令执行结果:</b<br<table cellpadding="5" border="1"<%=message%</table


  三、编写Servlet

  SQLGatewayServlet首先导入java.sql包以便使用JDBC类。另外,它还要声明一个Connection对象,以便Servlet之内的所有方法都可以使用数据库连接。

来源:https://www.tulaoshi.com/n/20160129/1485121.html

延伸阅读
标签: 浏览器
YY浏览器如何清理浏览器缓存?   YY浏览器是上网时,会经常使用到的一款网页浏览器,在用户使用浏览器的过程中,都避免不了浏览器在系统中生成相应的缓存文件,再或者用户浏览了一些隐私网址,想要清理这些数据我们就需要通过浏览器自带功能来清理,那么在YY浏览器下如何清理浏览器缓存文件呢?下面看小编为大家带来的清理方法,需要的...
标签: 浏览器
猎豹浏览器如何设置默认浏览器   (1)在设置默认浏览器时,猎豹浏览器会弹出下面提醒框,请选择图中的允许篡改即可。 (2)如果您错过了上面的提示框,按照下面方法也可以设置成功。 a) 打开猎豹浏览器点击右上角的K图标; b) 在安全中心页面点击上网防御检查浏览器保护是否是开启状态,如果是开启状态,请关闭后重...
标签: 浏览器 Web开发
Netscape Navigator 9 Netscape Navigator 9 (Beta 1) 于 2007 年 6 月发布。它基于 Mozilla Firefox 2。 Navigator 9 中的一些新特性:Mozilla 特性 由于 Navigator 9 基于 Mozilla,它拥有所有最新的 Mozilla 特性。 URL 纠错 Navigator 9 会自动校正 URL。 Link Pad 一个新的 sidebar 特性,允许在不搞乱书签的情况下保存新闻日后访问...
EXEC SQL WHENEVER SQLERROR CONTINUE; sqlglm(msg_buffer, &buffer_size, &msg_length); printf("Daemon error while connecting:\n"); printf("%.*s\n", msg_length, msg_buffer); printf("Daemon quitting.\n"); exit(1); }  void  sql_error()&nbs...
标签: Web开发
Firefox 是由 Mozilla 开发的开源 web 浏览器。 Firefox 是什么? Firefox 是一款免费的可用于 Windows、Linux 和 Mac 的开源 web 浏览器。它小巧快速,可提供弹窗阻止和标签式浏览等许多新特性。 Firefox 基于 Mozilla 代码,是标准兼容性最好的浏览器之一。 Firefox 可用于 Windows 98、Windows 2000、Windows XP、Mac OS X 以及 Linu...