⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 新建 文本文档.txt

📁 JAVA写的留言板原代码
💻 TXT
字号:
/* 
* guestbookServlet.java 
* 
* Created on 2001年4月6日, 下午3:01 
*/ 

import javax.servlet.*; 
import javax.servlet.http.*; 
import java.sql.*; 
import java.util.Date; 
/** 
* 
* @author 吕武杰 
* 请尊重作者的劳动 
* @version 1.0 
*/ 
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/html;charset=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/html; charset=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:yf188@21cn.com">川石</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("yf188@21cn.com"); 
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">声明:这是川石利用国外免费JSP服务器开发的Servlet留言程序。应用JDBC连接mySQL数据库。</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"; 
} 

}  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -