设为首页
收藏本站
最近更新

文章搜索
本类热门

 

首页 >> 网络编程 >> JSP >> JSP技巧 >> 新闻正文 [字体:  ] [打印文档
用JSP编写通用信息发布程序

文章作者:
责任编辑: 录入时间:2004-11-11 12:50:24 来源:
频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意. 

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">
<

此新闻共有2页 上一页 1 2 下一页

推荐好友 | 频道收藏 | 打印文档 | 报告错误  
相关连接
·通过Jsp发送动态图像
·用JSP创建可重用的图形背景
·用JSP+Servlet实现二进制图像的动态显示
·利用weblogic的POOL(连接池)连接数据库
·深入理解和改进JSP/Servlet会话管理机制
·JSP和Struts解决用户退出问题
·JSP彩色验证码
·改变JSP的文件后缀
同一专题
·无相关专题
发表评论 版权声明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有
转载
要求转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。
共有评论查看评论
姓名: