开源里有没有留言板的源代码,JAVA的

Python019

开源里有没有留言板的源代码,JAVA的,第1张

绝对开源,绝对明了的留言板,便于学习的源码

用JAVA写的留言板原代码

/*

* guestbookServlet.java

*

* */

import javax.servlet.*

import javax.servlet.http.*

import java.sql.*

import java.util.Date

/**

*

* */

public class guestbookServlet extends HttpServlet {

boolean debug=false

String sDBDriver

Connection conn=null

ResultSet rs=null

/** Initializes the servlet.

*/

public void init(ServletConfig config) throws ServletException {

super.init(config)

if(debug)

sDBDriver=new String("sun.jdbc.odbc.JdbcOdbcDriver")

else

sDBDriver=new String("org.gjt.mm.mysql.Driver")

try{

Class.forName(sDBDriver)

}

catch(java.lang.ClassNotFoundException e){

System.err.println("Driver类初始化:"+e.getMessage())

}

}

/** Destroys the servlet.

*/

public void destroy() {

}

/** Processes requests for both HTTP <code>GET</code>and <code>POST</code>methods.

* @param request servlet request

* @param response servlet response

*/

protected void processRequest(HttpServletRequest request, HttpServletResponse response)

throws ServletException, java.io.IOException {

response.setContentType("text/htmlcharset=gb2312")

java.io.PrintWriter out = response.getWriter()

boolean empty=true

boolean noResult=true

String sqlStr

int currentPage=0

int totalPage=0

int reccount=0

ResultSet myrs=null

String username=request.getParameter("username")

String email=request.getParameter("email")

String ucontent=request.getParameter("ucontent")

String ipage=request.getParameter("ipage")

if(ipage==null||ipage.length()==0)

currentPage=1

else

currentPage=Integer.parseInt(ipage)

if((username==null||username.length()==0)||(ucontent==null||ucontent.length()==0))empty=true

else empty=false

Date myDate=new Date()

//String intime=new String(String.valueOf(myDate.getYear()+1990)+String.valueOf(myDate.getMonth()))

String year=String.valueOf(myDate.getYear()+1900)

String month=String.valueOf(myDate.getMonth()+1)

if(month.length()==1)

month=new String("0"+month)

String days=String.valueOf(myDate.getDate())

if(days.length()==1)

days=new String("0"+days)

String hours=String.valueOf(myDate.getHours())

if(hours.length()==1)

hours=new String("0"+hours)

String minutes=String.valueOf(myDate.getMinutes())

if(minutes.length()==1)

minutes=new String("0"+minutes)

String intime=year+"-"+month+"-"+days+" "+hours+":"+minutes

if(email==null||email.length()==0)

email=new String("")

if(!empty){

//username=convert(username)

//email=convert(email)

//ucontent=convert(ucontent)

sqlStr="insert into Mintegbook(Mname,Memail,Mcontent,Mtime,Mid) values("+username+","+email+","+ucontent+","+intime+",1)"

getDsnConn()

executeInsert(sqlStr)

}

sqlStr=new String("select Mname,Memail,Mcontent,Mtime from Mintegbook order by Mtime DESC")

getDsnConn()

reccount=getRecordCount("Mintegbook")

if(reccount==0)

noResult=true

else

noResult=false

if(!noResult){

int ipageSize=10

totalPage=getTotalPage("Mintegbook",ipageSize)

if(currentPage>totalPage)

currentPage=totalPage

int cursor=(currentPage-1)*ipageSize+1

try{

myrs=executeScrollableQuery(sqlStr)

myrs.absolute(cursor)

}

catch(SQLException e){

noResult=true

}

}

out.println("<HTML><HEAD><TITLE>我的Servlet留言板</TITLE>")

out.println("<META http-equiv="Content-Type" content="text/htmlcharset=gb2312">")

out.println("<STYLE type="text/css">")

out.println("<!--")

out.println(".mytext { font-family: "宋体"font-size: 12px}")

out.println(" -->")

out.println("</STYLE>")

out.println("</HEAD>")

out.println("<BODY bgcolor="#FFFFFF" text="#000000">")

out.println("<TABLE width="600" border="0" cellspacing="0" cellpadding="0" align="CENTER" class="mytext">")

out.println("<TR><TD height="22">| <a href="http://www.vcdoor.com">我的主页</a>| 我的Servlet留言板(<A href="mailto:[email protected]">川石</A>制作)</TD></TR>")

out.println("<TR><TD height="1" bgcolor="#999933"></TD></TR>")

out.println("</TABLE>")

out.println("<BR>")

out.println("<TABLE width="600" border="0" cellspacing="0" cellpadding="0" align="CENTER" class="mytext">")

out.println("<TR><TD height="8"></TD></TR>")

out.println("<TR><TD height="18" bgcolor="#f7f7f7"><DIV align="right">")

out.println("共有 "+reccount + " 条留言 ")

out.println(" 当前第<font color=#ff0000>"+currentPage+"</font>/共 "+totalPage+" 页 ")

if(currentPage>1)

out.println(" <a href=guestbookServlet?ipage=1>首页</a><a href=guestbookServlet?ipage="+(currentPage-1)+">上一页</a>")

else

out.println(" 首页 上一页 ")

if(currentPage<totalPage)

out.println(" <a href=guestbookServlet?ipage="+(currentPage+1)+">下一页</a><a href=guestbookServlet?ipage="+totalPage+">末页</a>")

else

out.println(" 下一页 末页 ")

out.println("</DIV></TD></TR>")

out.println("</TABLE>")

out.println("<BR>")

//这里是显示留言内容

if(!noResult){

String dname

String demail

String dcontent

String dtime

Date temptime

try{

do{

dname=new String(myrs.getString("Mname"))

demail=new String(myrs.getString("Memail"))

dcontent=new String(myrs.getString("Mcontent"))

try{

dtime=new String(myrs.getObject("Mtime").toString())

}

catch(java.lang.NullPointerException e){

dtime=new String("2001-04-06 12:30")

}

if(dname==null)

dname=new String("川石")

if(demail==null)

demail=new String("[email protected]")

if(dcontent==null)

dcontent=new String("test")

if(dtime==null)

dtime=new String("2001-04-06 12:30")

dname=convert(dname)

dcontent=convert(dcontent)

//temptime=myrs.getDate("Mtime")

/*

String tempyear=String.valueOf(temptime.getYear()+1900)

String tempmonth=String.valueOf(temptime.getMonth()+1)

if(tempmonth.length()==1)

tempmonth=new String("0"+tempmonth)

String tempdays=String.valueOf(temptime.getDate())

if(tempdays.length()==1)

tempdays=new String("0"+tempdays)

String tempminute=String.valueOf(temptime.getMinutes())

if(tempminute.length()==1)

tempminute=new String("0"+tempminute)

String temphours=String.valueOf(temptime.getHours())

if(temphours.length()==1)

temphours=new String("0"+temphours)

String dtime=tempyear+" 年 "+ tempmonth +" 月 "+ tempdays +" 日 " + temphours+ " 时 "+ tempminute + " 分 "

*/

out.println("<TABLE width="600" border="0" cellspacing="0" cellpadding="4" align="CENTER" class="mytext">")

out.println("<TR><TD>姓名 <A href="mailto:"+demail+"">"+dname+"</A>留言时间:"+dtime+"</TD></TR>")

out.println("<TR><TD height="10"></TD></TR>")

out.println("<TR><TD height="10">"+dcontent+"</TD></TR>")

out.println("</TABLE>")

out.println("<HR width="600" size="1">")

}while(myrs.next())}

catch(SQLException e){

out.println("error found")

}

}

else{

out.println("还没有留言!")

}

//结束

out.println("<FORM name="form1" method="post" action="guestbookServlet">")

out.println("<TABLE width="600" border="0" cellspacing="0" cellpadding="4" align="CENTER" class="mytext">")

out.println("<TR><TD width="80">姓名:</TD><TD><INPUT type="text" name="username">*</TD></TR>")

out.println("<TR><TD>Email:</TD><TD><INPUT type="text" name="email">*</TD></TR>")

out.println("<TR><TD>留言:</TD><TD><TEXTAREA name="ucontent" cols="65" rows="4"></TEXTAREA></TD></TR>")

out.println("</TABLE>")

out.println("<TABLE width="400" border="0" cellspacing="0" cellpadding="6" align="CENTER" class="mytext">")

out.println("<TR><TD height="15" width="200"></TD><TD></TD></TR>")

out.println("<TR><TD><DIV align="RIGHT"><INPUT type="button" name="Button" value=" 提 交 " style="cursor:hand" onclick="javascript:check()"></DIV></TD>")

out.println("<TD><INPUT type="reset" name="Submit2" value=" 重 置 "></TD></TR>")

out.println("</TABLE>")

out.println("</FORM>")

out.println("<TABLE width="400" border="0" cellspacing="0" cellpadding="4" align="CENTER" class="mytext">")

out.println("<TR><TD width="15"></TD></TR>")

out.println("<TR><TD><DIV align="LEFT"></DIV></TD></TR>")

out.println("<TR><TD></TD></TR>")

out.println("</TABLE>")

out.println("</BODY>")

out.println("</HTML>")

out.println("<SCRIPT language="javascript">")

out.println("function check(){")

out.println("if(form1.username.value.length<1||form1.ucontent.value.length<1)")

out.println("{alert(姓名和留言是必须有的!)}else{form1.submit()}}")

out.println("</SCRIPT>")

out.close()

}

/** Handles the HTTP <code>GET</code>method.

* @param request servlet request

* @param response servlet response

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, java.io.IOException {

processRequest(request, response)

}

/** Handles the HTTP <code>POST</code>method.

* @param request servlet request

* @param response servlet response

*/

protected void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, java.io.IOException {

processRequest(request, response)

}

protected void getDsnConn(){

String sqlUrl="jdbc:mysql://10.0.0.1/你申请用户名?user=你的名字&password=你的帐号"

try{

if(debug)

conn=DriverManager.getConnection("jdbc:odbc:ODBC源","用户名","密码口令")

else

conn=DriverManager.getConnection(sqlUrl)

}

catch(SQLException es){

System.err.println("和库连接时出错:"+es.getMessage())

}

}

protected void executeInsert(String sqlStr){

try{

Statement stmt=conn.createStatement()

stmt.executeUpdate(sqlStr)

}

catch(SQLException es){

System.err.println("执行插入时:"+es.getMessage())

}

}

protected void executeUpdate(String sqlStr){

try{

Statement stmt=conn.createStatement()

stmt.executeUpdate(sqlStr)

}

catch(SQLException e){

System.err.println("error in query record")

}

}

//查寻

protected ResultSet executeQuery(String sqlStr){

rs=null

try{

Statement stmt=conn.createStatement()

rs=stmt.executeQuery(sqlStr)

}

catch(SQLException ex){

System.err.println("执行查寻出错:"+ex.getMessage())

}

return rs

}

protected ResultSet executeScrollableQuery(String sqlStr){

rs=null

try{

Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)

rs=stmt.executeQuery(sqlStr)

}

catch(SQLException e){

System.err.println("执行动态查寻出错")

}

return rs

}

//得到表记录总数

protected int getRecordCount(String sTableName){

rs=null

int CountResult=0

String sqlStr="select count(*) from "+sTableName

try{

Statement stmt=conn.createStatement()

rs=stmt.executeQuery(sqlStr)

if(rs.next())

CountResult=rs.getInt(1)

rs=null

stmt.close()

}

catch(SQLException ex){

System.err.println(ex.getMessage())

}

return CountResult

}

//得到记录总页数

protected int getTotalPage(String sTableName,int iPageSize){

int totalPage

int totalRecNum=getRecordCount(sTableName)

if(totalRecNum%iPageSize==0)

totalPage=totalRecNum/iPageSize

else

totalPage=totalRecNum/iPageSize+1

return totalPage

}

protected String convert(String InputStr){

String converted=new String()

byte[] bytes

try{

bytes=InputStr.getBytes("ISO8859-1")

converted=new String(bytes,"GB2312")

}

catch(java.io.UnsupportedEncodingException e){

System.out.print("error")

}

return converted

}

/** Returns a short description of the servlet.

*/

public String getServletInfo() {

return "Short description"

}

}

您好。我重新地帮你写了代码,完全地符合了你的图片中的界面要求、功能要求。代码如下:(解决了问题,记得给我分哦~^_^呵呵……)

import java.awt.BorderLayout

import javax.swing.JPanel

import javax.swing.JFrame

import java.awt.Rectangle

import javax.swing.JLabel

import javax.swing.SwingConstants

import java.awt.Font

import javax.swing.JTextArea

import javax.swing.JScrollBar

import javax.swing.JScrollPane

import javax.swing.JComboBox

import javax.swing.JTextField

import javax.swing.JButton

public class Liuyb extends JFrame {

private static final long serialVersionUID = 1L

private JPanel jContentPane = null

private JLabel jLabel = null

private JTextArea jTextArea = null

private JScrollPane jScrollPane = null

private JLabel jLabel1 = null

private JComboBox jComboBox = null

private JLabel jLabel2 = null

private JTextField jTextField = null

private JButton jButton = null

private JButton jButton1 = null

private JButton jButton2 = null

private JButton jButton3 = null

/**

* This is the default constructor

*/

public Liuyb() {

super()

initialize()

}

/**

* This method initializes this

*

* @return void

*/

private void initialize() {

this.setContentPane(getJContentPane())

this.setTitle("留言板程序")

this.setBounds(new Rectangle(0, 0, 640, 480))

this.setVisible(true)

}

/**

* This method initializes jContentPane

*

* @return javax.swing.JPanel

*/

private JPanel getJContentPane() {

if (jContentPane == null) {

jLabel2 = new JLabel()

jLabel2.setBounds(new Rectangle(214, 407, 45, 24))

jLabel2.setFont(new Font("Dialog", Font.BOLD, 14))

jLabel2.setText("地说:")

jLabel1 = new JLabel()

jLabel1.setBounds(new Rectangle(32, 407, 15, 24))

jLabel1.setFont(new Font("Dialog", Font.BOLD, 14))

jLabel1.setText("你")

jLabel = new JLabel()

jLabel.setBounds(new Rectangle(283, 15, 45, 20))

jLabel.setHorizontalAlignment(SwingConstants.CENTER)

jLabel.setFont(new Font("Dialog", Font.BOLD, 14))

jLabel.setText("留言板")

jContentPane = new JPanel()

jContentPane.setLayout(null)

jContentPane.add(jLabel, null)

jContentPane.add(getJScrollPane(), null)

jContentPane.add(jLabel1, null)

jContentPane.add(getJComboBox(), null)

jContentPane.add(jLabel2, null)

jContentPane.add(getJTextField(), null)

jContentPane.add(getJButton(), null)

jContentPane.add(getJButton1(), null)

jContentPane.add(getJButton2(), null)

jContentPane.add(getJButton3(), null)

}

return jContentPane

}

/**

* This method initializes jTextArea

*

* @return javax.swing.JTextArea

*/

private JTextArea getJTextArea() {

if (jTextArea == null) {

jTextArea = new JTextArea()

jTextArea.setText("留言内容:")

jTextArea.setEditable(false)

}

return jTextArea

}

/**

* This method initializes jScrollPane

*

* @return javax.swing.JScrollPane

*/

private JScrollPane getJScrollPane() {

if (jScrollPane == null) {

jScrollPane = new JScrollPane()

jScrollPane.setBounds(new Rectangle(22, 49, 534, 347))

jScrollPane.setViewportView(getJTextArea())

}

return jScrollPane

}

/**

* This method initializes jComboBox

*

* @return javax.swing.JComboBox

*/

private JComboBox getJComboBox() {

if (jComboBox == null) {

jComboBox = new JComboBox()

jComboBox.setBounds(new Rectangle(54, 407, 149, 24))

String[] mycbox={"微笑","大笑","痛苦"}

jComboBox.addItem(mycbox[0])

jComboBox.addItem(mycbox[1])

jComboBox.addItem(mycbox[2])

}

return jComboBox

}

/**

* This method initializes jTextField

*

* @return javax.swing.JTextField

*/

private JTextField getJTextField() {

if (jTextField == null) {

jTextField = new JTextField()

jTextField.setBounds(new Rectangle(265, 407, 231, 24))

}

return jTextField

}

/**

* This method initializes jButton

*

* @return javax.swing.JButton

*/

private JButton getJButton() {

if (jButton == null) {

jButton = new JButton()

jButton.setBounds(new Rectangle(505, 407, 70, 24))

jButton.setText("提交")

jButton.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent e) {

jTextArea.setText(jTextArea.getText()+"\r\n"+"你"+jComboBox.getSelectedItem().toString()+"地说:"+jTextField.getText())

}

})

}

return jButton

}

/**

* This method initializes jButton1

*

* @return javax.swing.JButton

*/

private JButton getJButton1() {

if (jButton1 == null) {

jButton1 = new JButton()

jButton1.setBounds(new Rectangle(565, 51, 60, 32))

jButton1.setText("清屏")

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent e) {

jTextArea.setText("留言内容:")

}

})

}

return jButton1

}

/**

* This method initializes jButton2

*

* @return javax.swing.JButton

*/

private JButton getJButton2() {

if (jButton2 == null) {

jButton2 = new JButton()

jButton2.setBounds(new Rectangle(565, 112, 60, 32))

jButton2.setText("置顶")

jButton2.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent e) {

jTextArea.setCaretPosition(0)

}

})

}

return jButton2

}

/**

* This method initializes jButton3

*

* @return javax.swing.JButton

*/

private JButton getJButton3() {

if (jButton3 == null) {

jButton3 = new JButton()

jButton3.setBounds(new Rectangle(565, 173, 60, 32))

jButton3.setText("至尾")

jButton3.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent e) {

jTextArea.setCaretPosition((int)jTextArea.getText().length())

}

})

}

return jButton3

}

public static void main(String args[]){

new Liuyb()

}

}