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

浩宁131

浩宁131

2016-01-29 12:13

如何直接在浏览器内运行SQL命令,如何直接在浏览器内运行SQL命令
    本文示范了如何用一个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之内的所有方法都可以使用数据库连接。

展开更多 50%)
分享

猜你喜欢

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

Java JAVA基础
如何直接在浏览器内运行SQL命令

谷歌浏览器如何直接翻译页面

浏览器
谷歌浏览器如何直接翻译页面

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

如何安装360浏览器内的插件实现改变浏览器字体

浏览器
如何安装360浏览器内的插件实现改变浏览器字体

Oracle如何直接运行OS命令(下)

编程语言 网络编程
Oracle如何直接运行OS命令(下)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

SQL SERVER结构浏览器

ASP
SQL SERVER结构浏览器

Oracle如何直接运行OS命令(上)

编程语言 网络编程
Oracle如何直接运行OS命令(上)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《放开那三国》军团管理解析

《放开那三国》军团管理解析

《梦幻之星 新星》职业武器与技能选择攻略

《梦幻之星 新星》职业武器与技能选择攻略
下拉加载更多内容 ↓