溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何制作一個JSP留言板

發(fā)布時間:2021-11-22 09:57:12 來源:億速云 閱讀:733 作者:小新 欄目:編程語言

這篇文章主要介紹如何制作一個JSP留言板,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

一.JSP留言板:創(chuàng)建數據庫

1).打開Access2000,創(chuàng)建一個新的數據庫,我將這個數據庫命名為foxdb.mdb,存在C:\tomcat\fox\global\foxdb.mdb。接下來在 eagle.mdb中創(chuàng)建一個表,命名為foxtable,表中有五個字段,全為文本格式:

其中“URL”用于記錄留言者的 IP 。至于各字段的長度,我把“留言”定為200,其它四個各為20。

2).指定ODBC數據源,其名為foxdb ,指向 C:\tomcat\fox\global\foxdb.mdb。

二.JSP留言板:編寫用戶的留言界面

foxnote.html,存于C:\tomcat\fox\foxnote.html:

﹤html﹥  ﹤body﹥  ﹤form method="post" action="foxnoteinsert.jsp"﹥   ﹤br﹥姓名:   ﹤input name=username size=15value=""﹥  ﹤br﹥郵箱:   ﹤input name=email size=15value=""﹥   ﹤br﹥留言:   ﹤br﹥  ﹤textarea name=doc rows="5" cols="40"﹥  ﹤/textarea﹥   ﹤br﹥   ﹤input type=submit value="遞交"﹥   ﹤input type=reset value="重填"﹥   ﹤/form﹥   ﹤/bocy﹥  ﹤/html﹥

在IE中鍵入 http://ip/fox/foxnote.html 看看是否顯示正常(ip是你機器的ip地址)

三.JSP留言板:編寫 foxnoteinsert.jsp

將用戶的留言寫進數據庫表中:

﹤body bgcolor="#FFFFFF"﹥  ﹤%@ page import="java.sql.*,MyUtil,java.util.*"%﹥   ﹤%  Connection con=null;   String username=MyUtil.gb2312ToUnicode(request.getParameter("username"));   String email=MyUtil.gb2312ToUnicode(request.getParameter("email"));   String doc=MyUtil.gb2312ToUnicode(request.getParameter("doc"));   String url=request.getRemoteAddr();   try {   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("jdbcdbc:foxdb","","");   String str="insert into foxtable values(?,?,?,?);";   PreparedStatement pstmt=con.prepareStatement(str);   pstmt.setString(1,username);  pstmt.setString(2,email);  pstmt.setString(3,doc);   pstmt.setString(4,url);   pstmt.executeUpdate();   pstmt.close();  con.close();  }   catch(Exception e) {   out.println(e.getMessage());   }  %﹥

這個程序中有一些要說明的地方,就是其中用到了一個 JavaBean :MyUtil.class 。

MyUtil 的作用是字符串之間的轉換。必需關注的是JSP的字符串以Unicode碼表示,而留言板界面的表單卻是以 gb2312碼表示。所以將用戶的留言寫進數據庫還需要碼間的轉換。如果不轉換而把留言直接寫到數據庫表,則會產生亂碼。下面是 MyUtil的原代碼,存于C:\tomcat\fox\WEB-INF\classes\MyUtil.java,編譯后的MyUtil.class文件也存于此。

import java.io.*;   public class MyUtil{  public static String gb2312ToUnicode(String s){  try{  return new String(s.getBytes("ISO8859_1"),"gb2312");   }   catch(UnsupportedEncodingException uee){  return s;  }   }  public static String unicodeTogb2312(String s){  try{  return new String(s.getBytes("gb2312"),"ISO8859_1");  }   catch(UnsupportedEncodingException uee){  return s;  }  }  }

四.JSP留言板:編寫 foxnoteview.jsp

用于瀏覽數據庫表中已有的留言,存于C:\tomcat\fox\foxnoteview.jsp ,代碼如下:

﹤html﹥  ﹤body﹥   ﹤%@ page c language="java" import="java.sql.*"%﹥  ﹤%  Connection con=null;  try  {  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  con=DriverManager.getConnection("jdbcdbc:foxdb","","");  Statement statement=con.createStatement();  ResultSet rs=statement.executeQuery("select * from foxtable");   %﹥   ﹤table border="1" width="100%" cellspacing="0" cellpadding="0"align="center" bordercolorlight="#CCCCFF" bordercolordark="#FFFFFF"﹥  ﹤tr bgcolor="#FFFFFF"﹥   ﹤td width="15%" height="25" align="center"﹥﹤i﹥作者﹤/i﹥﹤/td﹥  ﹤td width="28%" height="25" align="center"﹥﹤i﹥發(fā)表時間﹤/i﹥﹤/td﹥  ﹤td width="22%" height="25" align="center"﹥﹤i﹥Email﹤/i﹥﹤/td﹥  ﹤td width="35%" height="25" align="center"﹥﹤i﹥留言內容﹤/i﹥﹤/td﹥  ﹤%  while(rs.next()){  out.println("﹤TR﹥﹤td align=center﹥﹤font size=2color=#999999﹥"+rs.getString("作者")+"﹤/TD﹥");  out.println("﹤TD﹥﹤font size=2color=#999999﹥"+rs.getString("Email")+"﹤/font﹥﹤/TD﹥");  out.println("﹤TD﹥﹤font size=2color=#999999﹥"+rs.getString("留言")+"﹤/font﹥﹤/TD﹥");  out.println("﹤TD﹥﹤font size=2color=#999999﹥"+rs.getString("URL")+"﹤/font﹥﹤/TD﹥﹤/TR﹥");  }  rs.close();  con.close();  }  catch(Exception e)  {  out.println(e.getMessage());  }  %﹥   ﹤/table﹥  ﹤/body﹥  ﹤/html﹥

以上是“如何制作一個JSP留言板”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

jsp
AI