⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jsppublish.htm

📁 java开发实例 多个jsp开发实例
💻 HTM
字号:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta http-equiv="KEYWORDS" content="小龙亭工作室之JSP实践之旅">
<title>小龙亭工作室之JSP实践之旅</title>
<link rel="stylesheet" href="../jsp.css" type="text/css">
</head>

<body topmargin="0" leftmargin="0" rightmargin="0">
<div align="center"><!--以下开始小龙亭标题 -->
<script language="javascript" src="../gaptitle.js"></script>
<!--以下开始主题索引td和文章区td -->
<div align="center"><center>

<table width="100%">
  <tr>
    <td colspan="2" height="10"></td>
  </tr>
  <tr>
    <td width="20%" style="border-right: 1px solid red" valign="top" height="227"><script
    language="javascript" src="manualindex.js"></script> </td>
</center>   
    <td width="80%" valign="top" height="227">
      <p align="center">
       
      </p>
      <p align="center"><b><font color="#008000" size="3">用JSP编写通用信息发布程序</font></b></p>
      <p><br>
      <br>
      邓振兴 (计算机世界报)<br>
      <br>
      ---------------------------------------------------------------<br>
      <br>
      <br>
      Sun公司的 JSP和微软公司的 ASP一样,是制作动态网页的又一利器。本文介绍如何利用 JSP和 Oracle数据库编写网上通用信息发布程序。该程序主要是利用了 Java的 Enumeration数据类型,通过调用 Java Bean和 Oracle数据库相连接。&nbsp;<br>
      <br>
      插入数据记录&nbsp;<br>
      <br>
      提供一个通用的向数据库插入数据记录的接口,以供发布信息。程序与数据库类型无关,与信息发布界面无关。&nbsp;<br>
      <br>
      recordMessage.jsp&nbsp;<br>
      &lt;HTML>&lt;HEAD>&nbsp;<br>
      &lt;META content="text/html; charset=GB2312" http-equiv = Content-Type>&nbsp;<br>
      &lt;TITLE>jsp通用信息发布程序&lt;/TITLE>&nbsp;<br>
      &lt;/HEAD>&nbsp;<br>
      &lt;BODY bgcolor = "#aad2fb">&nbsp;<br>
      &lt;% @ page contentType=“ text/html; charset=GB2312”% >&nbsp;<br>
      &lt;% @ page language=“ java” import=“ java.sql.* ,java.util.*”% >&nbsp;<br>
      &lt;jsp: useBean id = "replyok" scope = "page" class ="ymbean.opDb"/>&nbsp;<br>
      &lt;%&nbsp;<br>
      //只允许用 POST方法发布信息 ,这是为了避免有人使用程序恶意发布信息&nbsp;<br>
      <br>
      String requestMethod=request.getMethod();&nbsp;<br>
      <br>
      requestMethod=requestMethod.toUpperCase();&nbsp;<br>
      <br>
      if(requestMethod.indexOf(“ POST” )&lt;0)&nbsp;<br>
      <br>
      { out.print(“非法操作 !!!” );&nbsp;<br>
      <br>
      return;&nbsp;<br>
      <br>
      }&nbsp;<br>
      <br>
      String dtkey=“” ;&nbsp;<br>
      <br>
      try{&nbsp;<br>
      <br>
      //取数据表&nbsp;<br>
      <br>
      dtkey=new String(request.getParameter(“ dtkey” ).getBytes(“ ISO8859_1” ));&nbsp;<br>
      <br>
      //参数名其实就是数据表的列名,参数值就是要存入数据表的信息&nbsp;<br>
      <br>
      String vcname=“” ,vcvalue=“” ,vcnames=“” ,&nbsp;<br>
      <br>
      vcvalues=“” ,insertsql=“” ,st=“‘ ,’” ;&nbsp;<br>
      <br>
      Enumeration vpe = request.getParameterNames();&nbsp;<br>
      <br>
      //动态形成向数据库插入信息的 sql语句&nbsp;<br>
      <br>
      while (vpe.hasMoreElements())&nbsp;<br>
      <br>
      {&nbsp;<br>
      <br>
      vcname = (String) vpe.nextElement();&nbsp;<br>
      <br>
      vcname = vcname.trim();&nbsp;<br>
      <br>
      if(vcname.equals(“ dtkey” )) continue;&nbsp;<br>
      <br>
      String colname=vcname;&nbsp;<br>
      <br>
      st=“”+“’” ;&nbsp;<br>
      <br>
      //由于向 Oracle中插入记录时,数值列和字符列是有区别的 ,所以必须在信息录入界面程序 sayMessage.jsp中提供标识&nbsp;<br>
      <br>
      if(vcname.charAt(0)==‘#’ ){&nbsp;<br>
      <br>
      //表示该列为数值列&nbsp;<br>
      <br>
      colname=vcname.substring(1,&nbsp;<br>
      <br>
      vcname.length());&nbsp;<br>
      <br>
      st=“” ;&nbsp;<br>
      <br>
      }&nbsp;<br>
      <br>
      vcvalue=new String(request.getParameter&nbsp;<br>
      <br>
      (colname).getBytes(“ ISO8859_1” ));&nbsp;<br>
      <br>
      vcvalue= vcvalue.trim();&nbsp;<br>
      <br>
      vcnames= vcnames+ colname+“ ,” ;&nbsp;<br>
      <br>
      vcvalues=vcvalues+ st+ vcvalue+ st+“ ,";&nbsp;<br>
      <br>
      }&nbsp;<br>
      <br>
      vcnames=vcnames .substring(0,vcnames .length()- 1)+“ )” ;&nbsp;<br>
      <br>
      vcvalues=vcvalues .substring(0,vcvalues .length()- 1)+“ )” ;&nbsp;<br>
      <br>
      insertsql=“ insert into”+ dtkey+ vcnames+ vcvalues;&nbsp;<br>
      <br>
      //插入发文&nbsp;<br>
      <br>
      try{&nbsp;<br>
      <br>
      String lmsg=replyok.executeUpdate(insertsql);&nbsp;<br>
      <br>
      if(lmsg.indexOf(“ executeUpdate ok” )&lt; 0)&nbsp;<br>
      <br>
      out.print(“信息发布失败 ,error:”+ lmsg);&nbsp;<br>
      <br>
      else&nbsp;<br>
      <br>
      out.print("&lt;BR> &lt;BR> &lt;BR> &lt;CENTER> &lt;H1>发布信息成功!&lt;/H1> &lt;/CENTER> &lt;/BR> &lt;/BR>");&nbsp;<br>
      <br>
      }catch (Exception e1) { out.print(“错误 001:”+ e1);}&nbsp;<br>
      <br>
      } catch (Exception e) {}&nbsp;<br>
      <br>
      % >&nbsp;<br>
      <br>
      &lt;/BODY> &lt;/HTML>&nbsp;<br>
      信息发布界面&nbsp;<br>
      <br>
      提供发布信息的交互界面,调用 recordMessage.jsp程序。&nbsp;<br>
      <br>
      sayMessage.jsp&nbsp;<br>
      &lt;HTML> &lt;HEAD> &lt;TITLE> 信息发布&lt;/TITLE>&nbsp;<br>
      &lt;META content = "text/html; charset=GB2312" http-equiv = Content-Type>&nbsp;<br>
      &lt;LINK href ="css_01.css" rel = stylesheet>&nbsp;<br>
      &lt;META content = "MSHTML 5.00.3103.1000" name =GENERATOR> &lt;/HEAD>&nbsp;<br>
      &lt;BODY>&nbsp;<br>
      &lt;% @ page contentType=“ text/html; charset=GB2312”% >&nbsp;<br>
      <br>
      &lt;% @ page language=“ java” import=“ java .sql .*”% >&nbsp;<br>
      <br>
      &lt;jsp: usebean id ="rencommend" scope="page" class="ymbean.opDb"/>&nbsp;<br>
      &lt;form action =recordmessage.jsp method =post name=sign>&nbsp;<br>
      &lt;input name=dtkey type=hidden value=ta_routes>&nbsp;<br>
      &lt;table bgcolor=#d5e8fd border=0 cellspacing=1 width="97%">&nbsp;<br>
      &lt;tbody>&nbsp;<br>
      &lt;tr> &lt;td nowrap width="45%" height="185">&nbsp;<br>
      &lt;div align=left>&nbsp;<br>
      &lt;table bgcolor=#d5e8fd border=0 cellspacing=1 width="100%">&nbsp;<br>
      &lt;tbody>&nbsp;<br>
      &lt;tr> &lt;td nowrap width="100%" >线路名称:&nbsp;<br>
      &lt;input maxlength=100 name = routename size=36>&nbsp;<br>
      &lt;/td>&nbsp;<br>
      &lt;/tr>&nbsp;<br>
      &lt;tr>&lt;td nowrap width="100%">显示序号:&nbsp;<br>
      &lt;input maxlength=3 name=routeno size=36>&nbsp;<br>
      &lt;/td>&lt;/tr>&nbsp;<br>
      &lt;tr>&nbsp;<br>
      &lt;td width="100%" >游览内容。文字超一行时 ,请您敲 Enter键换行&lt;/td>&nbsp;<br>
      &lt;/tr>&nbsp;<br>
      &lt;tr>&lt;td width="100%" height="162">&nbsp;<br>
      &lt;TEXTAREA cols=55 name =c04 rows=9>&nbsp;<br>
      &lt;/TEXTAREA>&nbsp;<br>
      &lt;/TD>&nbsp;<br>
      &lt;/TR>&lt;/TBODY>&lt;/TABLE>&lt;/DIV>&lt;/TD>&lt;/TR>&nbsp;<br>
      &lt;TR>&lt;TD align=middle colspan=2 nowrap>&nbsp;<br>
      &lt;input name=cmdcommit type=submit value="提交">&nbsp;<br>
      &lt;/td>&lt;/tr>&lt;/tbody>&lt;/table>&nbsp;<br>
      &lt;/form>&lt;/center>&nbsp;<br>
      &lt;div>&lt;/div>&lt;/body>&lt;/html>&nbsp;<br>
      <br>
      <br>
      连接数据库&nbsp;<br>
      <br>
      通过调用 Java Bean连接 Oracle数据库。&nbsp;<br>
      <br>
      opDb.java&nbsp;<br>
      <br>
      package ymbean; // java包&nbsp;<br>
      <br>
      import java.sql.* ;&nbsp;<br>
      <br>
      public class opDb {&nbsp;<br>
      <br>
      public opDb() { }&nbsp;<br>
      <br>
      public ResultSet executeQuery(String sql)&nbsp;<br>
      <br>
      {&nbsp;<br>
      <br>
      ResultSet rs = null;&nbsp;<br>
      <br>
      Statement lstmt = null;&nbsp;<br>
      <br>
      try { lstmt = connectdb();&nbsp;<br>
      <br>
      rs = lstmt.executeQuery(sql);&nbsp;<br>
      <br>
      System.out.println(“ executeQuery:”+ sql);&nbsp;<br>
      <br>
      } catch(SQLException ex) { return(null); }&nbsp;<br>
      <br>
      return rs;&nbsp;<br>
      <br>
      }&nbsp;<br>
      <br>
      public String executeUpdate(String sql)&nbsp;<br>
      <br>
      {&nbsp;<br>
      <br>
      ResultSet rs = null;&nbsp;<br>
      <br>
      Statement lstmt = null;&nbsp;<br>
      <br>
      try {&nbsp;<br>
      <br>
      lstmt = connectdb();&nbsp;<br>
      <br>
      lstmt.executeUpdate(sql);&nbsp;<br>
      <br>
      System.out.println(“ executeUpdate:”+ sql);&nbsp;<br>
      <br>
      lstmt.executeUpdate(“ commit” );&nbsp;<br>
      <br>
      }catch(SQLException ex) {}&nbsp;<br>
      <br>
      return(“ executeUpdate ok” );&nbsp;<br>
      <br>
      }&nbsp;<br>
      <br>
      //连接数据库&nbsp;<br>
      <br>
      public Statement connectdb()&nbsp;<br>
      <br>
      { Statement lstmt=null;&nbsp;<br>
      <br>
      Connection conn=null;&nbsp;<br>
      <br>
      final String connect_string=“ jdbc:oracle:thin:scott/tiger@192.168.0.1:1521:test” ;&nbsp;<br>
      <br>
      final String driver_string=“ oracle.jdbc.driver.&nbsp;<br>
      <br>
      OracleDriver” ;&nbsp;<br>
      <br>
      Connection lconn;&nbsp;<br>
      <br>
      try { Class.forName(driverstr);&nbsp;<br>
      <br>
      lconn=DriverManager.getConnection(connectstr);&nbsp;<br>
      <br>
      lstmt=lconn.createStatement();&nbsp;<br>
      <br>
      } catch (Exception e) { return(null);}&nbsp;<br>
      <br>
      return lstmt;&nbsp;<br>
      <br>
      }&nbsp;<br>
      <br>
      }//end opDb.java <br>
         
    </td>   
  </tr>   
<center> 
 
<!-- 以下是底边-->               
<script language="javascript" src="../gapbottom.js"></script>  
</center>    
</body>    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -