猿学-java简单用户界面--实现java留言板功能

JSP+JavaBean技术在我以前做过的一个留言板中用到,那是一次较为完整的开发,所以就拿这个学习吧!在这一次的实习作品中可能会用到,所以想起来复习一下了。

JSP+JavaBean的留言板技术

Messages.html  message board   留言板  jsp" >    姓名:        E-mail:        主题:          留言:                                              查看留言 

MessageData.java 

package message; 

public class MessageData 

{  private String name,email,title,content; 

    //setter或者getter方法 

    public void setName(String name){this.name=name;} 

    public void setEmail(String email){ this.email=email;} 

    public void setTitle(String title){ this.title=title;} 

    public void setContent(String content){this.content=content;} 

    public String getName(){ return this.name;} 

    public String getContent(){ return this.content;} 

    public String getTitle(){ return this.title;} 

    public String getEmail(){ return this.email;}}

viewMessages.jsp 

    <%@ page contentType="text/html; charset=GBK" import="message.MessageData" %> 

<%@ page import="java.util.*"%> 

 

show the message in the table  

所有留言

 

 

<%     

  int message_count=0; 

  Collection messages=myBean.getAllMessage(); 

  Iterator it=messages.iterator(); 

  while(it.hasNext()){ MessageData mg=(MessageData)it.next();   

%> 


        留言人: 

        <%=mg.getName()%> 

        <% out.println( 

    ""+mg.getEmail()+""); 

%> 


        主题: 

        <%=mg.getTitle()%> 



        内容: 

        <%=mg.getContent()%> 


  <%  message_count++; 

  } 

  %> 


我要留言

 

addMessage.jsp 

<%@ page language="java" contentType="text/html; charset=GBK"

    pageEncoding="GBK"%> 

 

     

 

message into table  


<% try {  myBean.setMessage(Mdata);  myBean.addMessage(); } 

  catch(Exception e) { e.printStackTrace();} 

%> 

 

MessageData.java 

package message; 

public class MessageData 

{  private String name,email,title,content; 

    //setter或者getter方法 

    public void setName(String name){this.name=name;} 

    public void setEmail(String email){ this.email=email;} 

    public void setTitle(String title){ this.title=title;} 

    public void setContent(String content){this.content=content;} 

    public String getName(){ return this.name;} 

    public String getContent(){ return this.content;} 

    public String getTitle(){ return this.title;} 

    public String getEmail(){ return this.email;}}

MessageBean.java  package message;  import java.sql.*;  //引入java.sql包  import java.util.*;  public class  MessageBean {      private Connection con;    MessageData msg;      public MessageBean()      {  String JDriver="com.mysql.jdbc.Driver"; //定义驱动程序对象        String userName="root"; //定义数据库用户名        String userPasswd=""; //定义数据库存取密码        String dbName="message"; //定义数据库名        String conURL="jdbc:mysql://localhost:3306/"+dbName;      try{Class.forName(JDriver).newInstance(); //加载JDBC驱动程序    con=DriverManager.getConnection(conURL,userName,userPasswd);      //连接数据库          }      catch(Exception e){System.err.println(e.getMessage());}      }    public  void  setMessage(MessageData msg) {this.msg=msg;}    //  添加一条留言消息      public void addMessage()throws Exception      {  try{ byte b1[]=msg.getTitle().getBytes("ISO-8859-1");              String ti=new String(b1);              byte b2[]=msg.getName().getBytes("ISO-8859-1");              String na=new String(b2);              byte b3[]=msg.getEmail().getBytes("ISO-8859-1");              String em=new String(b3);              byte b4[]=msg.getContent().getBytes("ISO-8859-1");              String c=new String(b4);              PreparedStatement stm=con.prepareStatement(      "insert into messagetable values(?,?,?,?)");              stm.setString(1,ti);  stm.setString(2,na);            if((msg.getEmail()).length()==0)stm.setString(3,"");            else stm.setString(3,em);                stm.setString(4,c);            try  {stm.execute();  stm.close();  }              catch(Exception e) { }                        con.close();  //关闭数据库连接          }        catch(Exception e){  e.printStackTrace(); throw e;}      }    //  获得所有留言消息,并返回结果到JSP页面    public Collection getAllMessage()throws Exception      { Collection ret=new ArrayList();      try{ Statement stm=con.createStatement();          ResultSet result=stm.executeQuery(      "select count(*) from messagetable");                int message_count=0;          if(result.next()){  message_count=result.getInt(1);                  result.close(); }          if(message_count>0)          { result=stm.executeQuery("select * from messagetable ");        while(result.next())      { String title=result.getString("title");            String name=result.getString("name");            String email=result.getString("email");            String content=result.getString("content");            MessageData message=new MessageData();            message.setTitle(title); message.setName(name);      message.setEmail(email); message.setContent(content);      ret.add(message);                                }          result.close();    stm.close();        }              con.close();              }      catch(Exception e)      { e.printStackTrace(); throw e; }      return ret;      }  }

功能简单的留言板,但是清楚的说明了JSP+JavaBean技术的运用,相信这一个例子可以帮助我们更清楚地掌握该技术的原理。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,768评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,079评论 18 399
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,834评论 0 17
  • 春节期间给自己定了一个读书计划,书单是来源于李笑来老师在《通往财富自由之路》专栏中提到的对他影响最大的三本书:钱钟...
    考拉的财富之路阅读 4,193评论 0 2
  • 2018040期1.8尾=08.18 2018041期2.5尾=0 2018042期4.7尾=0 2018043期...
    征服欲阅读 2,454评论 0 0