JSPCN主页 | JSP空间 | 网站制作 | JSP下载 | JSP论坛 | JSP教程 | 关于JSPCN | 联系我们
JSP虚拟主机,jsp空间,java空间,java虚拟空间,详细请点击进入
做最专业的JSP中文网站 当前位置首页--JSP技术--教程系列  
文章搜索:
关键字 标题
  
JSP中文网内容管理系统(JCMS)
JSP虚拟主机
网络笔记本
网摘,图片,笔记收藏
虚拟服务器

JSPCN文章目录分类
JSP配置[219]JSP基础[136]
中文问题[69]上传问题[27]
JAVABEAN[46]数据库[212]
文件操作[126]图片声音[17]
JSP其他[57]时间相关[16]
JAVAMAIL[72]STRUTS[144]
开发工具[28]教程系列[157]
JSP实例[89]
JAVA基础[421]APPLET[78]
JAVA网络[179]Applica[115]
Servlet[98]XML[163]
J2ME[257]J2EE[374]
考试相关[63]JAVA线程[90]
EJB[261]Swing[26]
Java API[141]声音图片[28]
异常处理[33]JAVA实例[290]
JAVA类[139]SUN[89]
Hibernate[6]JMX[8]
Spring[34]
本版推荐文章 
本版热点文章 
相关文章链接 
 
用JSP编写通用信息发布程序
作者:     文章来源:
访问次数:12次     加入时间:2007年01月25日

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
JSP虚拟主机 | JSP空间 | JSP主机 | JSP双线虚拟主机 | JAVA空间 | JAVA虚拟主机 | 虚拟服务器 | JSP 虚拟服务器 | VPS
Virtual Private Server | JAVA虚拟服务器 | VM服务器 | VHOST | 虚拟操作系统 | JSP论坛 | JAVA论坛 | JSP站点论坛
Copyright © 2002-2005 JSPCN.net. All rights reserved.
JSP中文网    备案序号:蜀ICP备05001583号
成都恒海科技发展有限公司    成都市一环路南二段6号新瑞楼三楼8号