如何直接在浏览器内运行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变量设置成空字符串。
您可能感兴趣的文章:
如何直接在浏览器内运行SQL命令
Chrome 浏览器实用命令整理
php火狐如何获取cookie
asp.net如何防范SQL注入式攻击
asp.net 如何防止SQL注入
dedecms快速更正网站内部错误链接的方法
php为什么不能直接运行
ASP设计常见问题及解答精要(2)
ie11浏览器卸载不了怎么办?ie11卸载不了解决办法
asp.net性能优化方法-数据库访问性能优化