JSP留言板的JSP源码操作实施

开发 后端
JSP留言板的制作是JSP编程的爱好者提升网站的PR值的一个常用手段,那么如何操作呢?本文将向你提供全方位的指导,希望对JSP编程人员有所帮助。

很多JSP编程的爱好者都是出于要做网站的目的,那么网站的PR值就很重要网站的PR值(全称为PageRank),是google搜索排名算法中的一个组成部分,级别从1到10级,10级为满分,PR值越高说明该网页在搜索排名中的地位越重要,也就是说,在其他条件相同的情况下,PR值高的网站在google搜索结果的排名中有优先权。

那么如何制作一个JSP留言板,来提升自己网站的PR值增强了互动性呢?让我们开始吧!

一.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:

  1. ﹤html﹥  
  2. ﹤body﹥  
  3. ﹤form method="post" action="foxnoteinsert.jsp"﹥   
  4. ﹤br﹥姓名:   
  5. ﹤input name=username size=15value=""﹥  
  6. ﹤br﹥邮箱:   
  7. ﹤input name=email size=15value=""﹥   
  8. ﹤br﹥留言:   
  9. ﹤br﹥  
  10. ﹤textarea name=doc rows="5" cols="40"﹥  
  11. ﹤/textarea﹥   
  12. ﹤br﹥   
  13. ﹤input type=submit value="递交"﹥   
  14. ﹤input type=reset value="重填"﹥   
  15. ﹤/form﹥   
  16. ﹤/bocy﹥  
  17. ﹤/html﹥   
  18.  

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

三.JSP留言板:编写 foxnoteinsert.jsp

将用户的留言写进数据库表中:

  1. ﹤body bgcolor="#FFFFFF"﹥  
  2. ﹤%@ page import="java.sql.*,MyUtil,java.util.*"%﹥   
  3. ﹤%  
  4. Connection con=null;   
  5. String username=MyUtil.gb2312ToUnicode(request.getParameter("username"));   
  6. String email=MyUtil.gb2312ToUnicode(request.getParameter("email"));   
  7. String doc=MyUtil.gb2312ToUnicode(request.getParameter("doc"));   
  8. String url=request.getRemoteAddr();   
  9. try {   
  10. Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("jdbcdbc:foxdb","","");   
  11. String str="insert into foxtable values(?,?,?,?);";   
  12. PreparedStatement pstmt=con.prepareStatement(str);   
  13. pstmt.setString(1,username);  
  14. pstmt.setString(2,email);  
  15. pstmt.setString(3,doc);   
  16. pstmt.setString(4,url);   
  17. pstmt.executeUpdate();   
  18. pstmt.close();  
  19. con.close();  
  20. }   
  21. catch(Exception e) {   
  22. out.println(e.getMessage());   
  23. }  
  24. %﹥   
  25.  

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

MyUtil 的作用是字符串之间的转换。必需关注的是JSP的字符串以Unicode码表示,而留言板界面的表单却是以 gb2312码表示。所以将用户的留言写进数据库还需要码间的转换。如果不转换而把留言直接写到数据库表,则会产生乱码。下面是 MyUtil的原代码,存于C:\tomcat\fox\WEB-INF\classes\MyUtil.java,编译后的MyUtil.class文件也存于此。

  1. import java.io.*;   
  2. public class MyUtil{  
  3. public static String gb2312ToUnicode(String s){  
  4. try{  
  5. return new String(s.getBytes("ISO8859_1"),"gb2312");   
  6. }   
  7. catch(UnsupportedEncodingException uee){  
  8. return s;  
  9. }   
  10. }  
  11. public static String unicodeTogb2312(String s){  
  12. try{  
  13. return new String(s.getBytes("gb2312"),"ISO8859_1");  
  14. }   
  15. catch(UnsupportedEncodingException uee){  
  16. return s;  
  17. }  
  18. }  
  19. }   
  20.  

四.JSP留言板:编写 foxnoteview.jsp

