您好,登录后才能下订单哦!
这篇文章主要介绍如何制作一个JSP留言板,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
一.JSP留言板:创建数据库
1).打开Access2000,创建一个新的数据库,我将这个数据库命名为foxdb.mdb,存在C:\tomcat\fox\global\foxdb.mdb。接下来在 eagle.mdb中创建一个表,命名为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﹥发表时间﹤/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留言板”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。