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()
}
}
绝对开源,绝对明了的留言板,便于学习的源码用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"
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)