中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > Web开发 > JSP > 综合文章
用JSP编写通用信息发布程序
作者:未知 时间:2002-10-23 12:12 出处:互联网 责编:chinaitpower
              摘要:暂无

Sun公司的 JSP和微软公司的 ASP一样,是制作动态网页的又一利器。本文介绍如何利用 JSP和 Oracle数据库编写网上通用信息发布程序。该程序主要是利用了 Java的 Enumeration数据类型,通过调用 Java Bean和 Oracle数据库相连接。

插入数据记录

提供一个通用的向数据库插入数据记录的接口,以供发布信息。程序与数据库类型无关,与信息发布界面无关。

recordMessage.jsp
<HTML><HEAD>
<META content="text/html; charset=GB2312" http-equiv = Content-Type>
<TITLE>jsp通用信息发布程序</TITLE>
</HEAD>
<BODY bgcolor = "#aad2fb">
<% @ page contentType=“ text/html; charset=GB2312”% >
<% @ page language=“ java” import=“ java.sql.* ,java.util.*”% >
<jsp: useBean id = "replyok" scope = "page" class ="ymbean.opDb"/>
<%
//只允许用 POST方法发布信息 ,这是为了避免有人使用程序恶意发布信息

String requestMethod=request.getMethod();

requestMethod=requestMethod.toUpperCase();

if(requestMethod.indexOf(“ POST” )<0)

{ out.print(“非法操作 !!!” );

return;

}

String dtkey=“” ;

try{

//取数据表

dtkey=new String(request.getParameter(“ dtkey” ).getBytes(“ ISO8859_1” ));

//参数名其实就是数据表的列名,参数值就是要存入数据表的信息

String vcname=“” ,vcvalue=“” ,vcnames=“” ,

vcvalues=“” ,insertsql=“” ,st=“‘ ,’” ;

Enumeration vpe = request.getParameterNames();

//动态形成向数据库插入信息的 sql语句

while (vpe.hasMoreElements())

{

vcname = (String) vpe.nextElement();

vcname = vcname.trim();

if(vcname.equals(“ dtkey” )) continue;

String colname=vcname;

st=“”+“’” ;

//由于向 Oracle中插入记录时,数值列和字符列是有区别的 ,所以必须在信息录入界面程序 sayMessage.jsp中提供标识

if(vcname.charAt(0)==‘#’ ){

//表示该列为数值列

colname=vcname.substring(1,

vcname.length());

st=“” ;

}

vcvalue=new String(request.getParameter

(colname).getBytes(“ ISO8859_1” ));

vcvalue= vcvalue.trim();

vcnames= vcnames+ colname+“ ,” ;

vcvalues=vcvalues+ st+ vcvalue+ st+“ ,";

}

vcnames=vcnames .substring(0,vcnames .length()- 1)+“ )” ;

vcvalues=vcvalues .substring(0,vcvalues .length()- 1)+“ )” ;

insertsql=“ insert into”+ dtkey+ vcnames+ vcvalues;

//插入发文

try{

String lmsg=replyok.executeUpdate(insertsql);

if(lmsg.indexOf(“ executeUpdate ok” )< 0)

out.print(“信息发布失败 ,error:”+ lmsg);

else

out.print("<BR> <BR> <BR> <CENTER> <H1>发布信息成功!</H1> </CENTER> </BR> </BR>");

}catch (Exception e1) { out.print(“错误 001:”+ e1);}

} catch (Exception e) {}

% >

</BODY> </HTML>
信息发布界面

提供发布信息的交互界面,调用 recordMessage.jsp程序。

sayMessage.jsp
<HTML> <HEAD> <TITLE> 信息发布</TITLE>
<META content = "text/html; charset=GB2312" http-equiv = Content-Type>
<LINK href ="css_01.css" rel = stylesheet>
<META content = "MSHTML 5.00.3103.1000" name =GENERATOR> </HEAD>
<BODY>
<% @ page contentType=“ text/html; charset=GB2312”% >

<% @ page language=“ java” import=“ java .sql .*”% >

<jsp: usebean id ="rencommend" scope="page" class="ymbean.opDb"/>
<form action =recordmessage.jsp method =post name=sign>
<input name=dtkey type=hidden value=ta_routes>
<table bgcolor=#d5e8fd border=0 cellspacing=1 width="97%">
<tbody>
<tr> <td nowrap width="45%" height="185">
<div align=left>
<table bgcolor=#d5e8fd border=0 cellspacing=1 width="100%">
<tbody>
<tr> <td nowrap width="100%" >线路名称:
<input maxlength=100 name = routename size=36>
</td>
</tr>
<tr><td nowrap width="100%">显示序号:
<input maxlength=3 name=routeno size=36>
</td></tr>
<tr>
<td width="100%" >游览内容。文字超一行时 ,请您敲 Enter键换行</td>
</tr>
<tr><td width="100%" height="162">
<TEXTAREA cols=55 name =c04 rows=9>
</TEXTAREA>
</TD>
</TR></TBODY></TABLE></DIV></TD></TR>
<TR><TD align=middle colspan=2 nowrap>
<input name=cmdcommit type=submit value="提交">
</td></tr></tbody></table>
</form></center>
<div></div></body></html>


连接数据库

通过调用 Java Bean连接 Oracle数据库。

opDb.java

package ymbean; // java包

import java.sql.* ;

public class opDb {

public opDb() { }

public ResultSet executeQuery(String sql)

{

ResultSet rs = null;

Statement lstmt = null;

try { lstmt = connectdb();

rs = lstmt.executeQuery(sql);

System.out.println(“ executeQuery:”+ sql);

} catch(SQLException ex) { return(null); }

return rs;

}

public String executeUpdate(String sql)

{

ResultSet rs = null;

Statement lstmt = null;

try {

lstmt = connectdb();

lstmt.executeUpdate(sql);

System.out.println(“ executeUpdate:”+ sql);

lstmt.executeUpdate(“ commit” );

}catch(SQLException ex) {}

return(“ executeUpdate ok” );

}

//连接数据库

public Statement connectdb()

{ Statement lstmt=null;

Connection conn=null;

final String connect_string=“ jdbc:oracle:thin:scott/tiger@192.168.0.1:1521:test” ;

final String driver_string=“ oracle.jdbc.driver.

OracleDriver” ;

Connection lconn;

try { Class.forName(driverstr);

lconn=DriverManager.getConnection(connectstr);

lstmt=lconn.createStatement();

} catch (Exception e) { return(null);}

return lstmt;

}

}//end opDb.java
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有