如何在JSP中执行系统命令并python 命令返回结果果?

如何直接在浏览器内运行SQL命令
  本文示范了如何用一个 Servlet、一个(SUN企业级应用的首选)页面和一个静态Java类构造出一个SQL网关应用。利用这个应用,你可以直接在内执行SQL命令,浏览器将把SQL命令提交给远程服务器上的,然后返回结果。   如果你正在使用ISP(Internet Service Provider)提供的数据库,可能已经熟悉SQL网关应用的概念了。有的ISP会提供一个操作数据库的HTML页面,就象本文提供的网关应用一样。如果ISP没有提供这样的界面,你可以把本文的程序上载到服务器,以后要访问ISP服务器上的数据库就很方便了。   SQL网关应用不仅可以用于开发过程,而且还可以直接提供给比较熟悉系统的最终用户使用。当然,允许最终用户直接在数据库上运行SQL命令会带来一些安全隐患,应当慎重考虑。   本文要求读者具备一定的Java、Servlet、jsp(SUN企业级应用的首选)和数据库的基础知识,如果要运行本文的程序,还要有一个Servlet/jsp(SUN企业级应用的首选)服务器和数据库服务器。在下面的说明中,我们要使用的是tomcat(一个很好用的JSP运行平台) 4.0和MySQL(和搭配之最佳组合),但它应该也能在其他jsp(SUN企业级应用的首选)/Servlet容器中运行;如果你要改用MySQL(和PHP搭配之最佳组合)之外的其他数据库,只要提供一个适当的驱动程序,然后修改数据库连接字符串就可以了。   一、用户界面   图1就是本文SQL网关的用户界面。在这个界面中,SQL网关已经执行了一条SQL命令并返回了结果。
图1:SQL网关的用户界面   从图1可以看出,页面底部的一条信息显示出最近执行的SQL命令影响的行数。如果SQL命令是一个SELECT语句,当SELECT语句执行成功,页面底部将用HTML表格显示出查询结果,如图二所示。
图2:HTML表格显示出查询结果集  当然,如果SQL命令执行失败,SQL网关将返回异常信息。   二、设计jsp(SUN企业级应用的首选)页面   在jsp(SUN企业级应用的首选)页面中,我们首先放入一个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(SUN企业级应用的首选)页面还有一个HTML表单,HTML表单包含一个文本区域(TEXTAREA)和一个“执行”按钮。 &form action="../servlet/test.SQLGatewayServlet" method="post">&b>SQL命令:&/b>&br>&textarea name="sqlStatement" cols=60 rows=8>&%=sqlStatement%&&/textarea>&br>&br>&input type="submit" value="执行">&/form>  表单中的文本区域用来输入SQL命令。我们将sqlStatement变量的值作为文本区域的默认内容,文本区域的大小是宽60字符、高8行。当jsp(SUN企业级应用的首选)页面第一次运行时,这个文本区域的内容为空。如果用户点击文本区域下面的“执行”按钮,jsp(SUN企业级应用的首选)页面把表单内容提交给SQLGatewayServlet(稍后再详细介绍)。   jsp(SUN企业级应用的首选)页面底部的表格显示出message字符串的内容。如前所述,message的内容是运行SQL命令的结果。 &b>SQL命令执行结果:&/b>&br>&table cellpadding="5" border="1">&%=message%&&/table>鎵?竴鎵?紝璁块棶寰?ぞ鍖}

我要回帖

更多关于 sh执行命令且返回结果 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信