用于浏览数据库表中已有的留言,存于C:\tomcat\fox\foxnoteview.jsp ,代码如下:

  1. ﹤html﹥  
  2. ﹤body﹥   
  3. ﹤%@ page c language="java" import="java.sql.*"%﹥  
  4. ﹤%  
  5. Connection con=null;  
  6. try  
  7. {  
  8. Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  
  9. con=DriverManager.getConnection("jdbcdbc:foxdb","","");  
  10. Statement statement=con.createStatement();  
  11. ResultSet rs=statement.executeQuery("select * from foxtable");  
  12.  
  13. %﹥   
  14. ﹤table border="1" width="100%" cellspacing="0" cellpadding="0"align="center" bordercolorlight="#CCCCFF" bordercolordark="#FFFFFF"﹥  
  15. ﹤tr bgcolor="#FFFFFF"﹥   
  16. ﹤td width="15%" height="25" align="center"﹥﹤i﹥作者﹤/i﹥﹤/td﹥  
  17. ﹤td width="28%" height="25" align="center"﹥﹤i﹥发表时间﹤/i﹥﹤/td﹥  
  18. ﹤td width="22%" height="25" align="center"﹥﹤i﹥Email﹤/i﹥﹤/td﹥  
  19. ﹤td width="35%" height="25" align="center"﹥﹤i﹥留言内容﹤/i﹥﹤/td﹥  
  20. ﹤%  
  21. while(rs.next()){  
  22. out.println("﹤TR﹥﹤td align=center﹥﹤font size=2color=#999999﹥"+rs.getString("作者")+"﹤/TD﹥");  
  23. out.println("﹤TD﹥﹤font size=2color=#999999﹥"+rs.getString("Email")+"﹤/font﹥﹤/TD﹥");  
  24. out.println("﹤TD﹥﹤font size=2color=#999999﹥"+rs.getString("留言")+"﹤/font﹥﹤/TD﹥");  
  25. out.println("﹤TD﹥﹤font size=2color=#999999﹥"+rs.getString("URL")+"﹤/font﹥﹤/TD﹥﹤/TR﹥");  
  26. }  
  27. rs.close();  
  28. con.close();  
  29. }  
  30. catch(Exception e)  
  31. {  
  32. out.println(e.getMessage());  
  33. }  
  34. %﹥   
  35. ﹤/table﹥  
  36. ﹤/body﹥  
  37. ﹤/html﹥  
  38.  

到此,整个JSP留言板程序就算是完工了。留言板在数据库应用中比较简单,但是加以变化则可以编写出各种各样的应用程序,操作各种各样的数据库^_^

【编辑推荐】

  1. JSP设计模式浅析
  2. JSP教程基础篇之HTML表单演示
  3. JSP教程基础篇之简单首页制作
  4. 实现JSP论坛树型结构的具体算法
  5. JSP入门之网站环境搭建的步骤
责任编辑:仲衡 来源: 互联网
相关推荐

2009-07-02 10:02:40

JSP程序

2012-04-23 09:12:29

jQuery插件

2009-06-30 17:01:27

访问量JSP教程

2009-07-06 17:56:12

JSP HTTP服务器

2009-07-01 14:32:37

JSP文件操作

2009-07-01 10:55:23

2009-07-06 16:55:06

JSP题目

2009-06-30 10:37:56

JSP教程

2009-07-06 17:46:25

JSP HTTP服务器

2009-06-30 15:15:30

JSP数据库

2009-07-02 09:40:17

JSP导出Oracle

2010-09-30 15:59:16

JSPCookie

2009-06-30 10:05:24

MD5加密JSP源码

2009-07-01 11:05:18

页面与代码分离JSP源码

2009-06-06 18:47:18

JSP动作

2009-06-06 18:43:34

JSP Action

2009-07-02 11:34:42

JSP指令JSP开发

2009-07-07 14:04:55

JSP入门

2009-06-10 17:03:36

JSP动态生成

2009-03-16 15:07:20

JSP分页window.openJSP表单
点赞
收藏

51CTO技术栈公众号